{"_id":"@kb-labs/devkit","_rev":"143-0c2e5b0afd3aef02febc959db0a00715","name":"@kb-labs/devkit","dist-tags":{"candidate-platform-2.119.0-canary-8f939a290":"2.119.0-canary.8f939a290","candidate-platform-2.119.0-canary-0c078654e":"2.119.0-canary.0c078654e","candidate-platform-2.119.0-canary-ce846d079":"2.119.0-canary.ce846d079","candidate-platform-2.119.0-canary-62ffd5965":"2.119.0-canary.62ffd5965","candidate-platform-2.119.0-canary-1b2bf822b":"2.119.0-canary.1b2bf822b","candidate-platform-2.119.0-canary-602573533":"2.119.0-canary.602573533","candidate-platform-2.119.0-canary.0b4b21a55-canary-0b4b21a55066":"2.119.0-canary.0b4b21a55","candidate-platform-2.119.0-stable-30310c8f10a2":"2.119.0","candidate-platform-2.119.1-canary.b53bbee1d-canary-b53bbee1dd39":"2.119.1-canary.b53bbee1d","candidate-platform-2.119.1-canary.a6aa9b388-canary-a6aa9b38817f":"2.119.1-canary.a6aa9b388","candidate-platform-2.119.1-canary.57c3a1e5e-canary-57c3a1e5e072":"2.119.1-canary.57c3a1e5e","candidate-platform-2.119.1-canary.1e87213c2-canary-1e87213c240d":"2.119.1-canary.1e87213c2","candidate-platform-2.119.1-canary.ee03bc25d-canary-2":"2.119.1-canary.ee03bc25d","candidate-platform-2.119.1-canary.a73502f0d-canary-3":"2.119.1-canary.a73502f0d","candidate-platform-2.119.1-canary.e834e2cf9-canary-5":"2.119.1-canary.e834e2cf9","candidate-platform-2.119.1-canary.6a127adf8-canary-6":"2.119.1-canary.6a127adf8","candidate-platform-2.119.1-canary.c8f889b14-canary-c8f889b14fcb":"2.119.1-canary.c8f889b14","canary":"2.119.1-canary.c8f889b14","candidate-platform-2.120.0-canary.68fdd56fa-canary-68fdd56fa81b":"2.120.0-canary.68fdd56fa","candidate-platform-2.120.0-stable-dafff6e385f0":"2.120.0","latest":"2.120.1","candidate-platform-2.120.1-stable-80dd88880fc4":"2.120.1"},"versions":{"1.0.0":{"name":"@kb-labs/devkit","version":"1.0.0","license":"MIT","_id":"@kb-labs/devkit@1.0.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"dd06fd5aed856a530622443fb87552084b1ee8fb","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-1.0.0.tgz","fileCount":295,"integrity":"sha512-X17BALcYyoP9cZwcGJYLdMtK6+gpJRGzacNWLZSDgt4qa/ROFoXd5pCctkcU27FH1ut6SGToROJeMfDMmdnDZA==","signatures":[{"sig":"MEUCIQCwdmbz8fOgwBJO4A3CKm9bbGWZpeNAOmUWXCYCZ8IbYAIgHQ+Ujxy69TJS25wZsAferaYn2i1WwEWQQ/PZk6MVWYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":875948},"type":"module","_from":"file:kb-labs-devkit-1.0.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./cursorrules":"./.cursorrules","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./.vscode/settings.json":"./.vscode/settings.json","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"eslint . --ignore-pattern 'dist/**'","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"tsc --noEmit","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/e5d2583cae8c3a019743da18daf74965/kb-labs-devkit-1.0.0.tgz","_integrity":"sha512-X17BALcYyoP9cZwcGJYLdMtK6+gpJRGzacNWLZSDgt4qa/ROFoXd5pCctkcU27FH1ut6SGToROJeMfDMmdnDZA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"1.0.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_1.0.0_1771924852702_0.20323247111834308","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@kb-labs/devkit","version":"1.1.0","license":"MIT","_id":"@kb-labs/devkit@1.1.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"80f06af5694ae8199ef0f61b609a6d1102c68dab","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-1.1.0.tgz","fileCount":301,"integrity":"sha512-eC8KXKrkbn6nEtHIzkqQzfocheeHUsA8K5OCSRtzVJdN+suREehpNI5vh/3FKiZd7ds4fg1vfLN8fOwLXBV+pQ==","signatures":[{"sig":"MEQCICLBB7BarH1VuJrMZQMHVKtoAihChqnCrpKeulwb1xugAiBkLSIrrN/uXyDhT1GMEPAeWy1BGu8+KTqwdy7TY5zHFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888460},"type":"module","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./cursorrules":"./.cursorrules","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./.vscode/settings.json":"./.vscode/settings.json","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"gitHead":"30992bafae889eb56759f717512e90b958d25bc7","scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"link:./","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_1.1.0_1775476052787_0.3665388001781633","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@kb-labs/devkit","version":"1.2.0","license":"MIT","_id":"@kb-labs/devkit@1.2.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"627fcaa1ed5dd28faa674213e8f9a5c3988f4ce5","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-1.2.0.tgz","fileCount":301,"integrity":"sha512-90dZbBGeHle8krTyDxH+Blu8UzEvfCV/iJrF966w82VBX+5W9oWGvDxWQx6RNU06CODVwjhUZi5vHzhNWyfcCA==","signatures":[{"sig":"MEYCIQCzooQauVv0pPzqa3yS3dP5cTb/uwWAAmxO8jp7K97lOQIhAOHy70kWVgpxJep0/Xn1fndK9MuA+5RFut4HSnUYiuq8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888460},"type":"module","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./cursorrules":"./.cursorrules","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./.vscode/settings.json":"./.vscode/settings.json","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"gitHead":"3422c525fb49588260f09dd98ad2f73d56635b79","scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"link:./","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_1.2.0_1775477676005_0.21084185595372817","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@kb-labs/devkit","version":"1.3.0","license":"MIT","_id":"@kb-labs/devkit@1.3.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"f24f67f45d8eca17a3a0788de5d39a5e4424984a","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-1.3.0.tgz","fileCount":301,"integrity":"sha512-VoaO5R8rtHxUstMYBKA7RL8aTvAVO1Hyn0r8/YmIFWIItEezWvQFGMTL9JhlKAmXIEjYOltbWYcd0S4QFnhWKQ==","signatures":[{"sig":"MEUCICXQ0ruoJiZq35/omhlcj+NAvgv6IFHCxX6b6V01omhyAiEAh7/do+3uExuDNW9s6qQkgcYaCwmLqckJmiknmeIGbXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888460},"type":"module","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./cursorrules":"./.cursorrules","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./.vscode/settings.json":"./.vscode/settings.json","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"gitHead":"29052be32f53e6a2f4aec37f4bc51d657ecc172c","scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"link:./","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_1.3.0_1775488803895_0.9824927837423885","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@kb-labs/devkit","version":"1.4.0","license":"MIT","_id":"@kb-labs/devkit@1.4.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"6834510ed93a94b604d3b8911d781118b92507e9","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-1.4.0.tgz","fileCount":301,"integrity":"sha512-AE4ALkIVcf6swoatkbiV8fgACRBjXZIrPY9ItN4CqoP0OYRIe09hrI2kERw1cqBYobM0kxD1VaMskhSNaKvSZA==","signatures":[{"sig":"MEUCIQDfg3hgZB0PZkKMgfiAJRt3PR7sv7Ixfikm8oBpR6iMygIgY7LR5OZENpkvpfT6FZJDSmGipkcpAf8Vf183/PapapQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888460},"type":"module","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./cursorrules":"./.cursorrules","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./.vscode/settings.json":"./.vscode/settings.json","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"gitHead":"21d9f3ce0180690b47885210831403a7f2a6d3e0","scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"link:./","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_1.4.0_1775491637004_0.3631774132980765","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@kb-labs/devkit","version":"2.6.0","license":"MIT","_id":"@kb-labs/devkit@2.6.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"76cda1efeeb05c84f70fd5ad7350acf3c37b4af3","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.6.0.tgz","fileCount":91,"integrity":"sha512-J0QE0CL1KnMzcGH8H9vV9DqBwQUW69T53EFrl5zIG/EYsLyHUEy5h9L1efpMAxNZYCCNR/9g15DQypRDc29eUQ==","signatures":[{"sig":"MEQCIFrBwz1U1giUG8Re60T45SOsjDlQUV4UM5EG8c4T0dOGAiA/pifEoxulhp89mfUEWiWVWQ8nHdn+XjHp1a4NKaqP3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587204},"type":"module","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"gitHead":"b19d4e2a767bb809d8fbdfc6b2055d8e9f376ad8","scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.6.0_1775922074980_0.44239395595142894","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@kb-labs/devkit","version":"2.9.0","license":"MIT","_id":"@kb-labs/devkit@2.9.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"3659672d1d9cd90b194810b4d51ff0b1a894979c","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.9.0.tgz","fileCount":91,"integrity":"sha512-y5Nx5mz6cz8PWqTD+K5TmMLFR4SRWP2BREVL2RaJfWgAIsBsQVIxjWhI7wOpr6IwpkxEVgcwLptlSEYqt5VcAQ==","signatures":[{"sig":"MEQCIDbpdBbeLDZl4jFM/8IzpyjV0oPQr+ez1zLh+k2MUQ9NAiAArLzZLp6uOe1A5hSzngReKarLs2niBq6lJNkwYm2LBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587026},"type":"module","_from":"file:kb-labs-devkit-2.9.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/341c820cb6cf6d15c85bdc64dce42ac6/kb-labs-devkit-2.9.0.tgz","_integrity":"sha512-y5Nx5mz6cz8PWqTD+K5TmMLFR4SRWP2BREVL2RaJfWgAIsBsQVIxjWhI7wOpr6IwpkxEVgcwLptlSEYqt5VcAQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.9.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.9.0_1775931910673_0.18941401589714757","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@kb-labs/devkit","version":"2.10.0","license":"MIT","_id":"@kb-labs/devkit@2.10.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ca410c0293daabb224fd277098bc4185fbb94d58","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.10.0.tgz","fileCount":91,"integrity":"sha512-MODycLznvzjPwDdfekqiv1V4rM8UVkLi5FAw2O/18UNVkWcFaKghH/136iFqk1p535md6t48OURuti8W8PpviQ==","signatures":[{"sig":"MEYCIQDgiY/PSf1Sx/oj6VX+ZOX/VNTKb3+2T9XoQoHZk6K6LwIhAMLuG1DKqQdBDqx6JM9FBjy8Gt6vAIB18iK2/KWFhff4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.10.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/cf07999402d006a48a1b96d415f5468e/kb-labs-devkit-2.10.0.tgz","_integrity":"sha512-MODycLznvzjPwDdfekqiv1V4rM8UVkLi5FAw2O/18UNVkWcFaKghH/136iFqk1p535md6t48OURuti8W8PpviQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.10.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.10.0_1775933894577_0.630058864641889","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@kb-labs/devkit","version":"2.11.0","license":"MIT","_id":"@kb-labs/devkit@2.11.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e70bb7f84efd2de4362709073883b2d358e1bc62","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.11.0.tgz","fileCount":91,"integrity":"sha512-XMFCUEO/uP0iWDxcdNNNcANAmOcGcrpA8qt8jhuGWrTf6AK1YOgSqZMsiGBONPuC+RrjF4/A4qVm09IHg5kd+A==","signatures":[{"sig":"MEYCIQCCQnz7zABmA/RBTEd/RAmjCCUthqAcIWxYsFTsoXOenAIhAJet4WIhvbGiuUcJL9Vb2AIf5zuLH1LCpFilHWZjGSo8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.11.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/c7ff07ef8676a644b24f62c570239446/kb-labs-devkit-2.11.0.tgz","_integrity":"sha512-XMFCUEO/uP0iWDxcdNNNcANAmOcGcrpA8qt8jhuGWrTf6AK1YOgSqZMsiGBONPuC+RrjF4/A4qVm09IHg5kd+A==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.11.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.11.0_1775935633169_0.7849363752837808","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@kb-labs/devkit","version":"2.12.0","license":"MIT","_id":"@kb-labs/devkit@2.12.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"b63eb62398c9a64daf5b18be397202436c7995cb","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.12.0.tgz","fileCount":91,"integrity":"sha512-5NJQGgoWJ8mmSBcaSi3ewmXytD+xqE8re0iB3WCWveQvCF9a4ItLAe4OHMCYMwgARKNvokHJ7KIxMyv2oC88Lw==","signatures":[{"sig":"MEUCIQD7tDDjwVWINZkqRbHHFxs+UvHcj1erYa0tDDJ2WcTOHQIgS0tH1QwNhpOBq1P/zL9xO1h5szCK+J6AVJ7bPJ1ABu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.12.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/35e5cf2d281ca7b2d9f082928d9a3b3d/kb-labs-devkit-2.12.0.tgz","_integrity":"sha512-5NJQGgoWJ8mmSBcaSi3ewmXytD+xqE8re0iB3WCWveQvCF9a4ItLAe4OHMCYMwgARKNvokHJ7KIxMyv2oC88Lw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.12.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.12.0_1775937855520_0.5637654928634153","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@kb-labs/devkit","version":"2.13.0","license":"MIT","_id":"@kb-labs/devkit@2.13.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"bff4e7653a4b50a8b6177fab22e7e622af47287b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.13.0.tgz","fileCount":91,"integrity":"sha512-a8BKIEUUW0cUCv1WdGaUpONc5MY0QPyJWhLOW99luOqkCtAD8Rb9cBgPXIWvNRdF5nxD1FxzTegnu3B5STAaJQ==","signatures":[{"sig":"MEYCIQD1IUEN+0b6kxnLfVonGdjoUw/aARB3ODZ3loBctHYEkQIhANKCHADhaKfGAym9G3N2k7/S43IqDb5o50/cTy9Bk4Ef","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.13.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/f9a9a98329ab1b54ff4f4600bcffacc1/kb-labs-devkit-2.13.0.tgz","_integrity":"sha512-a8BKIEUUW0cUCv1WdGaUpONc5MY0QPyJWhLOW99luOqkCtAD8Rb9cBgPXIWvNRdF5nxD1FxzTegnu3B5STAaJQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.13.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.13.0_1775939094271_0.10301607999809348","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"@kb-labs/devkit","version":"2.14.0","license":"MIT","_id":"@kb-labs/devkit@2.14.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"0078472d2883c14bc3c702dd284c4be6e3980b02","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.14.0.tgz","fileCount":91,"integrity":"sha512-PYobg1DfFaJt+FGcE8sWmNIb0YlSYefQoRMwa3b7vTahb6fzeFnj294hQEsxh7Ag3ItRnGNcBaU3Fcr6y3fiCA==","signatures":[{"sig":"MEQCIBcy+yGK2ovxdbqLmCx9AylfYgEqierMojVplXhkWyNZAiBieo6jW90YP7oSCHa2nPKxKnyK8ih4vEUa9yG2IWafhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.14.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/2fdff5ec5389e473d1166b7c30d2ba38/kb-labs-devkit-2.14.0.tgz","_integrity":"sha512-PYobg1DfFaJt+FGcE8sWmNIb0YlSYefQoRMwa3b7vTahb6fzeFnj294hQEsxh7Ag3ItRnGNcBaU3Fcr6y3fiCA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.14.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.14.0_1775988094685_0.5242921987490945","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"@kb-labs/devkit","version":"2.15.0","license":"MIT","_id":"@kb-labs/devkit@2.15.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e8fc1f3765f87835e0552e6f40f75329f78503ce","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.15.0.tgz","fileCount":91,"integrity":"sha512-ZxrsJqeUZ2nNCTXUrXDQ9bW/p+BTpWH2mZjjgxWbzZUFgmx7wT8CN0PIcayw5/cJRdhjgNaQ2E9UQ+Ak+Zw+Jw==","signatures":[{"sig":"MEQCIAVLnQaxWsEJ4ZHHbhg3clYwiww87j7YYqVQcxkRC6MWAiBghfZkyZBV7taXFhakmUZTPUkmEylxtmmg8i8O/g8FcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.15.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/e485af8e1c0efaff6e9ea9f4cc952456/kb-labs-devkit-2.15.0.tgz","_integrity":"sha512-ZxrsJqeUZ2nNCTXUrXDQ9bW/p+BTpWH2mZjjgxWbzZUFgmx7wT8CN0PIcayw5/cJRdhjgNaQ2E9UQ+Ak+Zw+Jw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.15.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.15.0_1776024330083_0.7733631734815838","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"@kb-labs/devkit","version":"2.16.0","license":"MIT","_id":"@kb-labs/devkit@2.16.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d1dcb93a15310a65cbc21a88d27d19721c8a0084","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.16.0.tgz","fileCount":91,"integrity":"sha512-DTBgkgoobC3FvBFhtVl9JecZd2eIBAIQdjg8oxedM8DIDVUheejsGtIoLRpt+Sz0W7zcoS25Qo5sEo+a7+aNug==","signatures":[{"sig":"MEUCIQDdP1DbejUSTd+UUfhpT4clJDFT9SQVQe1k3JezLnkmRQIgAo5CTM2hOgTRKadmiXeN9ykT45EXXKVZIP4D4eGGan0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.16.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/f7f1afe8eb2721871e4438b0195806ea/kb-labs-devkit-2.16.0.tgz","_integrity":"sha512-DTBgkgoobC3FvBFhtVl9JecZd2eIBAIQdjg8oxedM8DIDVUheejsGtIoLRpt+Sz0W7zcoS25Qo5sEo+a7+aNug==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.16.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.16.0_1776086733798_0.2584104294983327","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"@kb-labs/devkit","version":"2.17.0","license":"MIT","_id":"@kb-labs/devkit@2.17.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ffc234fb087ac4ad749e1b277f7dfd0b856dafdd","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.17.0.tgz","fileCount":91,"integrity":"sha512-PhhOiLgMn3Ex31wlHC529Y4JEBpX6ql04UPgAbIzKhhTNewvgOSi3+QpWKHxGCcV3xKcqgYW3hwPfZYaitd8eA==","signatures":[{"sig":"MEUCICLkJLMUXrS9BT/QpXWtV5R83E3cmppx/qR02PR0bf34AiEA4n9MJeuz3yu5i7dsaPGZVj07egVR+37oIu0PAgnFTeo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.17.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/80db1246cc80eed129395324de0e210d/kb-labs-devkit-2.17.0.tgz","_integrity":"sha512-PhhOiLgMn3Ex31wlHC529Y4JEBpX6ql04UPgAbIzKhhTNewvgOSi3+QpWKHxGCcV3xKcqgYW3hwPfZYaitd8eA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.17.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.17.0_1776089788364_0.3578306159186473","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"@kb-labs/devkit","version":"2.18.0","license":"MIT","_id":"@kb-labs/devkit@2.18.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d6c2f92807fcc43c75f8cc91722bd30c0bffca30","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.18.0.tgz","fileCount":91,"integrity":"sha512-P3hDSZC4Z5ydUpWBr7DUapF5T+vFoenOKkcD+AOX/0u0+Dhal+yG/5FrKHivT/AyEHZ1n8dYTbuukQ6d4eQnTw==","signatures":[{"sig":"MEQCIDwXBUDZPFaicc6noWfaqhIvKHA1Mz9U8q5NO2QWX8PCAiB97DIr20HV21dlIDFh7MF7xSXIpQhTsyZdOJ1WrpM9Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.18.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/38a3cf0b5c39c88c4d1b71446b7190ca/kb-labs-devkit-2.18.0.tgz","_integrity":"sha512-P3hDSZC4Z5ydUpWBr7DUapF5T+vFoenOKkcD+AOX/0u0+Dhal+yG/5FrKHivT/AyEHZ1n8dYTbuukQ6d4eQnTw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.18.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.18.0_1776090854535_0.9718840186092139","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"@kb-labs/devkit","version":"2.19.0","license":"MIT","_id":"@kb-labs/devkit@2.19.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c34cd214f25dfc3165bd13db122a2eed8bd3f456","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.19.0.tgz","fileCount":91,"integrity":"sha512-9UtGsgJSxFDeV9VwhwywOG3Ei/SADW7vu8nP27O80auCuWtgR59fBJjbzYRkHQxy3JN0gdF9ztDC2F7KG60SFQ==","signatures":[{"sig":"MEUCIDNzn1dwC8jkvlNAaen67CS5S/RNj0aMhfLFLcJ4YwcVAiEAva9o93i8cLfoLWAGXW/gNyfS3jyP5Csu70adzea+Tto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.19.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/7cea8b5c157124fa7ebc5c78ae9633ae/kb-labs-devkit-2.19.0.tgz","_integrity":"sha512-9UtGsgJSxFDeV9VwhwywOG3Ei/SADW7vu8nP27O80auCuWtgR59fBJjbzYRkHQxy3JN0gdF9ztDC2F7KG60SFQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.19.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.19.0_1776094095882_0.8773808471427647","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"@kb-labs/devkit","version":"2.20.0","license":"MIT","_id":"@kb-labs/devkit@2.20.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d3ea67912c72f6ed988e89c31473c8fd3a702863","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.20.0.tgz","fileCount":91,"integrity":"sha512-o+TL9Poy+zo2jg/5QjIcDB8Dl/Zq51IWhuXrew4h8q0jUymmwbR3pF5ydmZTcLLijycEWHvxHb6/cL8JM/b5yw==","signatures":[{"sig":"MEYCIQDVgRYRVwrn1pIIYnwErVMpLJ3F4b5Gdz1Db1C25t79fAIhANYpeWeU4XdPXJ6YBMfoqbfesdZA2NIa2BSW1023LUb3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.20.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/d57d3a507e5e87f03c5e3132286a5a4c/kb-labs-devkit-2.20.0.tgz","_integrity":"sha512-o+TL9Poy+zo2jg/5QjIcDB8Dl/Zq51IWhuXrew4h8q0jUymmwbR3pF5ydmZTcLLijycEWHvxHb6/cL8JM/b5yw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.20.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.20.0_1776113861567_0.7502524518413376","host":"s3://npm-registry-packages-npm-production"}},"2.22.0":{"name":"@kb-labs/devkit","version":"2.22.0","license":"MIT","_id":"@kb-labs/devkit@2.22.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"845145790792a945789238feba0d774dd51eb9cb","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.22.0.tgz","fileCount":91,"integrity":"sha512-HDn+mQiS0dL6EFlePE+x+jI1XLCS5mJy8ldWVLHSKdCsySC04waqoMy+fb99bsYD/4NxJo9iENnj6lhovs4MtQ==","signatures":[{"sig":"MEUCIE07ChZxFFbQm3ckAqOSARAFMlnxi+qD8F0/I8f/ueshAiEAtthNSdrQtMwE4RrGwiC4YeE/3DDmAeFEh/zU1NAuK58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.22.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/98ea6570ca537057e82002d0033373b9/kb-labs-devkit-2.22.0.tgz","_integrity":"sha512-HDn+mQiS0dL6EFlePE+x+jI1XLCS5mJy8ldWVLHSKdCsySC04waqoMy+fb99bsYD/4NxJo9iENnj6lhovs4MtQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.22.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.22.0_1776158732909_0.47864086379402115","host":"s3://npm-registry-packages-npm-production"}},"2.23.0":{"name":"@kb-labs/devkit","version":"2.23.0","license":"MIT","_id":"@kb-labs/devkit@2.23.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"8a38704e5741d8cfb1c167d591e926761ed72404","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.23.0.tgz","fileCount":91,"integrity":"sha512-91+RvoJaudErjykNV4HuTNJ9pqmTRlj3G/aPCsU2thgI7Aoq3UWpg6n8NlI0lR5TVWgchiy4nHleCAaeb5NZYw==","signatures":[{"sig":"MEUCIQC/XaaFQcu7ip0EXJfBKNWtJMPZeTzANptpS3Vb0erANQIgaVO1NiiJT0ZCYGfeD47vF/obMVVUAFS9sqFRaB6QW60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.23.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/4d4b580767a4bf25cf1dca88edc911d0/kb-labs-devkit-2.23.0.tgz","_integrity":"sha512-91+RvoJaudErjykNV4HuTNJ9pqmTRlj3G/aPCsU2thgI7Aoq3UWpg6n8NlI0lR5TVWgchiy4nHleCAaeb5NZYw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.23.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.23.0_1776159428183_0.7501520954576826","host":"s3://npm-registry-packages-npm-production"}},"2.25.0":{"name":"@kb-labs/devkit","version":"2.25.0","license":"MIT","_id":"@kb-labs/devkit@2.25.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e0b80bcda923b133b0695c795382cb9f1f50d68c","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.25.0.tgz","fileCount":91,"integrity":"sha512-gwOpOre5f4ULvXWKJr6JmdAk8feam00bZaYc79O4iffTnMPe3vZjXT8+tY14VoE8Otn5SXKy/SEPzQBX0Gzg0g==","signatures":[{"sig":"MEQCIHgzO3iQaWf8RRdChsxeIHxosT069XVWt2/Q/O7nE1fiAiAfl8nY+xxWKT1wapASKPzUBpUkfEHKlE//fSjr7QHweQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.25.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/4df9ac9073b2c9025f88f78fe8b0febc/kb-labs-devkit-2.25.0.tgz","_integrity":"sha512-gwOpOre5f4ULvXWKJr6JmdAk8feam00bZaYc79O4iffTnMPe3vZjXT8+tY14VoE8Otn5SXKy/SEPzQBX0Gzg0g==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.25.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.25.0_1776163859197_0.60273940729071","host":"s3://npm-registry-packages-npm-production"}},"2.28.0":{"name":"@kb-labs/devkit","version":"2.28.0","license":"MIT","_id":"@kb-labs/devkit@2.28.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"aaf0d4310b45a66d4df8b4f3d854350cb584c400","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.28.0.tgz","fileCount":91,"integrity":"sha512-Rn7Xbs7iLRYGpy0UuZyjn0xFIAgHZcNApuPhcMtl62gL2E+eYmIj+wqYXlSw29HDJs9JSgtN1X+7SwnBmawSMQ==","signatures":[{"sig":"MEUCIHsnSq20Jgo4gY5xNpeVYfHwsGinnV2+i33XnGNRNXhoAiEAz13Bh9M9CVZ/pplc5kfm3kgZSeooWCwnz4f+JuSUMCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.28.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/5e5a5d99c4eebfc4693285abe0c7d571/kb-labs-devkit-2.28.0.tgz","_integrity":"sha512-Rn7Xbs7iLRYGpy0UuZyjn0xFIAgHZcNApuPhcMtl62gL2E+eYmIj+wqYXlSw29HDJs9JSgtN1X+7SwnBmawSMQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.28.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.28.0_1776170184806_0.713454671786315","host":"s3://npm-registry-packages-npm-production"}},"2.29.0":{"name":"@kb-labs/devkit","version":"2.29.0","license":"MIT","_id":"@kb-labs/devkit@2.29.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"3dcd5a304ebdb3db9fa77ef41af4c287674b0c5d","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.29.0.tgz","fileCount":91,"integrity":"sha512-kiNrP8J10BZhnallw11b06pPK7nmAFncVBajyCH48otKrMiAGwuODrBvzIgI17l2ad6umZwibZz862F6Fn2X5Q==","signatures":[{"sig":"MEUCIBlOq6VqjG8Cd8r/p838ssXy2dcsq4dL34v1ktUNmO5EAiEA4WXSwtDFj97syda16QJxg2zKQx/ysRDkRzhtou0AU9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.29.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/1209e7225fb55e59b4c1a0db44353d64/kb-labs-devkit-2.29.0.tgz","_integrity":"sha512-kiNrP8J10BZhnallw11b06pPK7nmAFncVBajyCH48otKrMiAGwuODrBvzIgI17l2ad6umZwibZz862F6Fn2X5Q==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.29.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.29.0_1776186545966_0.44858460091517016","host":"s3://npm-registry-packages-npm-production"}},"2.30.0":{"name":"@kb-labs/devkit","version":"2.30.0","license":"MIT","_id":"@kb-labs/devkit@2.30.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"2bf582086eaf26b9692be692cda07aa5609e1fb9","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.30.0.tgz","fileCount":91,"integrity":"sha512-0zlRhSXpvwPBzcgUGyzNQzuYonrozfai1iiFRRBf1EU9B+kAZV5iwUFihyRhuPmKQlHu1Pc1oQ16kVz+NWsEdQ==","signatures":[{"sig":"MEYCIQC3sI846xeUU1xnFO96zhnOC3bxCvB1q96kHXqo27jqsgIhAMRYK9FqbNniXJwXIcUXJwzZCXpdPbfXTMeKRHQYA06l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587028},"type":"module","_from":"file:kb-labs-devkit-2.30.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/9f0637986e409d0cee3c255363004413/kb-labs-devkit-2.30.0.tgz","_integrity":"sha512-0zlRhSXpvwPBzcgUGyzNQzuYonrozfai1iiFRRBf1EU9B+kAZV5iwUFihyRhuPmKQlHu1Pc1oQ16kVz+NWsEdQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.30.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"3.2.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.30.0_1776191510661_0.9645122967310462","host":"s3://npm-registry-packages-npm-production"}},"2.31.0":{"name":"@kb-labs/devkit","version":"2.31.0","license":"MIT","_id":"@kb-labs/devkit@2.31.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e9da96f9de1506cba1b021b021a67d2f6c817500","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.31.0.tgz","fileCount":91,"integrity":"sha512-RrafXDgi4XOdRPzh84UKXpqPbF0LEl06HnDtG1XzeIlOYULnexQjmKFjsb30jO4OQnNoYPIIrOIw0eEWowOxTg==","signatures":[{"sig":"MEUCIQCXy10omnNGxnlArc8qRottQn+fkLDWqCbA/8xL3xhpwwIgadsNgMEDRwR/aI5PciJs5I2FfgDPlZ2Hzr7WGqgkGTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587029},"type":"module","_from":"file:kb-labs-devkit-2.31.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/b244d1f4c86c9507629109985b928451/kb-labs-devkit-2.31.0.tgz","_integrity":"sha512-RrafXDgi4XOdRPzh84UKXpqPbF0LEl06HnDtG1XzeIlOYULnexQjmKFjsb30jO4OQnNoYPIIrOIw0eEWowOxTg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.31.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.31.0_1776194677332_0.11654461768276425","host":"s3://npm-registry-packages-npm-production"}},"2.32.0":{"name":"@kb-labs/devkit","version":"2.32.0","license":"MIT","_id":"@kb-labs/devkit@2.32.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"03e0d1541e6c4928fbb5aaefe60283a98d14c007","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.32.0.tgz","fileCount":91,"integrity":"sha512-GxXflMb3UH1gP/1cqzvmH/Ct8edkAQfL04JLbbWHLySl7GITu+C1YXlDn9CmyEZji/dxIlnd50rBBtQm9M3Scg==","signatures":[{"sig":"MEQCIBZ9l/utQqbRQQTOvHtlQOakAvOMIC21xmRxwqjeoDfbAiBPMFnYAEsfRvsVDloa9m3dBx547A+MVwKKkm9CFp1vCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587029},"type":"module","_from":"file:kb-labs-devkit-2.32.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/9f091a4866487ad9e414a8448cf74f84/kb-labs-devkit-2.32.0.tgz","_integrity":"sha512-GxXflMb3UH1gP/1cqzvmH/Ct8edkAQfL04JLbbWHLySl7GITu+C1YXlDn9CmyEZji/dxIlnd50rBBtQm9M3Scg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.32.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.32.0_1776201115510_0.6196196503789964","host":"s3://npm-registry-packages-npm-production"}},"2.33.0":{"name":"@kb-labs/devkit","version":"2.33.0","license":"MIT","_id":"@kb-labs/devkit@2.33.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"56ccd945f2931271846972a37aa68f209ad1e949","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.33.0.tgz","fileCount":91,"integrity":"sha512-64ENU+we4Tz/tJQrE7I+EUlLB029hblz3ymJYv7O90NiEa9j2CubX5rDdS5LlWHrRCN07bcWHguLnskrGiTiVg==","signatures":[{"sig":"MEUCIQCH5xvNWMiicVZTT7aq5qjMKfcEHBb9bIpMuR5RFj3BUgIgDA2PU8yVBB2wlOdp/lWyDpx/miAlwX7iWQtvPEfjAr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587029},"type":"module","_from":"file:kb-labs-devkit-2.33.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/df4261ef9dd65f4fe53e9d563b1539a6/kb-labs-devkit-2.33.0.tgz","_integrity":"sha512-64ENU+we4Tz/tJQrE7I+EUlLB029hblz3ymJYv7O90NiEa9j2CubX5rDdS5LlWHrRCN07bcWHguLnskrGiTiVg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.33.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.33.0_1776202368880_0.5639131144746774","host":"s3://npm-registry-packages-npm-production"}},"2.34.0":{"name":"@kb-labs/devkit","version":"2.34.0","license":"MIT","_id":"@kb-labs/devkit@2.34.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c71ebbfc305df538832e47809af65a03e7e9960d","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.34.0.tgz","fileCount":91,"integrity":"sha512-P544diVJ9w+Rny1a3imkggl5MPbrkJUalbzePfRocXHRK6ISLE0E65dNwvvNrwa/LNG+8Kegxf86k4JSUUdRlw==","signatures":[{"sig":"MEYCIQCpWvohx/oAHLUWMx2xa+8ORh5LiqbFRn2BzX4Jj07p9gIhANN5wsWzCG1dhmVY8V0eM5BBXRAHz4DrwkPPRiD+2tgY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587029},"type":"module","_from":"file:kb-labs-devkit-2.34.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/c5047f6bde9e4557a42a5b7cc2b81458/kb-labs-devkit-2.34.0.tgz","_integrity":"sha512-P544diVJ9w+Rny1a3imkggl5MPbrkJUalbzePfRocXHRK6ISLE0E65dNwvvNrwa/LNG+8Kegxf86k4JSUUdRlw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.34.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.34.0_1776204620701_0.2023955598372158","host":"s3://npm-registry-packages-npm-production"}},"2.35.0":{"name":"@kb-labs/devkit","version":"2.35.0","license":"MIT","_id":"@kb-labs/devkit@2.35.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"7713dbad5d2d7a41bda8c27eb0ebed4c7bea357b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.35.0.tgz","fileCount":91,"integrity":"sha512-Xh/kKnCbB7BVf9uSu8nddBv6pylNcSVXrPnH5W7DEPsqOktkTunc/IRUJoSzVRxz/spKywlUyF1x56YKNfK12w==","signatures":[{"sig":"MEYCIQDVGdQO8WEgRUVZ7Pj9ihPXnCo1qlOs6AUxYwgYNn6Q2QIhAJfIt32AydnhNu5yPT4W29MwM4LA5afq1Rtp6+AXtgg7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.35.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/9878136992ac8fcffc38bab2b94c7ede/kb-labs-devkit-2.35.0.tgz","_integrity":"sha512-Xh/kKnCbB7BVf9uSu8nddBv6pylNcSVXrPnH5W7DEPsqOktkTunc/IRUJoSzVRxz/spKywlUyF1x56YKNfK12w==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.35.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.35.0_1776240512030_0.2578265736555687","host":"s3://npm-registry-packages-npm-production"}},"2.36.0":{"name":"@kb-labs/devkit","version":"2.36.0","license":"MIT","_id":"@kb-labs/devkit@2.36.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"604ecf0f3b124c79c35a10ae368a4bc798a0f669","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.36.0.tgz","fileCount":91,"integrity":"sha512-2M8ymrwNCoa1LdpUj1r3W9qZrQPobHOzLP+uwt65wAm9DJDnnNmv1tcxhUkLEck4KzKZ87TBdlYi5nwAp1P2BQ==","signatures":[{"sig":"MEUCIAbDtoYgRYn3KobYBSdJZh1tK4ybdOfAmlttW/2Qgx4lAiEA3408JCadaXExe75QS+JGiu3jliOL2MG31Xk90LvaVbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.36.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/9fa50d86b638899a6b572fd43d17a5d8/kb-labs-devkit-2.36.0.tgz","_integrity":"sha512-2M8ymrwNCoa1LdpUj1r3W9qZrQPobHOzLP+uwt65wAm9DJDnnNmv1tcxhUkLEck4KzKZ87TBdlYi5nwAp1P2BQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.36.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.36.0_1776275766882_0.8793317802399527","host":"s3://npm-registry-packages-npm-production"}},"2.37.0":{"name":"@kb-labs/devkit","version":"2.37.0","license":"MIT","_id":"@kb-labs/devkit@2.37.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"3a40c43452c15a4e13b8cf1b3cf00a1e47be8972","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.37.0.tgz","fileCount":91,"integrity":"sha512-oYAB6GT6YJ5er3IiKh166e3Yzaro5FAORKvuHhikspybUkhDwJiKkdJBHtkkJgcEkQfAlMg6rmyjNIXj7gKEDQ==","signatures":[{"sig":"MEQCIHVUBHOYZYrfwzOaQq2uX/XPkEht5/MeTHkU2aMDwa2OAiBif19MxIYUfs2ovXwEi9CZlFnwQ6a9Rz3lA4EzNiq96A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.37.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/4151dd1c1bfeb0fee9403d4c7ccfbfa6/kb-labs-devkit-2.37.0.tgz","_integrity":"sha512-oYAB6GT6YJ5er3IiKh166e3Yzaro5FAORKvuHhikspybUkhDwJiKkdJBHtkkJgcEkQfAlMg6rmyjNIXj7gKEDQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.37.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.37.0_1776326549501_0.7693126884891226","host":"s3://npm-registry-packages-npm-production"}},"2.38.0":{"name":"@kb-labs/devkit","version":"2.38.0","license":"MIT","_id":"@kb-labs/devkit@2.38.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"f8ccc8a5640c5866cb08e3e6f1a7149bcd683611","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.38.0.tgz","fileCount":91,"integrity":"sha512-ZmfBrji6NIxXG4N0gURXUtQLBJL8fd/9rMh5ezMHkMh6Eblx9UYHYVhyE1dmdH/nZdG84dW7RFigJMlDpnh1Tg==","signatures":[{"sig":"MEYCIQC0g0GW9Yv4EA/TGRh8Wt3eKqRpI26zBnWhze+8HU7wxwIhAOLV2GpDqpflD6UMmerIpPgwq/lxK00YA1UnuJYvSSel","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.38.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/1d7683a47cc0e39698aae0e9e0855e18/kb-labs-devkit-2.38.0.tgz","_integrity":"sha512-ZmfBrji6NIxXG4N0gURXUtQLBJL8fd/9rMh5ezMHkMh6Eblx9UYHYVhyE1dmdH/nZdG84dW7RFigJMlDpnh1Tg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.38.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.38.0_1776330706894_0.736620170081101","host":"s3://npm-registry-packages-npm-production"}},"2.39.0":{"name":"@kb-labs/devkit","version":"2.39.0","license":"MIT","_id":"@kb-labs/devkit@2.39.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"7451ff1dde50e2688a9414c07a1fceaaf8ca98c2","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.39.0.tgz","fileCount":91,"integrity":"sha512-C2OgKKiL/UyOmdAJ2vaeAYh3nieSASnSM11HYJz98A4KqXpqMGnpPR+21J8RVp5mFExNZICMPummyZnBO8djIQ==","signatures":[{"sig":"MEQCIAVYuT6aTWQ/3G2l2g1GL+qxm7/U35EN1xnbVhZneBBWAiBc0w44Y1KJVRog7fjxzaOo3bzyHbDEt/l0T+3hOMlNOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.39.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/73f4cc3abcf06a847d8d98151ef8fef7/kb-labs-devkit-2.39.0.tgz","_integrity":"sha512-C2OgKKiL/UyOmdAJ2vaeAYh3nieSASnSM11HYJz98A4KqXpqMGnpPR+21J8RVp5mFExNZICMPummyZnBO8djIQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.39.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.39.0_1776356368767_0.7799185909634112","host":"s3://npm-registry-packages-npm-production"}},"2.40.0":{"name":"@kb-labs/devkit","version":"2.40.0","license":"MIT","_id":"@kb-labs/devkit@2.40.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"8af0dbc5ec3807824f840cd9cc748fc8386f005c","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.40.0.tgz","fileCount":91,"integrity":"sha512-zaUw92Sf2Ybss0doPmjOnaJOC8Py9wHmWz57/DNH44sowgdYCzTVPyHfu9Sx+P6nwWcNzRgfZY71+EPZekvlQA==","signatures":[{"sig":"MEQCICvDUuWkzLk+3nmsrt1JPVh7r1JjQ7ccHo2yzYClaJz0AiBFVpLiMXIoNhv+9t+U+l50azXwY8Q47a4BW/XPw78xvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.40.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/315b93667ce343f2d110e0d2222dc7e5/kb-labs-devkit-2.40.0.tgz","_integrity":"sha512-zaUw92Sf2Ybss0doPmjOnaJOC8Py9wHmWz57/DNH44sowgdYCzTVPyHfu9Sx+P6nwWcNzRgfZY71+EPZekvlQA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.40.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.40.0_1776379554149_0.401071165532626","host":"s3://npm-registry-packages-npm-production"}},"2.41.0":{"name":"@kb-labs/devkit","version":"2.41.0","license":"MIT","_id":"@kb-labs/devkit@2.41.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"bb83d1b3f83081293a86bda83bd9b1173849c6ca","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.41.0.tgz","fileCount":91,"integrity":"sha512-QdPXELp827gd8zOw94DbQIptbC8hrnGwIJ5PbZvQuV4P1E8CT6RwIM1GJ2t7UHjUqyREKSeYtU+QsfaQdSNEFQ==","signatures":[{"sig":"MEUCICiARwuQViz9NDgsAIFS02vWY/iLRo6hStIp/Y2VB5LJAiEAwle0oCW20wBlvzLnKKh1s3GRuRNA4CxOTUGhloeQ91Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.41.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/7a34dd757edce7ed7b735291fd37a03f/kb-labs-devkit-2.41.0.tgz","_integrity":"sha512-QdPXELp827gd8zOw94DbQIptbC8hrnGwIJ5PbZvQuV4P1E8CT6RwIM1GJ2t7UHjUqyREKSeYtU+QsfaQdSNEFQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.41.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.41.0_1776425016094_0.5642469017898155","host":"s3://npm-registry-packages-npm-production"}},"2.42.0":{"name":"@kb-labs/devkit","version":"2.42.0","license":"MIT","_id":"@kb-labs/devkit@2.42.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"495201e5389e857154cd9b2e5fa6490761e9586f","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.42.0.tgz","fileCount":91,"integrity":"sha512-+SySIRGBh8nMER7mV9LkMWoId9weA1Vvs4VITN1FtU1zwCcbZm8TiKMZPohllIGXDsyYLv1hPYuK0zCVRdeEdQ==","signatures":[{"sig":"MEQCIH/LPFvi78sg/8+uoPyxLdZXIKzMm0XId99tqj1Iqw+6AiAjozaDOrScY/gKI+L57bFrUCOlz6RiyAkGbUMpIcMURA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.42.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/17a7b7bb68d80811f210bc40df4843ce/kb-labs-devkit-2.42.0.tgz","_integrity":"sha512-+SySIRGBh8nMER7mV9LkMWoId9weA1Vvs4VITN1FtU1zwCcbZm8TiKMZPohllIGXDsyYLv1hPYuK0zCVRdeEdQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.42.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.42.0_1776428856234_0.3671724276356876","host":"s3://npm-registry-packages-npm-production"}},"2.43.0":{"name":"@kb-labs/devkit","version":"2.43.0","license":"MIT","_id":"@kb-labs/devkit@2.43.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"903448babc67d4030d9cccb9e23cb88c1105f5b4","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.43.0.tgz","fileCount":91,"integrity":"sha512-KDppRSLqUR7S90geuu/lWFJl0973X28BUVEkXLOcCRTSjA4f/B2rrhuPjfwDmBujEskKwlm3V2aOykohCn0wMw==","signatures":[{"sig":"MEQCIGGb+zLIqDhPeNWj2ZoepcvdRM7iBKHV9YhKNKspXfMZAiBTbJivmUC8GwXdFZA/6ZqGTjMKCyLKMYVWec+c7mnuWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.43.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/9f4023aeee61af23fa0abfa554d8ab1b/kb-labs-devkit-2.43.0.tgz","_integrity":"sha512-KDppRSLqUR7S90geuu/lWFJl0973X28BUVEkXLOcCRTSjA4f/B2rrhuPjfwDmBujEskKwlm3V2aOykohCn0wMw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.43.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.43.0_1776431451299_0.9411006308575416","host":"s3://npm-registry-packages-npm-production"}},"2.44.0":{"name":"@kb-labs/devkit","version":"2.44.0","license":"MIT","_id":"@kb-labs/devkit@2.44.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"db8f24ffdf456867387111794ad03059befa25c8","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.44.0.tgz","fileCount":91,"integrity":"sha512-VTxpFN8BdYP6o38fs9FJSzx7jJAUC9H6AFNEhuvUF8PQY2DX4CX2t0xNjCw5mneGsU9dsWWcZuQGHG6MtL8kUQ==","signatures":[{"sig":"MEYCIQDWiErOqP6nwQSKAQ5mZEY27Nbigr1zNKo/27Xz/JS2BAIhAJNvqWoY0JXdwh3KGv2qwZZH35wikpS3cE5Bex1CJWid","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.44.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/7e763aaff36121bb11f7bb3056de4ceb/kb-labs-devkit-2.44.0.tgz","_integrity":"sha512-VTxpFN8BdYP6o38fs9FJSzx7jJAUC9H6AFNEhuvUF8PQY2DX4CX2t0xNjCw5mneGsU9dsWWcZuQGHG6MtL8kUQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.44.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^3.0.6","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.44.0_1776500992252_0.11902409715308382","host":"s3://npm-registry-packages-npm-production"}},"2.45.0":{"name":"@kb-labs/devkit","version":"2.45.0","license":"MIT","_id":"@kb-labs/devkit@2.45.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d9d4f3f49766dd9d02a6e314ecef0a254cc74b85","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.45.0.tgz","fileCount":91,"integrity":"sha512-npgQquapcGia2860QecEW+Ds7iw4lKbG5Vp63Jzu2oBX9dJAU9Y6ZyL6dcYegoXy4MbbueKtHb6Py6keMZuGZg==","signatures":[{"sig":"MEMCH2pOvASCOgzeJ4A3hLGl6Fug9wSk1QmxSA3BGQgKWZcCIDY0oJ0dcB9yC6Y/9a58Uydx/5HhVZvfyzxdcy9ucPJg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.45.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/9083459688adc90f69954ba237a10b89/kb-labs-devkit-2.45.0.tgz","_integrity":"sha512-npgQquapcGia2860QecEW+Ds7iw4lKbG5Vp63Jzu2oBX9dJAU9Y6ZyL6dcYegoXy4MbbueKtHb6Py6keMZuGZg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.45.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.45.0_1776510355172_0.541208592612942","host":"s3://npm-registry-packages-npm-production"}},"2.46.0":{"name":"@kb-labs/devkit","version":"2.46.0","license":"MIT","_id":"@kb-labs/devkit@2.46.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"a95d440f5ea6a66465fbf4361ac6d0c7a0c24d58","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.46.0.tgz","fileCount":91,"integrity":"sha512-iiGlG4tRwAKl2SyK0Aa+KOMdvsXlm8yFjBtb9W7ZAzelOthiv1uZ7o7bTdLjys4vGBLFUGbqv/9ipH4UvI1HAw==","signatures":[{"sig":"MEQCIDuoHNZWvB0VLTP6IUC68KMFJ+4Zmz3/9wagOF0tLdLCAiBgtrtWezvYDwtQPXh2Wbxd01ZPYPnM7n5B3xBPG0Rx1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.46.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/a3e411f16376396f71c15743b660fbab/kb-labs-devkit-2.46.0.tgz","_integrity":"sha512-iiGlG4tRwAKl2SyK0Aa+KOMdvsXlm8yFjBtb9W7ZAzelOthiv1uZ7o7bTdLjys4vGBLFUGbqv/9ipH4UvI1HAw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.46.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.46.0_1776511816237_0.2164326373243315","host":"s3://npm-registry-packages-npm-production"}},"2.47.0":{"name":"@kb-labs/devkit","version":"2.47.0","license":"MIT","_id":"@kb-labs/devkit@2.47.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c8d58d2e14fc3b78aa96490550276414f2629af3","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.47.0.tgz","fileCount":91,"integrity":"sha512-HJHeRyE3JXDN/KVhS2c9lpT72NOY88zUxa55dX3jln0kIITcrcI/ga7p5+LdcXY7xRyquDLrUSmgE731vkj15g==","signatures":[{"sig":"MEYCIQDI38+FtpXVmu168wL9u3Uv7to8RQamSzCjb2NH9ptD2gIhAPW3yTWQuWeFhcVjfh1A9Ig9K8rseZttWmXhtWPXgOs+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.47.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/08985785174a62186d761c581e88990d/kb-labs-devkit-2.47.0.tgz","_integrity":"sha512-HJHeRyE3JXDN/KVhS2c9lpT72NOY88zUxa55dX3jln0kIITcrcI/ga7p5+LdcXY7xRyquDLrUSmgE731vkj15g==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.47.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.47.0_1776514176224_0.5302952553931655","host":"s3://npm-registry-packages-npm-production"}},"2.53.0":{"name":"@kb-labs/devkit","version":"2.53.0","license":"MIT","_id":"@kb-labs/devkit@2.53.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e89373db844f341856e27b73d18b063ef5261293","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.53.0.tgz","fileCount":91,"integrity":"sha512-Bz0FYNf8JMBzjfL1wFeKh/mEXw7KGqjz+cN9Ed/qMeZsZITukqDPddswyyBc9wlEq+XKuFVGRMn5wpxP4IG5Ng==","signatures":[{"sig":"MEUCIQCVSDHA6Q884S2FZbqC9bf28CmIHRpgM3Wkf4un3xOIWgIgVpc9A8C2LP6PFJVmetSbESgt7qRIvrZ03gWShHmBC2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.53.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/c64779503ebe93a5e6bb38457eb3ec2e/kb-labs-devkit-2.53.0.tgz","_integrity":"sha512-Bz0FYNf8JMBzjfL1wFeKh/mEXw7KGqjz+cN9Ed/qMeZsZITukqDPddswyyBc9wlEq+XKuFVGRMn5wpxP4IG5Ng==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.53.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.53.0_1776534718290_0.7132622054412936","host":"s3://npm-registry-packages-npm-production"}},"2.54.0":{"name":"@kb-labs/devkit","version":"2.54.0","license":"MIT","_id":"@kb-labs/devkit@2.54.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"73f8c40cf41da9cacc6999070aeaec5d65c08443","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.54.0.tgz","fileCount":91,"integrity":"sha512-r9sKXDzEUXf49u1xZLrUjmVtzty4dadMp9B4LC6JwD8msuxqV9/EQPbEDLGCr1NMMcpHML+HivQnnvGRWdXZrw==","signatures":[{"sig":"MEYCIQCt5vNbqcp9diNDPgiOXGDsMUMMR5HiJzhAsXfgtLjGqQIhAOLHF7flFyEO8/MHEYSHdEjL39aEZujgoQXju25JwLfR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.54.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/c266f78fee4a9a13c3a5006f044c74c7/kb-labs-devkit-2.54.0.tgz","_integrity":"sha512-r9sKXDzEUXf49u1xZLrUjmVtzty4dadMp9B4LC6JwD8msuxqV9/EQPbEDLGCr1NMMcpHML+HivQnnvGRWdXZrw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.54.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.54.0_1776616044681_0.978933463260933","host":"s3://npm-registry-packages-npm-production"}},"2.55.0":{"name":"@kb-labs/devkit","version":"2.55.0","license":"MIT","_id":"@kb-labs/devkit@2.55.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c57810bf73c4dd5c5bb927be0e6fd0b497a873f2","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.55.0.tgz","fileCount":91,"integrity":"sha512-KwWvCGfFTlpavqLrdGFHbXX6KN0GZ1M3cmBm4yMjAsWw+zrMymeql1uBVdk8hlKcw55Gsaj3xYS9Zd11DVSxxg==","signatures":[{"sig":"MEUCIQCQfHHHhJXjlnXFlbUv0mzbsuxQ0q9di8c5BvQLYQqDPAIgfeznn3rUzutqKOw3eDkk5Vp8bOyGKR0t9eHp+Xqa3TE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.55.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/a84b00a81f937f74b5e662d26989d09a/kb-labs-devkit-2.55.0.tgz","_integrity":"sha512-KwWvCGfFTlpavqLrdGFHbXX6KN0GZ1M3cmBm4yMjAsWw+zrMymeql1uBVdk8hlKcw55Gsaj3xYS9Zd11DVSxxg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.55.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.55.0_1776620836352_0.7258826290022653","host":"s3://npm-registry-packages-npm-production"}},"2.56.0":{"name":"@kb-labs/devkit","version":"2.56.0","license":"MIT","_id":"@kb-labs/devkit@2.56.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"f584cf072aa2af25b678dccc3fb7a21ef9a20850","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.56.0.tgz","fileCount":91,"integrity":"sha512-PY4SnCkKQWrnRZgD1TgCepY0vG3UYg5Nsb3/0GU+Ct9YyB04pJeaaQLpqlxN02dVygAdXaSQNEEHFXmP3BTiRQ==","signatures":[{"sig":"MEYCIQCa1TtczO1zqB1oUtBqjSibLMjB0EUEIXVLjMaCIEaWLgIhAJ8R1auCwFm9O5vy5KoSOhciDvk1FH401PH/V1dzpA54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.56.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/61b026c3e9e7b00a925001424a7943b8/kb-labs-devkit-2.56.0.tgz","_integrity":"sha512-PY4SnCkKQWrnRZgD1TgCepY0vG3UYg5Nsb3/0GU+Ct9YyB04pJeaaQLpqlxN02dVygAdXaSQNEEHFXmP3BTiRQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.56.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.56.0_1776626139750_0.37902036621469004","host":"s3://npm-registry-packages-npm-production"}},"2.57.0":{"name":"@kb-labs/devkit","version":"2.57.0","license":"MIT","_id":"@kb-labs/devkit@2.57.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"9bda832c643755676524e84f8debb8d5af395874","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.57.0.tgz","fileCount":91,"integrity":"sha512-4S9R6SJAFMJzkcDBtiWE7Cbb3x6X12WAiTS3XkiPC796E8DsZNxlU+E9MfCwISejbA6+9KLma12WALHlRgwqWg==","signatures":[{"sig":"MEYCIQDWHSMpS8jvA/10QpVZKzYAHLF/4KQbz5Zgf5y+MnHZVAIhAOc2KmGCDsdig1bMdjUDo4PLWXgUipuJF25nA8f4Asz5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.57.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/62ee9d27fd2d12bbcb61e8da7896f1f3/kb-labs-devkit-2.57.0.tgz","_integrity":"sha512-4S9R6SJAFMJzkcDBtiWE7Cbb3x6X12WAiTS3XkiPC796E8DsZNxlU+E9MfCwISejbA6+9KLma12WALHlRgwqWg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.57.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.57.0_1776627251963_0.9282650218974375","host":"s3://npm-registry-packages-npm-production"}},"2.58.0":{"name":"@kb-labs/devkit","version":"2.58.0","license":"MIT","_id":"@kb-labs/devkit@2.58.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"5678dca48a41bb20643783790b140584177abcfe","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.58.0.tgz","fileCount":91,"integrity":"sha512-kCQCnWDDRQj59ZfLszbQ8p9BdpScV3yAlkqcVVNHvmmeLDX35HkES3K+6gkWGHUr4tGuC0uVTaEG8gkaTBLXeA==","signatures":[{"sig":"MEYCIQDeDH7lUDBzYrXfKf7OiNU7G5ogzJkSv+t7gQvz31mBRgIhANu9YNOUI9MGEh/uAQUCJDFfO5r3zAf6HuCOQzVacbJV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.58.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/71d4bb1e0febbd90cb5a4b82f1210394/kb-labs-devkit-2.58.0.tgz","_integrity":"sha512-kCQCnWDDRQj59ZfLszbQ8p9BdpScV3yAlkqcVVNHvmmeLDX35HkES3K+6gkWGHUr4tGuC0uVTaEG8gkaTBLXeA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.58.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.58.0_1776630062068_0.5830231275648037","host":"s3://npm-registry-packages-npm-production"}},"2.59.0":{"name":"@kb-labs/devkit","version":"2.59.0","license":"MIT","_id":"@kb-labs/devkit@2.59.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d7bf3f4af1b0b093dcb69cedfb0bccd5104680f9","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.59.0.tgz","fileCount":91,"integrity":"sha512-OAsvxGTrg4OyLy5+1L/xbg7gH+AaVlUSqLaieKKcvfUFYM3KXSuxm7Ypq3e8IW/Q8i90AvduiaggiVMLrqeapA==","signatures":[{"sig":"MEUCIQC3ZNuIg8LCEfRFwsW49Y1Sod3gpubhODR5MtIidP8IXwIgIHrHSGNXS2biV/sovNUeOycQQKbRGioVinlfME9sjvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.59.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/12ff1ce8dd356e7ac709096e21d38b0b/kb-labs-devkit-2.59.0.tgz","_integrity":"sha512-OAsvxGTrg4OyLy5+1L/xbg7gH+AaVlUSqLaieKKcvfUFYM3KXSuxm7Ypq3e8IW/Q8i90AvduiaggiVMLrqeapA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.59.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.59.0_1776631476348_0.5872692974006335","host":"s3://npm-registry-packages-npm-production"}},"2.60.0":{"name":"@kb-labs/devkit","version":"2.60.0","license":"MIT","_id":"@kb-labs/devkit@2.60.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"cd54fba2a48da6a9da6be1f27ad8168b66f799d0","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.60.0.tgz","fileCount":91,"integrity":"sha512-uePX9egpBYZ+f0Xvx/YjXIv94NNhQ9gvNExJbzWxGMaER47ogVRumS+wMZri2wQK4b/eahpOLTr6byAArIHojg==","signatures":[{"sig":"MEUCIQCCkDw2v6IpQi1H/RiRhntP5X8ANS2e1CaAZLk8WncqJQIgMa80dJqgPQ8BGodLWsT47PUU5o3bgTaC9xZY5C4P+cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.60.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/b4bfb56261650c13ce5b6fc77848c564/kb-labs-devkit-2.60.0.tgz","_integrity":"sha512-uePX9egpBYZ+f0Xvx/YjXIv94NNhQ9gvNExJbzWxGMaER47ogVRumS+wMZri2wQK4b/eahpOLTr6byAArIHojg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.60.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.60.0_1776634720471_0.8906709785081692","host":"s3://npm-registry-packages-npm-production"}},"2.61.0":{"name":"@kb-labs/devkit","version":"2.61.0","license":"MIT","_id":"@kb-labs/devkit@2.61.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"2ed2162f3f3836f8037d5785410d54c18841be77","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.61.0.tgz","fileCount":91,"integrity":"sha512-yIvPhWJAd6jyIEEZmsPn4hxYyu5Z2gwg1eWj5qO+/U18iSs+XFvRW+D+55F9NvqouO1u6xDvTYZzr2Zdi+AKDw==","signatures":[{"sig":"MEUCIQCi01zEPuoBXaf8XRJ1l3CdV0QdDmgNS8wJ4scE2ecYgAIgCW2+IJXy1dRlARadFDFWmjSK2OqDvCbmVpGto0VH7oE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.61.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/60275ddfe261bfd198675cf1193ee448/kb-labs-devkit-2.61.0.tgz","_integrity":"sha512-yIvPhWJAd6jyIEEZmsPn4hxYyu5Z2gwg1eWj5qO+/U18iSs+XFvRW+D+55F9NvqouO1u6xDvTYZzr2Zdi+AKDw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.61.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.61.0_1776693645362_0.836877691934808","host":"s3://npm-registry-packages-npm-production"}},"2.62.0":{"name":"@kb-labs/devkit","version":"2.62.0","license":"MIT","_id":"@kb-labs/devkit@2.62.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"b3b053bffd511a16752755e1688124dfd9abda17","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.62.0.tgz","fileCount":91,"integrity":"sha512-5bDb8m404Tqcb0OC+i+dQISF3Tb1tdEDHtOBH8hIll4EhdHYM6NBMXyAf6DJSYkm+Ai27uuXiF5GeJ4Oag7FGA==","signatures":[{"sig":"MEQCIHd1MyMWoqZ73+C6RqiGzc/FRl6yxWoGlRtfCSZIlnpQAiAHSq1IGcQSsppo1uGeL7PRLe4Wn4Z/BLiaNI79iBw+ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.62.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/697de40a9544d92a4633713782bef718/kb-labs-devkit-2.62.0.tgz","_integrity":"sha512-5bDb8m404Tqcb0OC+i+dQISF3Tb1tdEDHtOBH8hIll4EhdHYM6NBMXyAf6DJSYkm+Ai27uuXiF5GeJ4Oag7FGA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.62.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.62.0_1776699223301_0.7268071715891335","host":"s3://npm-registry-packages-npm-production"}},"2.63.0":{"name":"@kb-labs/devkit","version":"2.63.0","license":"MIT","_id":"@kb-labs/devkit@2.63.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"797a8b4c1a88697842c22fb962dbc365f6044e84","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.63.0.tgz","fileCount":91,"integrity":"sha512-yUV/3xgndCs+c/BgGkZ9zlK38HXlImW2C5pRYscj+Uj48UlrVVXDz4veY2ZTmvYlrGwjS5TgUe+3uwx2FTaJ2A==","signatures":[{"sig":"MEUCIQDNTszE5qV0mVp2KZOcl5jFxwhaHbiXr88piyeUdfbmJQIgCywNjYQlNXO6Rvr/ccRfZ406XAdX8s3mHKWIUVC73sQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.63.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/bcb2302682dc73fb3623dcd7484c52c5/kb-labs-devkit-2.63.0.tgz","_integrity":"sha512-yUV/3xgndCs+c/BgGkZ9zlK38HXlImW2C5pRYscj+Uj48UlrVVXDz4veY2ZTmvYlrGwjS5TgUe+3uwx2FTaJ2A==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.63.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.63.0_1776716072558_0.11746202724833865","host":"s3://npm-registry-packages-npm-production"}},"2.64.0":{"name":"@kb-labs/devkit","version":"2.64.0","license":"MIT","_id":"@kb-labs/devkit@2.64.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"13b860286c58291f95be88fc80b2e734573067cd","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.64.0.tgz","fileCount":91,"integrity":"sha512-ngGYKsiZe1Yu1vxo6US8oDT6BvceoCo3ZEiVS+zszVJOrDUIgjsLseb8JdPGgrlzJZoaR+ei+ElnaV0OE9wQJw==","signatures":[{"sig":"MEUCIAKF/BiYeOXDNCnzb1wmiUeVVljPiOkxicpa98NouPYuAiEAo0JXCMiz0+9zf7OFT+ih6C9fjFUjwfSJu1e0Spq4Qkw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.64.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/191b6dbc21260f3389388b6800ea2cf5/kb-labs-devkit-2.64.0.tgz","_integrity":"sha512-ngGYKsiZe1Yu1vxo6US8oDT6BvceoCo3ZEiVS+zszVJOrDUIgjsLseb8JdPGgrlzJZoaR+ei+ElnaV0OE9wQJw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.64.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.64.0_1776716802053_0.11321482825056117","host":"s3://npm-registry-packages-npm-production"}},"2.65.0":{"name":"@kb-labs/devkit","version":"2.65.0","license":"MIT","_id":"@kb-labs/devkit@2.65.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"3e105063b255f10abef2c6193717e08a3ce66df8","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.65.0.tgz","fileCount":91,"integrity":"sha512-mpfOTGHsfarNqy+CND13y4eIta6Lqx/laAFTzJXDn7/qpCmRbHd/oL8iTLaOiCFnjzKVuWhVBUrJmk/YtsX9sA==","signatures":[{"sig":"MEQCIFHj2M0/bEao22S0iqusfKmxBs7aYgCZCaRoamlFiwg7AiBn8ikNgSV3J1ehD8pHaS+44V56v1wcdnbGKhXkLpG1cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.65.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/717a61818e86135986bbdaa75f5e34e8/kb-labs-devkit-2.65.0.tgz","_integrity":"sha512-mpfOTGHsfarNqy+CND13y4eIta6Lqx/laAFTzJXDn7/qpCmRbHd/oL8iTLaOiCFnjzKVuWhVBUrJmk/YtsX9sA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.65.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.65.0_1776755658102_0.1435677289324635","host":"s3://npm-registry-packages-npm-production"}},"2.66.0":{"name":"@kb-labs/devkit","version":"2.66.0","license":"MIT","_id":"@kb-labs/devkit@2.66.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"96e8228e581468a6ef88622480492207d2a4711c","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.66.0.tgz","fileCount":91,"integrity":"sha512-6aLJW0LEsJobn+UkZ1BeOWsoCElsbK3kMJo6uVgTmYyIZGcGbozoRxREGeNMf6v91lp6Ffb1Hui0kjxMyV2Bdw==","signatures":[{"sig":"MEYCIQCqsYCrthjyCCX1we7aWeiQO1SDom23eIjj/QT5LC+SmAIhAJPqzvPSUy8+BRPYbafmn5E4Lsqy9oyEkXvrd61QSb5g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.66.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/d533846652d1bf360873b42feeca2c9a/kb-labs-devkit-2.66.0.tgz","_integrity":"sha512-6aLJW0LEsJobn+UkZ1BeOWsoCElsbK3kMJo6uVgTmYyIZGcGbozoRxREGeNMf6v91lp6Ffb1Hui0kjxMyV2Bdw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.66.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.66.0_1776756922458_0.05108311000929033","host":"s3://npm-registry-packages-npm-production"}},"2.67.0":{"name":"@kb-labs/devkit","version":"2.67.0","license":"MIT","_id":"@kb-labs/devkit@2.67.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"15f8d74b4e243ba6294bc21e3f8d40e0b2e42ce8","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.67.0.tgz","fileCount":91,"integrity":"sha512-L+ch3qq/uWWisoPmfYUX7yEeMejQt1B3/jnrGYTElVd1EmKLb8BElrJIoRfVqE6lvDx/8ybfW0DdJcgMi+kWYA==","signatures":[{"sig":"MEYCIQCFddygHdAu8SdQhQZAfEaS1xEAsJ3DTHNut+lL16wUjAIhAPwgxD+kGAfWNyFpJrzwqWpz24Dhf/0IzvhEbjiI0qjK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.67.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/b48039ed8d0751ea6b7662251a238c4a/kb-labs-devkit-2.67.0.tgz","_integrity":"sha512-L+ch3qq/uWWisoPmfYUX7yEeMejQt1B3/jnrGYTElVd1EmKLb8BElrJIoRfVqE6lvDx/8ybfW0DdJcgMi+kWYA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.67.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.67.0_1776758880267_0.09489735765468077","host":"s3://npm-registry-packages-npm-production"}},"2.68.0":{"name":"@kb-labs/devkit","version":"2.68.0","license":"MIT","_id":"@kb-labs/devkit@2.68.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"8fd39074a24198f2b1ef81a3a19e7fe5dce1b52f","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.68.0.tgz","fileCount":91,"integrity":"sha512-NFbJCPsuXXnJhZkQAcp0We71+ygphEJqHfwd8LbDaYQU6yP+66mGRbg+I4NKZUQD1nOb30BfjELYJa7nfDMUDQ==","signatures":[{"sig":"MEYCIQDvycOShZjyx/Gm/VtoUCl2H8f8b56nCp1SxeFb5pxOogIhAPPkAHMSBwTkEG3s4ZByHsyecbg2oi1rggDB9gA/cPKd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.68.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/a4086c5dc9b6a3d27286772f0912ed98/kb-labs-devkit-2.68.0.tgz","_integrity":"sha512-NFbJCPsuXXnJhZkQAcp0We71+ygphEJqHfwd8LbDaYQU6yP+66mGRbg+I4NKZUQD1nOb30BfjELYJa7nfDMUDQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.68.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.68.0_1776760005063_0.14988156063802438","host":"s3://npm-registry-packages-npm-production"}},"2.69.0":{"name":"@kb-labs/devkit","version":"2.69.0","license":"MIT","_id":"@kb-labs/devkit@2.69.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"4b9581ba4c983e3b4f25986cb16b1523c83baae2","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.69.0.tgz","fileCount":91,"integrity":"sha512-tDEF/LIEzwJKJ3EerKw3AgOzUA9ZAAig+m0IhotPkZqI+CRq3Zjoj2k6pLyAqYODYJNTthlpl8QjIqPK0VtBFw==","signatures":[{"sig":"MEUCIQC1GoFfv/NrMAmGpymLXP/5i6Dtay/TKMKkeTJlLMxsUgIgCAAIOO9yUKsT8/2apkTGYLJ1Y0U+agh/Es8+UkTh8gQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.69.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/73cd38ab24b14b51b032f7ba09db9e2d/kb-labs-devkit-2.69.0.tgz","_integrity":"sha512-tDEF/LIEzwJKJ3EerKw3AgOzUA9ZAAig+m0IhotPkZqI+CRq3Zjoj2k6pLyAqYODYJNTthlpl8QjIqPK0VtBFw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.69.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.69.0_1776760708056_0.010983034875860165","host":"s3://npm-registry-packages-npm-production"}},"2.72.0":{"name":"@kb-labs/devkit","version":"2.72.0","license":"MIT","_id":"@kb-labs/devkit@2.72.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"2f07ff09f0886c2dd32ca13bbd179aa76ed17fd7","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.72.0.tgz","fileCount":91,"integrity":"sha512-2Utx2jCUEJhHCT3jP2m6kQACERFRyaWY+8jwHadTd0z6mP6W9sNzGBkXoWhIgDOrnTfuNDCB1hGOUenToTincw==","signatures":[{"sig":"MEUCIC9oXXi5qGVu+p4YzSD8LZ8nmH+W4RGl9s/ADqFMFglAAiEAzmxY4m55EfuFhPempZp3XUecetRONrMhJ1JPvR+NTOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.72.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/317026dddbce25e0e4c7134a704085f4/kb-labs-devkit-2.72.0.tgz","_integrity":"sha512-2Utx2jCUEJhHCT3jP2m6kQACERFRyaWY+8jwHadTd0z6mP6W9sNzGBkXoWhIgDOrnTfuNDCB1hGOUenToTincw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.72.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.72.0_1776766182557_0.2497126501737883","host":"s3://npm-registry-packages-npm-production"}},"2.73.0":{"name":"@kb-labs/devkit","version":"2.73.0","license":"MIT","_id":"@kb-labs/devkit@2.73.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"0b26222f8651238906f12f684571607da9727a4c","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.73.0.tgz","fileCount":91,"integrity":"sha512-SPEts/fLVdUYUjv5LYm8YbJtAooBHN+ULCNKMc24QIalgwLdpjnFdEsIoQVPz1npe3G72lCgxLoMdJxJTioJ8g==","signatures":[{"sig":"MEYCIQCCpyRctApbC1KbPxMqDGoTWDPPXYHwSCRJInjdaBO/zAIhAK1/LDn/Gi1U7MCanYlNI6RjPfDPOs/TKmXPPdTHG0N3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.73.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/ada4afaa2e10adec3ba3248461ac28b2/kb-labs-devkit-2.73.0.tgz","_integrity":"sha512-SPEts/fLVdUYUjv5LYm8YbJtAooBHN+ULCNKMc24QIalgwLdpjnFdEsIoQVPz1npe3G72lCgxLoMdJxJTioJ8g==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.73.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.73.0_1776769633811_0.9666240860635538","host":"s3://npm-registry-packages-npm-production"}},"2.74.0":{"name":"@kb-labs/devkit","version":"2.74.0","license":"MIT","_id":"@kb-labs/devkit@2.74.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"800b57f6fc0ccad48f5187b911afe8e1b7971b7a","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.74.0.tgz","fileCount":91,"integrity":"sha512-UMP7ZyBw1CyA5sWYBui6wB5xb9j5ZWLtkeagVsU6H2wTRfn8i85ubtrBoggpkYHUE7LwdrygsOVSDIk567QUbw==","signatures":[{"sig":"MEYCIQC5oQh6cqEicucumVtqgeAClyhzfws7v146ORZVRx2OLAIhANgM5fKnkMdMnIk00blpTBaxDmwgLrYOGwGBSvMPp6+2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.74.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/d9942962cd876543cf824898138cbe19/kb-labs-devkit-2.74.0.tgz","_integrity":"sha512-UMP7ZyBw1CyA5sWYBui6wB5xb9j5ZWLtkeagVsU6H2wTRfn8i85ubtrBoggpkYHUE7LwdrygsOVSDIk567QUbw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.74.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.74.0_1776774570052_0.07194937692411996","host":"s3://npm-registry-packages-npm-production"}},"2.75.0":{"name":"@kb-labs/devkit","version":"2.75.0","license":"MIT","_id":"@kb-labs/devkit@2.75.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e7e2436eecbf84b194d92eb0a80692f140c88922","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.75.0.tgz","fileCount":91,"integrity":"sha512-lNpZCvzDfckom0fcCoJcahgNZh72kh9ouqFKSDIi6Cu/VNSIZHq9CgauHki1PDIDu++sk9gPw2133GtAjxj5zg==","signatures":[{"sig":"MEQCIEIFt9CZ1W5gMpurYf6zyc6kx2n1SFoHiosywBGuBiTrAiAUhdVTE9jXQu7JG9Q/ekyBqc2gVfEr2wJkeqCaOWrOPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.75.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/398c4e410145c638e036e6adc8d54280/kb-labs-devkit-2.75.0.tgz","_integrity":"sha512-lNpZCvzDfckom0fcCoJcahgNZh72kh9ouqFKSDIi6Cu/VNSIZHq9CgauHki1PDIDu++sk9gPw2133GtAjxj5zg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.75.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.75.0_1776776647611_0.11460725562465401","host":"s3://npm-registry-packages-npm-production"}},"2.77.0":{"name":"@kb-labs/devkit","version":"2.77.0","license":"MIT","_id":"@kb-labs/devkit@2.77.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"38230307e2d7586f79dc849e0897c2cdb7fe2eb0","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.77.0.tgz","fileCount":91,"integrity":"sha512-6vTT6OnB3BiJqGQ034ae8v4fL0VwBwG13ioHtxKnJTttvr1sP/V6xUy0MQrPqFGmJ46JYHW2X2aDKxnzuz0kDw==","signatures":[{"sig":"MEUCIQCk25b+oLPSucjrBIQ+YQBMxZLTaquezUYsBTAwj7HQsgIgVqgg3crmXbqurGJpkoq9VINqqhYTAeDmyxmD+BjaUpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.77.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/b631ef5dcbd9c6248f686256347903fa/kb-labs-devkit-2.77.0.tgz","_integrity":"sha512-6vTT6OnB3BiJqGQ034ae8v4fL0VwBwG13ioHtxKnJTttvr1sP/V6xUy0MQrPqFGmJ46JYHW2X2aDKxnzuz0kDw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.77.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.77.0_1776780092935_0.3137120523511727","host":"s3://npm-registry-packages-npm-production"}},"2.78.0":{"name":"@kb-labs/devkit","version":"2.78.0","license":"MIT","_id":"@kb-labs/devkit@2.78.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"a7879f7438e4a3f90e04b3c6ea86acb2c59a3086","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.78.0.tgz","fileCount":91,"integrity":"sha512-gcVDsdHOG8dFs+jw+2M4ELkXHGEjim4hC/QNTX/8IMZRHX6X8sF37paI2OLU2uaFap1Kkti12XsDknazL8L6Fg==","signatures":[{"sig":"MEUCIQCyRpo1/Gpt34KkjZEVRWGg/DZG7Z+YZ+rYZeoU5LQNfwIgNDsMlHWvFHhbAY7laukh6vyKIziwfuHqmuM+zG+ah5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.78.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/933e3fe9c22ff0d8b60b5635bdc0768a/kb-labs-devkit-2.78.0.tgz","_integrity":"sha512-gcVDsdHOG8dFs+jw+2M4ELkXHGEjim4hC/QNTX/8IMZRHX6X8sF37paI2OLU2uaFap1Kkti12XsDknazL8L6Fg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.78.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.78.0_1776786447689_0.8361075999595613","host":"s3://npm-registry-packages-npm-production"}},"2.79.0":{"name":"@kb-labs/devkit","version":"2.79.0","license":"MIT","_id":"@kb-labs/devkit@2.79.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"b1a55b198eb74ef394862b83b17162a1027234d2","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.79.0.tgz","fileCount":91,"integrity":"sha512-UJCIX5M7cbJEof2q4lWy6GGtmyLmTwnzJVswB+A/c6eLPGUpF2Kp5MTFttROxHqaECSftU6GiHueEyTkLf0R8w==","signatures":[{"sig":"MEUCIDP9zE4ahYXDqJ4G9wqSOvGpf8M0qS5F3DXTxOFVU5k3AiEArNb7V3DVIHjQGleuqCi2uPVVkFL17wXH1D5jzGJLk3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.79.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/538df797d27b2e0aec540e347c53ea78/kb-labs-devkit-2.79.0.tgz","_integrity":"sha512-UJCIX5M7cbJEof2q4lWy6GGtmyLmTwnzJVswB+A/c6eLPGUpF2Kp5MTFttROxHqaECSftU6GiHueEyTkLf0R8w==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.79.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.79.0_1776789398962_0.3037477965292483","host":"s3://npm-registry-packages-npm-production"}},"2.80.0":{"name":"@kb-labs/devkit","version":"2.80.0","license":"MIT","_id":"@kb-labs/devkit@2.80.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"31513e74a6f616ddc8f6fb686ae434fcf2644708","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.80.0.tgz","fileCount":91,"integrity":"sha512-bGsjF8Z2Kp6Z57KXVmErogOLoF7U9uDAurerJCQGRCkaRDJk6tqBq488nHb3VlYJJ5Jnmwdp1+T5g0qFeWJ9Jg==","signatures":[{"sig":"MEUCIENKb4oZdbzSyoXR5F3zVWyfglsBzMZs7q/v8tOlQ5yGAiEAp4SDhpyXQrsYcqFdY3fv8ttlOLOcZkihs71qoW7iEm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.80.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/e9e472403b6bab40626e4b6465bd069f/kb-labs-devkit-2.80.0.tgz","_integrity":"sha512-bGsjF8Z2Kp6Z57KXVmErogOLoF7U9uDAurerJCQGRCkaRDJk6tqBq488nHb3VlYJJ5Jnmwdp1+T5g0qFeWJ9Jg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.80.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.80.0_1776791576278_0.7513708135893555","host":"s3://npm-registry-packages-npm-production"}},"2.81.0":{"name":"@kb-labs/devkit","version":"2.81.0","license":"MIT","_id":"@kb-labs/devkit@2.81.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"a249c003edaacbec8335aad998f38ed69fb3125b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.81.0.tgz","fileCount":91,"integrity":"sha512-edgkYwI1zOuT3hPy3aVVa/afZXj6msgmljptQ1rzwJNoSsnQizYbLjcz18oS32XY/zBulQvXEWiMZ7p8+IKCEQ==","signatures":[{"sig":"MEUCIGwtRwSm+hvAMfC3QECoKfOBEn9ISYY7okUkGNiVPpLZAiEAyBSyXOfA1GSYoTo18oOVKRa2r8gMRLd9RT7pAwD4xnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.81.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/2a8bab5bb11e369700007bda8d0fb425/kb-labs-devkit-2.81.0.tgz","_integrity":"sha512-edgkYwI1zOuT3hPy3aVVa/afZXj6msgmljptQ1rzwJNoSsnQizYbLjcz18oS32XY/zBulQvXEWiMZ7p8+IKCEQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.81.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.81.0_1776793261481_0.5497656471498453","host":"s3://npm-registry-packages-npm-production"}},"2.82.0":{"name":"@kb-labs/devkit","version":"2.82.0","license":"MIT","_id":"@kb-labs/devkit@2.82.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ac1413b2ecc83504737d8eaa8421db9a47cd2067","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.82.0.tgz","fileCount":91,"integrity":"sha512-SQD5QZXjHH39P6/2b42S7GPp+Uzzjg1Qs3IZ6flo+xa4xtAxr5QU+Pg0UZ4+cOQ7sM2oZ+B+X5C6hgVUadD9JA==","signatures":[{"sig":"MEQCICF4nnLEuZDlsN00mHmXiDEZUPWSIeerD1SrViXj4c2tAiAV5tKoHD49cLVvbfyzbBUXDvOtuMprwzP5zp5YDx8YLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.82.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/0520677c76b81ac7a70723994e3cc608/kb-labs-devkit-2.82.0.tgz","_integrity":"sha512-SQD5QZXjHH39P6/2b42S7GPp+Uzzjg1Qs3IZ6flo+xa4xtAxr5QU+Pg0UZ4+cOQ7sM2oZ+B+X5C6hgVUadD9JA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.82.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.82.0_1776795378850_0.5738292032599144","host":"s3://npm-registry-packages-npm-production"}},"2.83.0":{"name":"@kb-labs/devkit","version":"2.83.0","license":"MIT","_id":"@kb-labs/devkit@2.83.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"900b60132399ae057addcca92f3b426f93f561ed","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.83.0.tgz","fileCount":91,"integrity":"sha512-YW/nAVuZr5+Wd5H4/Ej5UcAVw+liEiT3gSy3VC94tnmTw133MK9od6FYbP0AhZOgyFG1QmqWrWDRsFCCqA0PMg==","signatures":[{"sig":"MEQCIFXxMjU6cQhqprUJwSUxTbCuyFwD6+gYuxVei30EFMOtAiA8O0ae471lPK1JUQY/W6ZgKwlbc4UhjaY72pHDgnAEyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.83.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/138dc807a194764166fb9f03b0cd11e9/kb-labs-devkit-2.83.0.tgz","_integrity":"sha512-YW/nAVuZr5+Wd5H4/Ej5UcAVw+liEiT3gSy3VC94tnmTw133MK9od6FYbP0AhZOgyFG1QmqWrWDRsFCCqA0PMg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.83.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.83.0_1776958678991_0.6560348743286692","host":"s3://npm-registry-packages-npm-production"}},"2.85.0":{"name":"@kb-labs/devkit","version":"2.85.0","license":"MIT","_id":"@kb-labs/devkit@2.85.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"9f43ab3af8cffc555da45079145f1672e19aa70a","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.85.0.tgz","fileCount":91,"integrity":"sha512-A5AT6+6L8ad/eXSJGw5fJ0gaXtpY8D2e0JSAL2WsId8pOIWU7X1ixmBf7AdkuSdrhFBN/+saqx5xKmziThlRvQ==","signatures":[{"sig":"MEQCIGGug56PkkMtw5EeX/d8AcwitMiaMuTns360Wm0lBY+DAiAtrBHE7oaOhMPGMmV+7RuRjpJFk9yck49q9cs3qnFELQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.85.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/a3d244c1284aa5fa9aab24d449f17151/kb-labs-devkit-2.85.0.tgz","_integrity":"sha512-A5AT6+6L8ad/eXSJGw5fJ0gaXtpY8D2e0JSAL2WsId8pOIWU7X1ixmBf7AdkuSdrhFBN/+saqx5xKmziThlRvQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.85.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.85.0_1777059017311_0.672205706024682","host":"s3://npm-registry-packages-npm-production"}},"2.86.0":{"name":"@kb-labs/devkit","version":"2.86.0","license":"MIT","_id":"@kb-labs/devkit@2.86.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"104a6d0d9bb26c88b3dacee20ebbc1c8806fa38f","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.86.0.tgz","fileCount":91,"integrity":"sha512-yZC6Zj00OX0WjHemenm/B3oDJrKg0TA8gXI1D3G9pHdqpF/w1HBPVQgkBFDgux13NmXB/rtSAPm+rZDiwyAUpg==","signatures":[{"sig":"MEQCIHDtwSw9Nh8u0jXqAeocKg9xDuxGFbhjOftWZvIGGL2fAiACyNKUNNS6EAFlnoWM6XP1gjtBdtXSxgbL1FVYjuY85Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.86.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/d5893ba6fb63d52da08289eaaddfba63/kb-labs-devkit-2.86.0.tgz","_integrity":"sha512-yZC6Zj00OX0WjHemenm/B3oDJrKg0TA8gXI1D3G9pHdqpF/w1HBPVQgkBFDgux13NmXB/rtSAPm+rZDiwyAUpg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.86.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.86.0_1777063493871_0.685253736886577","host":"s3://npm-registry-packages-npm-production"}},"2.87.0":{"name":"@kb-labs/devkit","version":"2.87.0","license":"MIT","_id":"@kb-labs/devkit@2.87.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d3ba96865a082c52ecad164ba026a1b5115385a7","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.87.0.tgz","fileCount":91,"integrity":"sha512-R6iu+vg3sdD57iywyl00KdMwWLsF7/74mYsqTg9d5AtW1SogS7O/LZtXEaS5wq/6r9C5N+tKbaE4qwDgOKt8AA==","signatures":[{"sig":"MEUCIFzPyGLucHOLuLVFy4nsnELGenMh44mnN5R7ENwI4Z8NAiEA8msvbOtbdQtvMhiO5fWEoWnyUbdnhqWW4Z0P7mxEe6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.87.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/6cd0dd39d9aec732999ee47276457e34/kb-labs-devkit-2.87.0.tgz","_integrity":"sha512-R6iu+vg3sdD57iywyl00KdMwWLsF7/74mYsqTg9d5AtW1SogS7O/LZtXEaS5wq/6r9C5N+tKbaE4qwDgOKt8AA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.87.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.87.0_1777064317145_0.41171322269127764","host":"s3://npm-registry-packages-npm-production"}},"2.88.0":{"name":"@kb-labs/devkit","version":"2.88.0","license":"MIT","_id":"@kb-labs/devkit@2.88.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"a8de5adea07c06f9fc21b61de357ad2147ee1e3b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.88.0.tgz","fileCount":91,"integrity":"sha512-Yt3efLn5oaVziVKAmUNQcbJ+eggKoScqkkANyrJ66oSDXV+RBn/917E/UV8SklaH66nuibxJmpSV7ue2NfI9hA==","signatures":[{"sig":"MEQCIGBH/QJq3iE/kIBYTu58p2o+csVPZwAbFdwJQ4fkyweaAiA/Qy+4X0CXSdPhzCPZtBl/6XoJ4U7Nn7vHwroLFF9zwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.88.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/165f0c19abc2a9bb38b7e5989d108d26/kb-labs-devkit-2.88.0.tgz","_integrity":"sha512-Yt3efLn5oaVziVKAmUNQcbJ+eggKoScqkkANyrJ66oSDXV+RBn/917E/UV8SklaH66nuibxJmpSV7ue2NfI9hA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.88.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.88.0_1777109598998_0.8834418542650033","host":"s3://npm-registry-packages-npm-production"}},"2.89.0":{"name":"@kb-labs/devkit","version":"2.89.0","license":"MIT","_id":"@kb-labs/devkit@2.89.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d6412bccebb4851580e93a1bf5f768e66f088663","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.89.0.tgz","fileCount":91,"integrity":"sha512-Yu9NXKha+TvplGPcwwFoari/rx/9ar7e6VEcZaMnR1W2qAGpFDmZm9DbQ3d3wxAGukHlRB7sxZTo74eimOnIqw==","signatures":[{"sig":"MEUCIQDt1jqGXgNVvyRBmwoo+c4wCB0UR+DH8HwiwN5BoLw4RQIgXLgeVhX2XedKOIbyxWFfqAH3/wJ5PkebCXhnXMN1d/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587236},"type":"module","_from":"file:kb-labs-devkit-2.89.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/c56821bcd39c6170330e61d346b8f773/kb-labs-devkit-2.89.0.tgz","_integrity":"sha512-Yu9NXKha+TvplGPcwwFoari/rx/9ar7e6VEcZaMnR1W2qAGpFDmZm9DbQ3d3wxAGukHlRB7sxZTo74eimOnIqw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.89.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.89.0_1777111494335_0.25581789778803965","host":"s3://npm-registry-packages-npm-production"}},"2.93.0":{"name":"@kb-labs/devkit","version":"2.93.0","license":"MIT","_id":"@kb-labs/devkit@2.93.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"1193dbe8cc7919e5474eda31ab680c880c16334b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.93.0.tgz","fileCount":91,"integrity":"sha512-seTbEJ5fsj9Fvck/Og9G1qezMX39WVDXanvZSboYvq6BSbSI6hflxJ1A3PRLNypy6vrY8vrluz+QAHYGlavShA==","signatures":[{"sig":"MEUCIEuGaZNnCLoLYLckxX5aBB3MJ1rRwu2/26bUJ7qh0rRMAiEAqu+lecYz/3pc4plXI/krh+dxXiuuGlnACcFnl/Ox0JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587170},"type":"module","_from":"file:kb-labs-devkit-2.93.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/ad247f10d02b618bfa66ce190f9b3570/kb-labs-devkit-2.93.0.tgz","_integrity":"sha512-seTbEJ5fsj9Fvck/Og9G1qezMX39WVDXanvZSboYvq6BSbSI6hflxJ1A3PRLNypy6vrY8vrluz+QAHYGlavShA==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.93.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.93.0_1777405806898_0.8616736740828825","host":"s3://npm-registry-packages-npm-production"}},"2.94.0":{"name":"@kb-labs/devkit","version":"2.94.0","license":"MIT","_id":"@kb-labs/devkit@2.94.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d90532a39a9c7085d6ecd0bf32bd0cc3bbcbeb22","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.94.0.tgz","fileCount":91,"integrity":"sha512-8z7RATWEKUTRqe8Vs/IPKuwOwVqeZIjtWfBVff3wZWdRBa+TCl3rvO4D79A1GeURUiVd0Z2EVhus7fG59mUO4g==","signatures":[{"sig":"MEUCIQCNjUBSJAHoe5Kr3ADk2Zq66WasiY7nssOcWQHoiAylZwIgDQUQBwkW4j77nbmvLzVwQiHT4qkA2PAPiP+klj1lnmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587170},"type":"module","_from":"file:kb-labs-devkit-2.94.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/e838aaf8d376c475e5b58405387263b3/kb-labs-devkit-2.94.0.tgz","_integrity":"sha512-8z7RATWEKUTRqe8Vs/IPKuwOwVqeZIjtWfBVff3wZWdRBa+TCl3rvO4D79A1GeURUiVd0Z2EVhus7fG59mUO4g==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.94.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.4","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.94.0_1777410693059_0.7433920170984594","host":"s3://npm-registry-packages-npm-production"}},"2.96.0":{"name":"@kb-labs/devkit","version":"2.96.0","license":"MIT","_id":"@kb-labs/devkit@2.96.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"4748b93a4d2ca195ac42488f1c05e89ef5cdadf0","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.96.0.tgz","fileCount":93,"integrity":"sha512-DcgTSGyRhOekI1yNtcTTQ4hcIS29z0n/Gkwqx0BTxamMH3M1mVZ3+v019oFU9Til1ojF9LiB6UTGjwrzsLzPxQ==","signatures":[{"sig":"MEUCIAqixeb8npfmiFQMDkPfCVgLk33EhWjY6kfZsmLwEcmlAiEA+g7H/DSgkYimzGe075lK5VAFRT2+EnBKbXuW1zWjy08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601600},"type":"module","_from":"file:kb-labs-devkit-2.96.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/8460909ffa4f6e164321b0447ac4f820/kb-labs-devkit-2.96.0.tgz","_integrity":"sha512-DcgTSGyRhOekI1yNtcTTQ4hcIS29z0n/Gkwqx0BTxamMH3M1mVZ3+v019oFU9Til1ojF9LiB6UTGjwrzsLzPxQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.96.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.96.0_1783119689508_0.11504536448782621","host":"s3://npm-registry-packages-npm-production"}},"2.98.0":{"name":"@kb-labs/devkit","version":"2.98.0","license":"MIT","_id":"@kb-labs/devkit@2.98.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"d22764b03fa21b24097884a3ce8761accb5d6865","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.98.0.tgz","fileCount":93,"integrity":"sha512-Hegls2pri/qSF3ntgW0u6rQ8aOOJFNy/zgMeE/OzWXGEsvghbwmFYBvgKbh/YyX22FwFxxLRXDOrmWOE6uM9LQ==","signatures":[{"sig":"MEQCIFSCB9frdWjOacMCXXO7l6OdkiUos926FTUcIGDiisN6AiALJ9nHu0HMuY7VT2fz3dQAwfFUbhDmFlDkzhkyQ+wY2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601600},"type":"module","_from":"file:kb-labs-devkit-2.98.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/5505ca1a7aac099eb6dec2b02f7a3c15/kb-labs-devkit-2.98.0.tgz","_integrity":"sha512-Hegls2pri/qSF3ntgW0u6rQ8aOOJFNy/zgMeE/OzWXGEsvghbwmFYBvgKbh/YyX22FwFxxLRXDOrmWOE6uM9LQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.98.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.98.0_1784385270028_0.6264052113665641","host":"s3://npm-registry-packages-npm-production"}},"2.100.0":{"name":"@kb-labs/devkit","version":"2.100.0","license":"MIT","_id":"@kb-labs/devkit@2.100.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"eb8d0f3929899b6a562b2e78ada0f08f070236d8","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.100.0.tgz","fileCount":93,"integrity":"sha512-3aNsVKjtZ8VaLlpMUHXjyPf9cMvHoKzjTsrXoeLz0FcGgyjDelmbBuul8AM6rgX7yJG5b6EfItxbvl1Yn+ccGQ==","signatures":[{"sig":"MEQCIDeqHS0vn6zZ8FaMkObYUqqak+Jes0Zm55/+UrfXiNcxAiACVqIjmzD7A/VJ/RrP6oQO4WGUs9C74DEL9UDPPg3Njg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601602},"type":"module","_from":"file:kb-labs-devkit-2.100.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/6cf8dd9e53799ce57fbcadf2cd2d7ca1/kb-labs-devkit-2.100.0.tgz","_integrity":"sha512-3aNsVKjtZ8VaLlpMUHXjyPf9cMvHoKzjTsrXoeLz0FcGgyjDelmbBuul8AM6rgX7yJG5b6EfItxbvl1Yn+ccGQ==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.100.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.100.0_1784421473557_0.9202145483101634","host":"s3://npm-registry-packages-npm-production"}},"2.101.0-canary.3f3ceb8f":{"name":"@kb-labs/devkit","version":"2.101.0-canary.3f3ceb8f","license":"MIT","_id":"@kb-labs/devkit@2.101.0-canary.3f3ceb8f","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e4fa87925935c04b5b9ddffb8d495ad0787cb9aa","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.101.0-canary.3f3ceb8f.tgz","fileCount":93,"integrity":"sha512-3jJCHemV2nIEMUNMfhEPWE8JjCvFO/bvrY1YO4safs+a4nW6TQjtdzoSHskBxZoEMGhg6Cc7FSwm7DSgzt/x/Q==","signatures":[{"sig":"MEUCIES7gQKWq2q2jCdrqi5aR4RJ2A38n1Ev4KFf0E3nyxAyAiEApc/xlMwjKAloNvUcLll3CTg9AKpXkydYirAPLaiuwEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601634},"type":"module","_from":"file:kb-labs-devkit-2.101.0-canary.3f3ceb8f.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/d9f73ed922b61f6bbaa8dc586696380b/kb-labs-devkit-2.101.0-canary.3f3ceb8f.tgz","_integrity":"sha512-3jJCHemV2nIEMUNMfhEPWE8JjCvFO/bvrY1YO4safs+a4nW6TQjtdzoSHskBxZoEMGhg6Cc7FSwm7DSgzt/x/Q==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.101.0-canary.3f3ceb8f","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.101.0-canary.3f3ceb8f_1784472271597_0.3314355114463603","host":"s3://npm-registry-packages-npm-production"}},"2.101.0":{"name":"@kb-labs/devkit","version":"2.101.0","license":"MIT","_id":"@kb-labs/devkit@2.101.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ee6da5942583f0471437553bdbfde8490f782700","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.101.0.tgz","fileCount":93,"integrity":"sha512-3sardJOrnoksgu0YXbOCC0WvHlVjF3QipffpgHiZMr8OpIuzMGi2VCJilkDg/CKjZYexCcJ7WzYa7kXQK6U69A==","signatures":[{"sig":"MEUCIDjtzZZcRTKvPnnidNSeipiXtWquhGXhWIixl9pfuP2pAiEAxoogcEKCd6YzpUge3dNTwQcZ3z61PBkVXAQstJRSFrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601602},"type":"module","_from":"file:kb-labs-devkit-2.101.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/cc50424045294cf99ce9e29a64ffd766/kb-labs-devkit-2.101.0.tgz","_integrity":"sha512-3sardJOrnoksgu0YXbOCC0WvHlVjF3QipffpgHiZMr8OpIuzMGi2VCJilkDg/CKjZYexCcJ7WzYa7kXQK6U69A==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.101.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.101.0_1784477296716_0.22564668981735392","host":"s3://npm-registry-packages-npm-production"}},"2.102.0":{"name":"@kb-labs/devkit","version":"2.102.0","license":"MIT","_id":"@kb-labs/devkit@2.102.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c3e9b279ed33c42e307f66de7d28f5dea95d5631","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.102.0.tgz","fileCount":94,"integrity":"sha512-9iFhtANXzxYx6m+REfk0O+DJRXj6ktlSp3IcuEPIcAxRDd4fNstHUPeNHUMcxMMVNU+qwOGRpFHRXfqDQCndSw==","signatures":[{"sig":"MEUCIQCFym6NatqN9B3Y6C1zz6SqU7Vx071saIIe9t756DjgkgIgcN+euXMqHsMWNFVekWT6/jCGYbnzC9HjDmkzyzXIlQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602689},"type":"module","_from":"file:kb-labs-devkit-2.102.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/579d0bca7a79068acfdd6e30b37b7229/kb-labs-devkit-2.102.0.tgz","_integrity":"sha512-9iFhtANXzxYx6m+REfk0O+DJRXj6ktlSp3IcuEPIcAxRDd4fNstHUPeNHUMcxMMVNU+qwOGRpFHRXfqDQCndSw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.102.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.102.0_1784496546916_0.08625201964008022","host":"s3://npm-registry-packages-npm-production"}},"2.103.0":{"name":"@kb-labs/devkit","version":"2.103.0","license":"MIT","_id":"@kb-labs/devkit@2.103.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"77ae7ecbec10258d6c4872ebbe0a39afa89757b6","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.103.0.tgz","fileCount":94,"integrity":"sha512-KNRTp6kJR4OV6hwoHqqCOzGf5YRAGm1nMTIgWM6n/Lv8TCVPJghVCvQzpFhL5MxFmCdqi6Rv2LXsBY9CIl1d8Q==","signatures":[{"sig":"MEYCIQCGZbmipbmfk7vJbgGs1ViDEE9m4b/Li1Om560SzwajvAIhAOX6kCRm2jRvfGwOW87C97kKtIX0SIht8F1yNKEAeUVl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602689},"type":"module","_from":"file:kb-labs-devkit-2.103.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/a42a3ac887d64de7f947c500d4ef7d9b/kb-labs-devkit-2.103.0.tgz","_integrity":"sha512-KNRTp6kJR4OV6hwoHqqCOzGf5YRAGm1nMTIgWM6n/Lv8TCVPJghVCvQzpFhL5MxFmCdqi6Rv2LXsBY9CIl1d8Q==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.103.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.103.0_1784500716649_0.361293891681183","host":"s3://npm-registry-packages-npm-production"}},"2.104.0":{"name":"@kb-labs/devkit","version":"2.104.0","license":"MIT","_id":"@kb-labs/devkit@2.104.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"5009d10f40f560a92885a757cef2ba1fd01d3282","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.104.0.tgz","fileCount":94,"integrity":"sha512-QhSZFEkQLgiIot5/Sqvz1PlIIXvICUtuMkFLFy7nRpPtmRameKpS8gnxHpaGgD5hRrc29pWgmhE7RxIk0ikNyw==","signatures":[{"sig":"MEYCIQDnJ8o7HR8ckf0iwhxm6bDr6Slr97uNXT8nTGkSQ6E0wAIhAJJobVgE4LX2+HUAIZ64Sd60KcgMG6Yj7gSWl6H1nJhj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602689},"type":"module","_from":"file:kb-labs-devkit-2.104.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/6d640f68b53f3e9db889b063e96225cd/kb-labs-devkit-2.104.0.tgz","_integrity":"sha512-QhSZFEkQLgiIot5/Sqvz1PlIIXvICUtuMkFLFy7nRpPtmRameKpS8gnxHpaGgD5hRrc29pWgmhE7RxIk0ikNyw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.104.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.104.0_1784505121642_0.6405011077579035","host":"s3://npm-registry-packages-npm-production"}},"2.105.0-canary.f6d35e31":{"name":"@kb-labs/devkit","version":"2.105.0-canary.f6d35e31","license":"MIT","_id":"@kb-labs/devkit@2.105.0-canary.f6d35e31","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"6a6a104c405cba673ef7819df9d36c2342de3734","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.105.0-canary.f6d35e31.tgz","fileCount":94,"integrity":"sha512-v/98KGli1Uu/KJHQ0QSloCmR7MEKRw2L8hrBYsaE37kBxi3fKmZHW+p34IQjKUh0VLDH10D9XlD2WPfb5vFtUw==","signatures":[{"sig":"MEYCIQCus4hC/yzat09jak2M9R/kWGot/tgsEFI4ZypcZihzuQIhAP13miuRCuBlhABoyyblmXWLJzg8E03nIoZKqGNFo4EX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602721},"type":"module","_from":"file:kb-labs-devkit-2.105.0-canary.f6d35e31.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/private/var/folders/lf/tcl_dv8j73n5djg13ynwglg40000gn/T/758e13d775fbfdd6443fa8031a2515fb/kb-labs-devkit-2.105.0-canary.f6d35e31.tgz","_integrity":"sha512-v/98KGli1Uu/KJHQ0QSloCmR7MEKRw2L8hrBYsaE37kBxi3fKmZHW+p34IQjKUh0VLDH10D9XlD2WPfb5vFtUw==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.105.0-canary.f6d35e31","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.105.0-canary.f6d35e31_1784658625066_0.2439931169801699","host":"s3://npm-registry-packages-npm-production"}},"2.105.0":{"name":"@kb-labs/devkit","version":"2.105.0","license":"MIT","_id":"@kb-labs/devkit@2.105.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"25cf886f446fd32ce10f5b676df694e274f76c73","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.105.0.tgz","fileCount":94,"integrity":"sha512-j+HDaNm1vhIu6Q0DEWdGejDZZRkxsuOeuEgWCuhiumsPmb4AqTA+MxA5z/lB4wJINlgUxFp5V/EdjfQ7m9Js6w==","signatures":[{"sig":"MEQCIGkb77oFCzugVY6b/Joxfm5GcaGTObAHZkJGJKc+0H3dAiBdQxjhKxTq8BnEzkEreBU6IjT4blbUVAmJGcBzEFsKgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.105.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.105.0.tgz","_integrity":"sha512-j+HDaNm1vhIu6Q0DEWdGejDZZRkxsuOeuEgWCuhiumsPmb4AqTA+MxA5z/lB4wJINlgUxFp5V/EdjfQ7m9Js6w==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.105.0_1784845973855_0.3711153099149622","host":"s3://npm-registry-packages-npm-production"}},"2.106.0":{"name":"@kb-labs/devkit","version":"2.106.0","license":"MIT","_id":"@kb-labs/devkit@2.106.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"31cb63d9c81cd87df2a93007a86d9933b27915b1","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.106.0.tgz","fileCount":94,"integrity":"sha512-b8Zv8q8uk/nSw7emt9yKqtoSGFgtFQ8YIEQHiuQ3kndFEW8RUsJorVD11gnPUERHERl6fUiNZKhD5y7cPlooTg==","signatures":[{"sig":"MEYCIQDX/wraYLHbGhghA8XmW69yQRHtAwAPt/5JZEZ4TdZAPwIhAKFIfbZW0DJOas0BIW+6BxNNn4w1PNKBx6NV1z019dEq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.106.0.tgz","engines":{"node":">=20.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.106.0.tgz","_integrity":"sha512-b8Zv8q8uk/nSw7emt9yKqtoSGFgtFQ8YIEQHiuQ3kndFEW8RUsJorVD11gnPUERHERl6fUiNZKhD5y7cPlooTg==","_npmVersion":"10.8.2","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.106.0_1784855213278_0.9988400408862332","host":"s3://npm-registry-packages-npm-production"}},"2.107.0":{"name":"@kb-labs/devkit","version":"2.107.0","license":"MIT","_id":"@kb-labs/devkit@2.107.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"0866cea7217e52bb4e8bbec845671a83c8926d3f","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.107.0.tgz","fileCount":94,"integrity":"sha512-dTG9QSMLO5nxJGlQXiC9DgoxEGs9/VbYJhxZ5aei3lx8UXxxGxAWZp2R9pKeE4UvXCJDWVNhyO+gzcXitKrY7w==","signatures":[{"sig":"MEUCIFpFbsostU8s89x5EJ6CAZ8dmhRAGhBw9ji3dsYrIVZtAiEArvKE3M5Kh1TRK9J2WON0PdScwjRL8tc9li7s1q8vt0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605229},"type":"module","_from":"file:kb-labs-devkit-2.107.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/tmp/c4a898babb4db559e202fd2f2033e3ef/kb-labs-devkit-2.107.0.tgz","_integrity":"sha512-dTG9QSMLO5nxJGlQXiC9DgoxEGs9/VbYJhxZ5aei3lx8UXxxGxAWZp2R9pKeE4UvXCJDWVNhyO+gzcXitKrY7w==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.107.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.107.0_1784961391339_0.4692464632112232","host":"s3://npm-registry-packages-npm-production"}},"2.109.0":{"name":"@kb-labs/devkit","version":"2.109.0","license":"MIT","_id":"@kb-labs/devkit@2.109.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"1068066a670930bd26cb0b95a44d68bf39fe45c4","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.109.0.tgz","fileCount":94,"integrity":"sha512-IzFyeG1YhAQx/xT0CLCqWCmoZeuLMNwD3rqOTGkXNBcSPJxQv7tr45U1UkYlRRrJS2WfS01uzCZu3Ow8cLPcJw==","signatures":[{"sig":"MEYCIQDytW2rlPhLoKYnIsKUoM7FOkI8RUhgO2KlGs2Qmr+/QgIhAIxWEyAxceHyIm+bKd1woWfsGGrd1jIxceXXsj3ZjGLM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.109.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.109.0.tgz","_integrity":"sha512-IzFyeG1YhAQx/xT0CLCqWCmoZeuLMNwD3rqOTGkXNBcSPJxQv7tr45U1UkYlRRrJS2WfS01uzCZu3Ow8cLPcJw==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.109.0_1785012461819_0.6513510733778725","host":"s3://npm-registry-packages-npm-production"}},"2.110.0":{"name":"@kb-labs/devkit","version":"2.110.0","license":"MIT","_id":"@kb-labs/devkit@2.110.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"7a0676bf69c85aec43e747c33b0d0f27538f42c8","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.110.0.tgz","fileCount":94,"integrity":"sha512-b1xTHt6JM6uqmsVgtvll9GB908COu38L4/+sTrvaMa91bpTtmjrxDIsdrB/nYmCGCtHV6C4bI5KgqK43kD8o4w==","signatures":[{"sig":"MEUCIATdbKzsQAFDVLoJB1EO1rR+NEQ567eF9j8Fxk02nVoxAiEAwTXRdzOpo7rTqobsk0C+lR4AVHW68Xtgs7HNZcVrOME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.110.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.110.0.tgz","_integrity":"sha512-b1xTHt6JM6uqmsVgtvll9GB908COu38L4/+sTrvaMa91bpTtmjrxDIsdrB/nYmCGCtHV6C4bI5KgqK43kD8o4w==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.110.0_1785199248679_0.41997641739881475","host":"s3://npm-registry-packages-npm-production"}},"2.111.0":{"name":"@kb-labs/devkit","version":"2.111.0","license":"MIT","_id":"@kb-labs/devkit@2.111.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"1e2d54a4b4ad4c85001e351e5a0ee2fc310a701a","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.111.0.tgz","fileCount":94,"integrity":"sha512-zWOoOy7emp0HTd9kxRM9PrkchGf3HKIBbNgL2G/et8KyOsDYLwsXujOI6bWV7thSkb66BNjJ/Lckl/ruQsZ0uw==","signatures":[{"sig":"MEUCIESbMWUcHMobzbGERHM0fRa03Bsqe4iiiYOvKLsr5lUXAiEAitK8CpFLy3PfQNvRnh/btL+VqbONa+QalJoWhCXaEL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.111.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.111.0.tgz","_integrity":"sha512-zWOoOy7emp0HTd9kxRM9PrkchGf3HKIBbNgL2G/et8KyOsDYLwsXujOI6bWV7thSkb66BNjJ/Lckl/ruQsZ0uw==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.111.0_1785264826597_0.9802690705356871","host":"s3://npm-registry-packages-npm-production"}},"2.112.0":{"name":"@kb-labs/devkit","version":"2.112.0","license":"MIT","_id":"@kb-labs/devkit@2.112.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"f0462e106775a64fbac008a4b7d721048de914dc","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.112.0.tgz","fileCount":94,"integrity":"sha512-+1r38HeP4rUtZMt2V7W15fgTu0nY4nMqgKbAyJgRrgTMPXTvn4w3SF4kt9G3cHtR8PO4i5AHTk2QbU8kryz9fg==","signatures":[{"sig":"MEUCIFUrylNKFvvQHBb1aZy3gfOPqQRMoDzCVN/rXba8/JdRAiEAj6LHe2MPLeSEAiPtpCAJqP9nQg2PJHcZYEhDKbHPBeo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.112.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.112.0.tgz","_integrity":"sha512-+1r38HeP4rUtZMt2V7W15fgTu0nY4nMqgKbAyJgRrgTMPXTvn4w3SF4kt9G3cHtR8PO4i5AHTk2QbU8kryz9fg==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.112.0_1785307940926_0.8041391840425371","host":"s3://npm-registry-packages-npm-production"}},"2.114.0":{"name":"@kb-labs/devkit","version":"2.114.0","license":"MIT","_id":"@kb-labs/devkit@2.114.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"1e5792a333a3eebafaaa1662aa6bcf093d0d3fcb","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.114.0.tgz","fileCount":94,"integrity":"sha512-kHLO/HolWdViFt2UJj3QKOX87McmFITplCjOwRTlvpUDo5lfbqGkR4t7nkIcFH5w8AKplUlY8TK68gHxh+cBJQ==","signatures":[{"sig":"MEYCIQCu71cZ2xNGf/GRzJabfFJqYcbnZSVJwtWpTJoVRe2eVwIhAKufTTYK0KnKbKucTlsHkYXNOiwgSHp1A/fMC2OrjzIL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605405},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.114.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.114.0.tgz","_integrity":"sha512-kHLO/HolWdViFt2UJj3QKOX87McmFITplCjOwRTlvpUDo5lfbqGkR4t7nkIcFH5w8AKplUlY8TK68gHxh+cBJQ==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"workspace:*","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.114.0_1785449121835_0.5162818948424863","host":"s3://npm-registry-packages-npm-production"}},"2.116.11":{"name":"@kb-labs/devkit","version":"2.116.11","license":"MIT","_id":"@kb-labs/devkit@2.116.11","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"f210db60431a665cad7f1e00ffe8dcbcfec0bd35","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.116.11.tgz","fileCount":94,"integrity":"sha512-j5sAu7mEmKyHrp4YZLOmTx5RfcV0PZXWhrsF39OtpiVVqfIad+uuYtqTgWPXygE/Sv3tblQzZ3iXpzArTUnkgg==","signatures":[{"sig":"MEUCIQCD0F55OSf/mZ7adgzcz4C1MrwJh863FsL+8ZVxgo91FgIgYw4GOK7nEF/BEvwYKY5pZSQTabiQ9Ey++fbeyfE+EG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605231},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.11.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.11.tgz","_integrity":"sha512-j5sAu7mEmKyHrp4YZLOmTx5RfcV0PZXWhrsF39OtpiVVqfIad+uuYtqTgWPXygE/Sv3tblQzZ3iXpzArTUnkgg==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.116.11","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.116.11_1785618536741_0.14209304287701063","host":"s3://npm-registry-packages-npm-production"}},"2.116.12":{"name":"@kb-labs/devkit","version":"2.116.12","license":"MIT","_id":"@kb-labs/devkit@2.116.12","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"bc1154f3ac3888f2d7819204568559296735972f","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.116.12.tgz","fileCount":94,"integrity":"sha512-XQdvykyEtIMw4HjFFZrbgQ46uYHd9PlQ8ncI9R3QwKbC0neXdbKMvXMzi6HaKYYUf3mqNTo602qpUhvPiDvWcg==","signatures":[{"sig":"MEQCIDb2TTH+mCGSwhtgmp05W6x/fkQaoVBftb6gG56R45P5AiBJqd0TJ7nPe0rU4GdmknCXP+W7qj+pBK818XaulST5Yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605231},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.12.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.12.tgz","_integrity":"sha512-XQdvykyEtIMw4HjFFZrbgQ46uYHd9PlQ8ncI9R3QwKbC0neXdbKMvXMzi6HaKYYUf3mqNTo602qpUhvPiDvWcg==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.116.12","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.116.12_1785621853969_0.18877267603036296","host":"s3://npm-registry-packages-npm-production"}},"2.116.13":{"name":"@kb-labs/devkit","version":"2.116.13","license":"MIT","_id":"@kb-labs/devkit@2.116.13","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"faaa0cb09c3a0d57ddf565150191847a8561b35b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.116.13.tgz","fileCount":94,"integrity":"sha512-bQXQESPN7GwZd7dxIooVxsrjhUSDy7YOmReAWGPHC3EFBXqZJvj/4cpi5JQqQzE4cR9k54EZJvBuicvql47bww==","signatures":[{"sig":"MEUCIQC1Xb8UH9gqSvaEGLYFshU7BLxr6qVB0T++Elx9pugUYAIgJ5zpRXkg7mkRD8EPBrHvl39qL5RycOqsxcJDtyAG9BY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605231},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.13.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.13.tgz","_integrity":"sha512-bQXQESPN7GwZd7dxIooVxsrjhUSDy7YOmReAWGPHC3EFBXqZJvj/4cpi5JQqQzE4cR9k54EZJvBuicvql47bww==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.116.13","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.116.13_1785623482401_0.5186389002404734","host":"s3://npm-registry-packages-npm-production"}},"2.116.14":{"name":"@kb-labs/devkit","version":"2.116.14","license":"MIT","_id":"@kb-labs/devkit@2.116.14","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"78b8d126fe97d0606a0fb4111970f331f399afb4","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.116.14.tgz","fileCount":94,"integrity":"sha512-o99owJao458dKkTcqxzcVUEJgy+0Cczf5UaHTa4M6dSJcioaSfXUo3l46efrz2QhMvz+B6SlDgniKd/IjSmdJw==","signatures":[{"sig":"MEQCIF9HCmJ54qI3RTvAFEve4zzMvikJl8/cATUE1JZz3ky1AiBJ98ix9/2r0eWIFBtBOph1702GxtQmISRCvUw1rnd16Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605231},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.14.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.116.14.tgz","_integrity":"sha512-o99owJao458dKkTcqxzcVUEJgy+0Cczf5UaHTa4M6dSJcioaSfXUo3l46efrz2QhMvz+B6SlDgniKd/IjSmdJw==","_npmVersion":"10.9.8","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.116.14","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.116.14_1785625278408_0.6438467638010661","host":"s3://npm-registry-packages-npm-production"}},"2.117.0":{"name":"@kb-labs/devkit","version":"2.117.0","license":"MIT","_id":"@kb-labs/devkit@2.117.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ffd323178b1895c6c2bb590ea61a2414b8acd9d1","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.117.0.tgz","fileCount":94,"integrity":"sha512-iUMV4jP1k0SXrVvbcLbOSeOMj67Kbk2oyHQmWsjeY+5iiOJo/L0ynxXNLGY/0ekEh184rKs0njp7KyWihK2LEA==","signatures":[{"sig":"MEUCIQD3baHPklZ2730qyb6m1b4ekk88+cyatD/yFP5UxudqpAIgMLh/WwKmWJRYqII+M83IT0iig0GxADDO2sp4QvvPlRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605229},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.117.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.117.0.tgz","_integrity":"sha512-iUMV4jP1k0SXrVvbcLbOSeOMj67Kbk2oyHQmWsjeY+5iiOJo/L0ynxXNLGY/0ekEh184rKs0njp7KyWihK2LEA==","_npmVersion":"11.16.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.117.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.117.0_1786297962478_0.8875579490192163","host":"s3://npm-registry-packages-npm-production"}},"2.118.0":{"name":"@kb-labs/devkit","version":"2.118.0","license":"MIT","_id":"@kb-labs/devkit@2.118.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c5ab3fc5769f0bc7fab1b197c741f92de3520f32","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.118.0.tgz","fileCount":94,"integrity":"sha512-72VyB6gG6mzAsTLJwdxmfJjAywTbelhV8J9SVH4FDp0+jREK4YvgOePsi5l6m880Wji2sTve+Qbn9FCbprsS4g==","signatures":[{"sig":"MEQCIHO/MkuvDnOlCXiSW2lNWgni7n/vRm2BQqZaO3o15UAaAiAryYVjQ/zotii7cIH+AS79igF58KujBVmWK+Ucxr7KZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605229},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.118.0.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.118.0.tgz","_integrity":"sha512-72VyB6gG6mzAsTLJwdxmfJjAywTbelhV8J9SVH4FDp0+jREK4YvgOePsi5l6m880Wji2sTve+Qbn9FCbprsS4g==","_npmVersion":"11.16.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.118.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.118.0_1786471393052_0.3005081853292506","host":"s3://npm-registry-packages-npm-production"}},"2.118.1":{"name":"@kb-labs/devkit","version":"2.118.1","license":"MIT","_id":"@kb-labs/devkit@2.118.1","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c62dcaab7fb5b784968249d151811c1c7ae47ce5","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.118.1.tgz","fileCount":94,"integrity":"sha512-pvq8O3n1cunCv2WsS2jZDkD2qlYnd8DkxUEMdfP3iupDlOAeST2M5JWEY6s4Q2fczwMCtj362KnFUCr+axDzUQ==","signatures":[{"sig":"MEQCIB1agfKbd0OKsZ4hh+UF0SOgJD37Qxa0cnihToLZZUDiAiBdqXTLmNuVzHVUObGGQjx9SU/MevYC39Co9QvSfLK+gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605229},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.118.1.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.118.1.tgz","_integrity":"sha512-pvq8O3n1cunCv2WsS2jZDkD2qlYnd8DkxUEMdfP3iupDlOAeST2M5JWEY6s4Q2fczwMCtj362KnFUCr+axDzUQ==","_npmVersion":"11.16.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.118.1","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.118.1_1786524546562_0.9285634873286361","host":"s3://npm-registry-packages-npm-production"}},"2.118.2":{"name":"@kb-labs/devkit","version":"2.118.2","license":"MIT","_id":"@kb-labs/devkit@2.118.2","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"446f1aa11f6d2f884e1c54391f8d591a1d3916cb","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.118.2.tgz","fileCount":94,"integrity":"sha512-XE9jQYqBn3VSQW5IloGv0gy7u5G7BaAf2Sj+fDAhLNn9tqp/BdZU1ZphMPjLuruBgrDhXuA5qp5Hq8e7d2Ry1g==","signatures":[{"sig":"MEUCIChLC8l09H8iM6Nrv31hAl2go10zhVPzjqQ5+2xQNKEIAiEApK1w/ksvMMKwwhxoDulZCWYYJCddDGjHM/3Qi/sAtyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605229},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.118.2.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/artifacts/kb-labs-devkit-2.118.2.tgz","_integrity":"sha512-XE9jQYqBn3VSQW5IloGv0gy7u5G7BaAf2Sj+fDAhLNn9tqp/BdZU1ZphMPjLuruBgrDhXuA5qp5Hq8e7d2Ry1g==","_npmVersion":"11.16.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.118.2","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.118.2_1786573673607_0.08429301501660169","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.8c5512847":{"name":"@kb-labs/devkit","version":"2.119.0-canary.8c5512847","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.8c5512847","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"./bin/devkit-ci.mjs","kb-devkit-qa":"./bin/kb-devkit-qa.mjs","kb-devkit-sync":"./bin/devkit-sync.mjs","kb-devkit-paths":"./bin/devkit-paths.mjs","kb-devkit-stats":"./bin/devkit-stats.mjs","kb-devkit-health":"./bin/devkit-health.mjs","kb-devkit-fix-deps":"./bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"./bin/devkit-core-gate.mjs","kb-devkit-freshness":"./bin/devkit-freshness.mjs","kb-devkit-visualize":"./bin/devkit-visualize.mjs","kb-devkit-qa-history":"./bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"./bin/devkit-build-order.mjs","kb-devkit-check-paths":"./bin/devkit-check-paths.mjs","kb-devkit-check-types":"./bin/devkit-check-types.mjs","kb-devkit-types-audit":"./bin/devkit-types-audit.mjs","kb-devkit-types-order":"./bin/devkit-types-order.mjs","kb-devkit-architecture":"./bin/devkit-architecture.mjs","kb-devkit-check-configs":"./bin/devkit-check-configs.mjs","kb-devkit-check-exports":"./bin/devkit-check-exports.mjs","kb-devkit-check-imports":"./bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"./bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"./bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"./bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"./bin/devkit-check-commands.mjs","kb-devkit-check-structure":"./bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"./bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"./bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"./bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"./bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"./bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"cd2e07fdea59fbb1fd712e08263cbf39c26445c7","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.8c5512847.tgz","fileCount":94,"integrity":"sha512-nyVjlxNEEjrG8JgZoU5fCOwEn8fBEvwQjayfzmgGezDpOIfxAjiGp2YIbnpIEWTPrHxZr1TD3jS4jf/8tMUB9w==","signatures":[{"sig":"MEYCIQDl5DoYH2t9+UF0SXK1FjPrML4WEgjkF80ix+B0x5Y14AIhAI2HWJr3NrUFGA26HwveiPbp9cEC6H+6z11nygi2Mavb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605263},"type":"module","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.8c5512847","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.8c5512847_1786813419325_0.853305876303492","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.cee505c72":{"name":"@kb-labs/devkit","version":"2.119.0-canary.cee505c72","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.cee505c72","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"./bin/devkit-ci.mjs","kb-devkit-qa":"./bin/kb-devkit-qa.mjs","kb-devkit-sync":"./bin/devkit-sync.mjs","kb-devkit-paths":"./bin/devkit-paths.mjs","kb-devkit-stats":"./bin/devkit-stats.mjs","kb-devkit-health":"./bin/devkit-health.mjs","kb-devkit-fix-deps":"./bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"./bin/devkit-core-gate.mjs","kb-devkit-freshness":"./bin/devkit-freshness.mjs","kb-devkit-visualize":"./bin/devkit-visualize.mjs","kb-devkit-qa-history":"./bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"./bin/devkit-build-order.mjs","kb-devkit-check-paths":"./bin/devkit-check-paths.mjs","kb-devkit-check-types":"./bin/devkit-check-types.mjs","kb-devkit-types-audit":"./bin/devkit-types-audit.mjs","kb-devkit-types-order":"./bin/devkit-types-order.mjs","kb-devkit-architecture":"./bin/devkit-architecture.mjs","kb-devkit-check-configs":"./bin/devkit-check-configs.mjs","kb-devkit-check-exports":"./bin/devkit-check-exports.mjs","kb-devkit-check-imports":"./bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"./bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"./bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"./bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"./bin/devkit-check-commands.mjs","kb-devkit-check-structure":"./bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"./bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"./bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"./bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"./bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"./bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c2aa6fa3aff3e40417213bb0dc940ab8ad0b792d","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.cee505c72.tgz","fileCount":96,"integrity":"sha512-IzwO3SlTTk62YCRhlFFuONkXPxBPIO6J8/AfXNhDAjDSh8hkP6pnDAp3O9pe9YQd03oKZapgp0lLwTlbCEysdA==","signatures":[{"sig":"MEQCIFWjPvRrifme0tJZWo6Wo+WH6ztGhhe+t9lnwVgHKg7eAiAoo+nDfNuubClOW9Syzbun0ubFCu7h94fhNjAnSbsIdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615457},"type":"module","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.cee505c72","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.cee505c72_1787087245686_0.14509626863424807","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.85d060ea6":{"name":"@kb-labs/devkit","version":"2.119.0-canary.85d060ea6","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.85d060ea6","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"./bin/devkit-ci.mjs","kb-devkit-qa":"./bin/kb-devkit-qa.mjs","kb-devkit-sync":"./bin/devkit-sync.mjs","kb-devkit-paths":"./bin/devkit-paths.mjs","kb-devkit-stats":"./bin/devkit-stats.mjs","kb-devkit-health":"./bin/devkit-health.mjs","kb-devkit-fix-deps":"./bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"./bin/devkit-core-gate.mjs","kb-devkit-freshness":"./bin/devkit-freshness.mjs","kb-devkit-visualize":"./bin/devkit-visualize.mjs","kb-devkit-qa-history":"./bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"./bin/devkit-build-order.mjs","kb-devkit-check-paths":"./bin/devkit-check-paths.mjs","kb-devkit-check-types":"./bin/devkit-check-types.mjs","kb-devkit-types-audit":"./bin/devkit-types-audit.mjs","kb-devkit-types-order":"./bin/devkit-types-order.mjs","kb-devkit-architecture":"./bin/devkit-architecture.mjs","kb-devkit-check-configs":"./bin/devkit-check-configs.mjs","kb-devkit-check-exports":"./bin/devkit-check-exports.mjs","kb-devkit-check-imports":"./bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"./bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"./bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"./bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"./bin/devkit-check-commands.mjs","kb-devkit-check-structure":"./bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"./bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"./bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"./bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"./bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"./bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"773abb1276e24d1e502cafd52192b0b9df61a2c9","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.85d060ea6.tgz","fileCount":96,"integrity":"sha512-b15f/oDsFk56GlewOq2Fe94lPNc19LboPYx9++itMZJfF/X5oF29/e/ntaa6xTuPeczr/JbYsa8qUggchyEdbg==","signatures":[{"sig":"MEYCIQCpf0g291Y2OoKa09e1llztkDeHxZ8fIMvD6J1iwOpcfwIhAOSZe+IE5pmQBLX49fS8azsBTNu63DDPKq2pNoCn02A8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615460},"type":"module","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.18.1","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.85d060ea6","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.85d060ea6_1787250479854_0.7164125826818639","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.c64d2c41e":{"name":"@kb-labs/devkit","version":"2.119.0-canary.c64d2c41e","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.c64d2c41e","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"63ccedd1f72e3b9cd2ed9f6ad340b424051706ca","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.c64d2c41e.tgz","fileCount":96,"integrity":"sha512-dIItuamwrblBziIfqY6ddoW59Bv9W7QVhWVt+pf/5axKvbk+foJQGTlRn8YlkpdVCd75lnP4I2xquRyVv8C4Cg==","signatures":[{"sig":"MEQCIG6ZqO8ynmNCNJVMWH4BRNleZU+lwu7Rm3Irlu3ECFzTAiBpNM9W3RayX4pmHzf2EmlRlfq3wBFzJB1v+oAbIOs/Qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCiKVSQpGQKgrl4EzyPizDC6B6edIcBL53Bv577/Kd5dwIhAK7+ZeLK9t7qwfzbdfrN0Ce0JG3HuYy15AdlD0wYqPCj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.c64d2c41e.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.c64d2c41e.tgz","_integrity":"sha512-dIItuamwrblBziIfqY6ddoW59Bv9W7QVhWVt+pf/5axKvbk+foJQGTlRn8YlkpdVCd75lnP4I2xquRyVv8C4Cg==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.c64d2c41e","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.c64d2c41e_1787609154160_0.396759066657731","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.0b1ec4151":{"name":"@kb-labs/devkit","version":"2.119.0-canary.0b1ec4151","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.0b1ec4151","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"a3c78a9011f9172356cdba44725b5d9361d817d2","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.0b1ec4151.tgz","fileCount":96,"integrity":"sha512-ct5H4TCfmD9hmc++gXzKljLIgLMJ3aboum6UCH6wNGz4xOm3PlyUg9Kt4GbE6MYozBuYtzGrvR3ot/4wuggK0w==","signatures":[{"sig":"MEUCIQC3OvItU+dh5twxXun8Ysjce8dqarDHmCNUjUzvBfmfIgIgPL43tqSnz6G0E9CUaPR4wN/7eM2nLTAK5lILRAz3g00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE6nO0TQb0qpvNnVSO72TzXjTxQ5BAkiCNA3jEi47xCHAiBbeujz79HOKk52Hb2z5bOci6kt6TJIddFmqdWiFkLLNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.0b1ec4151.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.0b1ec4151.tgz","_integrity":"sha512-ct5H4TCfmD9hmc++gXzKljLIgLMJ3aboum6UCH6wNGz4xOm3PlyUg9Kt4GbE6MYozBuYtzGrvR3ot/4wuggK0w==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.0b1ec4151","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.0b1ec4151_1787611166713_0.1364829362152158","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.2077501f1":{"name":"@kb-labs/devkit","version":"2.119.0-canary.2077501f1","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.2077501f1","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"195b8636c39f9cd1e5aeda9c70411499eb78eb50","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.2077501f1.tgz","fileCount":96,"integrity":"sha512-q8t1eydbz659vja/YdR/90p8/7birpj7xqSJkqzXIqk7ixYOnOogtNl15kd6sjoxpYLXFjoyk52t6DZRElFdEw==","signatures":[{"sig":"MEYCIQDsa+QqsAkGpuQEuNVw6vB6figIoMbHi/ctxCdvYO/1DQIhALpTFGd5XbQ/WkfTEOgW44VEg/dCnJz5Pe1PKNQXB5Sh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFXNqhQioSAM1AEdmhuyQNy9qfvr2s1OJEHaUyYNpMAgAiEAiZts9NDpI2PXZ+zHfUlAyL3RYJTFtzOxvG3ZrtTA5ho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.2077501f1.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.2077501f1.tgz","_integrity":"sha512-q8t1eydbz659vja/YdR/90p8/7birpj7xqSJkqzXIqk7ixYOnOogtNl15kd6sjoxpYLXFjoyk52t6DZRElFdEw==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.2077501f1","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.2077501f1_1787613982652_0.7481530161356285","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.b20fd4a5b":{"name":"@kb-labs/devkit","version":"2.119.0-canary.b20fd4a5b","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.b20fd4a5b","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"3e5ed35dba74bab92beb6c6d81dbf7bacd10f0da","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.b20fd4a5b.tgz","fileCount":96,"integrity":"sha512-17BxEcJWwcJwAXGuMGH7jOCL9trnaU/D/bdUvp1RFwiUduD8H9yE1KThexDeeIpMCmHPx/fpEZo1nH4Q60Lg/Q==","signatures":[{"sig":"MEUCICMgKN4iz1JVg6MGjevV6ZXlqyOcE+7kJlqmAxnz+OlzAiEAh5s150sb0EHXhw6+02n5L/FFBeAV3mY3A6+gfN7eNEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF9drAprkDki3QcnHMFhoHOBaWlac5nfl/vsXLGjkmZZAiEAwehueae5/KZunAOVjp7dGqhWXyACHbC75VIPsHFXLPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.b20fd4a5b.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.b20fd4a5b.tgz","_integrity":"sha512-17BxEcJWwcJwAXGuMGH7jOCL9trnaU/D/bdUvp1RFwiUduD8H9yE1KThexDeeIpMCmHPx/fpEZo1nH4Q60Lg/Q==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.b20fd4a5b","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.b20fd4a5b_1787625748389_0.5925773733984647","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.448a88d0f":{"name":"@kb-labs/devkit","version":"2.119.0-canary.448a88d0f","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.448a88d0f","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"46783db4306171aa9d5273d3742be7ec3e4378ad","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.448a88d0f.tgz","fileCount":96,"integrity":"sha512-Putu4YFijZwKYUOJHrNzyw3Dt5lpmfWfuYUIp+58FEnof9p6xMnCvQI2HM7dPfKvC4tAc6uIFIzFwyQKebJIsw==","signatures":[{"sig":"MEYCIQDZurpKkktxd93ZQtNcjt3tDDJeEf84zWNgKHsMVgVNlQIhAOVTKbceFWdLlK/fn5vNjj1vxgHKfvNY4dyK/K7yNDqy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDcFzCZZ1Pp/6z8CE3EOpBtc5tE4ZHjYcdl1zPJsJOnzwIhAKizyvhqpk/8aUANIX3+cZ6gXmGlBGY7z3BfWkAzqHaB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.448a88d0f.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.448a88d0f.tgz","_integrity":"sha512-Putu4YFijZwKYUOJHrNzyw3Dt5lpmfWfuYUIp+58FEnof9p6xMnCvQI2HM7dPfKvC4tAc6uIFIzFwyQKebJIsw==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.448a88d0f","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.448a88d0f_1787638604401_0.210469804026026","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.e120bc0ee":{"name":"@kb-labs/devkit","version":"2.119.0-canary.e120bc0ee","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.e120bc0ee","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"5762cc32825f910942cf028be91f6f2d90a3187b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.e120bc0ee.tgz","fileCount":96,"integrity":"sha512-IAJ6fUqCbtKjyH5P2W/fNyCAjLNYoILx7d6HctvFAkHODbLO21nJc2wA97YQq5ZelWodqnwMFjDE3sF6pyvdgw==","signatures":[{"sig":"MEYCIQD67SwVt11jnh2yuRbiXXQcki6MGWb/k2Earqi4YZBD0wIhAL3Od2Gv3dc4JZzYQcMD6whsQW4/qMHbnASLbcWUHzz9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4tfkZiORLX504bJt9W5LTSHJg2wVUAsNiD6mxBWVeSQIhAN2kwPDC15GJmVLauBIY44T0ZLNJ34ZXNvjMlW0Tu31H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.e120bc0ee.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.e120bc0ee.tgz","_integrity":"sha512-IAJ6fUqCbtKjyH5P2W/fNyCAjLNYoILx7d6HctvFAkHODbLO21nJc2wA97YQq5ZelWodqnwMFjDE3sF6pyvdgw==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.e120bc0ee","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.e120bc0ee_1787640885076_0.1302935018863749","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.6ec5ad2e4":{"name":"@kb-labs/devkit","version":"2.119.0-canary.6ec5ad2e4","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.6ec5ad2e4","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"735107d0b03e908e995d01944931a8928754dd8a","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.6ec5ad2e4.tgz","fileCount":96,"integrity":"sha512-3XzIIBhZ04Gr99Z44WoKuxxlSUGn8/aKf6TZ8mRYUGPTzNSp08iNijhvDEUFkyYIfgMKq0Mn2DoXNUtIygCh0A==","signatures":[{"sig":"MEQCIGOIZ0nXmJ14o5kj7S+UwRntWIcHQjCsYsr/H6NVj4/xAiApVPhRd2Ywgfto01fgwScDvVNZlPwFFh3GfsfI+hanew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID+kYueBcmYdAM0tSbdf6B8NRkm8exIvAJx3f19PBttSAiEAoyxF8gzJWTIsx6/NxypGsEjhMU8pJvll/Ovff2Fw6y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.6ec5ad2e4.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.6ec5ad2e4.tgz","_integrity":"sha512-3XzIIBhZ04Gr99Z44WoKuxxlSUGn8/aKf6TZ8mRYUGPTzNSp08iNijhvDEUFkyYIfgMKq0Mn2DoXNUtIygCh0A==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.6ec5ad2e4","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.6ec5ad2e4_1787671534198_0.8083406243434246","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.f8394d5fd":{"name":"@kb-labs/devkit","version":"2.119.0-canary.f8394d5fd","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.f8394d5fd","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"68830d09b19ec00ef8c92f1e9f60c6a0167fcf44","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.f8394d5fd.tgz","fileCount":96,"integrity":"sha512-81wiTrEtkYCPB9+A8+zVTnKU9dzbwFoEa4SJZhok8JFQTRSroJjH1T0JFEKM/TJXgaYPcEciLq5I+MYx22Gjog==","signatures":[{"sig":"MEUCIA/2IIJgF18QhhOqkW/3QttXHAzdiw8O2xeEuYquOpNWAiEA/pV+Gyt0isFJV8OAhiXfz2ufanC68pcTj+8Fs4hwNSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICVXseh0uaTzrRjtL8mi82sCXNK9N4TSudozX/o50LREAiB0MKZdVMp+c3X9joN0dkQ7uWFJ+zWmnCBvwVwK73jxEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.f8394d5fd.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.f8394d5fd.tgz","_integrity":"sha512-81wiTrEtkYCPB9+A8+zVTnKU9dzbwFoEa4SJZhok8JFQTRSroJjH1T0JFEKM/TJXgaYPcEciLq5I+MYx22Gjog==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.f8394d5fd","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.f8394d5fd_1787675493782_0.9217219255267202","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.bb3d7f2f1":{"name":"@kb-labs/devkit","version":"2.119.0-canary.bb3d7f2f1","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.bb3d7f2f1","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"915f66419ee54500261e07dd9e300279ab5f07fb","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.bb3d7f2f1.tgz","fileCount":96,"integrity":"sha512-4r2E6fMNflcV0VXTn3bI+lZ9MvQr01m++X22RKkhfF/9Nyh0hQCmiq5CMlD7dOT3uhO92PRCju6nnz6Vw1kRKA==","signatures":[{"sig":"MEYCIQCkWRz8iB02dQijAvqFujRvE/B8qHG9KcMPSl0qOv674gIhAIuqPfWy/BMhcKVFelPFQvXavyaMJA1Ylbhyt8XTGSJV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBUNqF67axSSQmK/rw5CoO/sLu7N9bnho7QVLWbB89VrAiBZcbyDVaPKC/DYoCvu3Tw08lCuDNV2SULf5VLxzQIJfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.bb3d7f2f1.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.bb3d7f2f1.tgz","_integrity":"sha512-4r2E6fMNflcV0VXTn3bI+lZ9MvQr01m++X22RKkhfF/9Nyh0hQCmiq5CMlD7dOT3uhO92PRCju6nnz6Vw1kRKA==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.bb3d7f2f1","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.bb3d7f2f1_1787681063099_0.32113556524067155","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.3edea00f6":{"name":"@kb-labs/devkit","version":"2.119.0-canary.3edea00f6","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.3edea00f6","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e51c59adbdc55042ed31f542bc61478f75577189","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.3edea00f6.tgz","fileCount":96,"integrity":"sha512-bNRZcdECNuux6vFBR3esqOySrNzqXKWp2wtc7y8rDxCZhx97TFZ42q/VnVZaErn0+SNdwjEEboRFNvo8twx6RA==","signatures":[{"sig":"MEQCHx+zvlLt244xx72vKCrht92vW8bbG8HRmUxCDS0UMz8CIQDqgMKOjhmR03XVPrN3dS820NJ+OS3/iAqzp1Hd5alPLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGgKjOmBCSYNveSAiqnV9B0pB+10GAZz2TsLWk/1VYsrAiBJbFF6y6KbqxzUhb2oxwaJ9CP50e8ux2Riw5QI+vRW9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.3edea00f6.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.3edea00f6.tgz","_integrity":"sha512-bNRZcdECNuux6vFBR3esqOySrNzqXKWp2wtc7y8rDxCZhx97TFZ42q/VnVZaErn0+SNdwjEEboRFNvo8twx6RA==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.3edea00f6","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.3edea00f6_1787765234000_0.3661168935084995","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.8f939a290":{"name":"@kb-labs/devkit","version":"2.119.0-canary.8f939a290","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.8f939a290","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"cb03ddfba1dd79a30e021a56033c48fe080c8bf2","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.8f939a290.tgz","fileCount":96,"integrity":"sha512-wjMHnD5VPxWaPXp4bGRt6AjNNEp+g1rN4VZCtgrSk9PaXNMFCb2AvjhhokZhgYNKHlG7RV9kqBHOM2+GWHCGEQ==","signatures":[{"sig":"MEQCIFwZoS+vhsnEqaUtLCRFBgpcTRBzFDMDAtemhfZg8hxLAiAXkkcV/tTyalKN7uzl23iw4+xPksj3xlEoglvCzmaoXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCIJu05iJ5P7zaji0jMOz1T2n43L3M85/bFQGt68lD96wIgD4cCz7Qem/X3LNgJSSMs2VCiwKO+F0/4e46VXvFdNhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.8f939a290.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.8f939a290.tgz","_integrity":"sha512-wjMHnD5VPxWaPXp4bGRt6AjNNEp+g1rN4VZCtgrSk9PaXNMFCb2AvjhhokZhgYNKHlG7RV9kqBHOM2+GWHCGEQ==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.8f939a290","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.8f939a290_1787788233423_0.42580876920760424","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.0c078654e":{"name":"@kb-labs/devkit","version":"2.119.0-canary.0c078654e","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.0c078654e","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"0ed5a86d38ad107139c32971ca20ad0ffc6fc164","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.0c078654e.tgz","fileCount":96,"integrity":"sha512-bqK0II4kIy8sR6xqt7dKHgXea18zUHqGr0GBIqs+8utBkoIKhBOwPb120EZ980bczX9/HunW/Fq7sagmjO5kkQ==","signatures":[{"sig":"MEUCIAEtASnJbO4QTVm+sAT3DGaU+Ar0D/Qs1IoJWoUUnJWjAiEAz8yMGjK1XOeEN7z1QnmBjPIPTSweF8C06FV5fajFIS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2ozuZwpoqpuTeWNb/rvlrmfu1i0JDtAjv1oXGwWORBAIhAN2e9uVYnlX8sttWYVNIo/B6PGPamUU/gAVecyGdqxI8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.0c078654e.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.0c078654e.tgz","_integrity":"sha512-bqK0II4kIy8sR6xqt7dKHgXea18zUHqGr0GBIqs+8utBkoIKhBOwPb120EZ980bczX9/HunW/Fq7sagmjO5kkQ==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.0c078654e","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.0c078654e_1787790437189_0.0013539456510096581","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.ce846d079":{"name":"@kb-labs/devkit","version":"2.119.0-canary.ce846d079","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.ce846d079","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"588692ce7c9b461a2f15d17734ac492e86a55263","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.ce846d079.tgz","fileCount":96,"integrity":"sha512-jRkVbDUL2UxkdfjaAsbENlfXwcRWVtWKySWGNO0OvUvfZ96+EpDb3SH9U9Uv2SwSRCdETXQu7LByPBOqc9K2yA==","signatures":[{"sig":"MEQCIFtdp4kY3hsh+uAE+CCASIJKDih9rc2P6yrjyzBvgsLcAiBDzJdU3oxOd08ddfTmWc5O+i2kpJorx3KczD3ZiIjGGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCq4ISFBDEdwlrX3k3CpumFHp/aq2U/7L9QToCLKCB5rwIhAN5zGAaF59e2uDjLnihM3qErct3cZfqY8Fg9Kcbz7WQg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.ce846d079.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.ce846d079.tgz","_integrity":"sha512-jRkVbDUL2UxkdfjaAsbENlfXwcRWVtWKySWGNO0OvUvfZ96+EpDb3SH9U9Uv2SwSRCdETXQu7LByPBOqc9K2yA==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.ce846d079","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.ce846d079_1787793842812_0.2334994724655357","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.62ffd5965":{"name":"@kb-labs/devkit","version":"2.119.0-canary.62ffd5965","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.62ffd5965","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"6565f27e7d6265684c7aec9fa5ccad1f4deb07bd","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.62ffd5965.tgz","fileCount":96,"integrity":"sha512-VaYf/bGRufkGtpZjDgMoh7BHNiXHzuvKrNM8EZEsM3JAqGARGiUxiInfCja2UcvDxsYzvmWvHxvmehzMVZBa1g==","signatures":[{"sig":"MEQCICFCjUbD46aug/peiBtBXPP1Fsjxr07r6kMwEZV2heIwAiBHPJQrh/b+6GnwdgTIDi94cGcrY1GjYQJpVVVfhqgwiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDDK72FftF4hTzldNd0QKYUuZAjIADM8/ghQUyegDybOgIgZjLRTfr2eV+aylSg/QcyY+G5YG6cA+iDeNHKMnJJ1Qo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.62ffd5965.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.62ffd5965.tgz","_integrity":"sha512-VaYf/bGRufkGtpZjDgMoh7BHNiXHzuvKrNM8EZEsM3JAqGARGiUxiInfCja2UcvDxsYzvmWvHxvmehzMVZBa1g==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.62ffd5965","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.62ffd5965_1787800071304_0.3391233950317123","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.1b2bf822b":{"name":"@kb-labs/devkit","version":"2.119.0-canary.1b2bf822b","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.1b2bf822b","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"dbbb7ede7b558d5f207e374382013be8ae6d5cfa","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.1b2bf822b.tgz","fileCount":96,"integrity":"sha512-neBWl+45YbRpzPO8L74tbhkk6rEBQHUVz+/D6I2bM/xGup88s0t38ub8l7p9UBkWzr6teravhqrnHNaeckZGzQ==","signatures":[{"sig":"MEUCIEhp8f7/3vw+9ymqirGnT0De76zZnpQJhRYdOZC3wkNFAiEAvutzUiZbHVebBMcqX1jm+fEAtGQUlm4LTopOYZbujzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCxXHM4JpN/99Z4rKWnvmS7Fc8Pa7i6E+5KDvQ9mFIHXAIhAKH71c0sWqUCllBObQOENC0gA43Uo1vQuoUBgk4FR85q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.1b2bf822b.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.1b2bf822b.tgz","_integrity":"sha512-neBWl+45YbRpzPO8L74tbhkk6rEBQHUVz+/D6I2bM/xGup88s0t38ub8l7p9UBkWzr6teravhqrnHNaeckZGzQ==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.1b2bf822b","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.1b2bf822b_1787804511011_0.9513142209446501","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.602573533":{"name":"@kb-labs/devkit","version":"2.119.0-canary.602573533","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.602573533","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"9b65ef0e3972581dbbf64ded22eb520616c855fe","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.602573533.tgz","fileCount":96,"integrity":"sha512-cJdroYeH7Z75aZm62F+M/pucF5e5cLm2yWT2Djqk8YdkPJa67BAKfNUN/ggEWxYBvY14+q8RQ/KMp1MgGt7x9Q==","signatures":[{"sig":"MEYCIQCNs1fgrvoxrmugfcV0Mb954F7tdijSw75Ng/qmOvRJpgIhAJ7bUsTwyx4h79LSENr31cw5vu+9EpMORADxy1gFBwM1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDz6DtGW/DE0FpfhhmzCabfOAnaEuxPGsHCfC5XH5Ty1AiEA2DJ3S8RmxYMgEf7llRTzsQId/JCTC8YibEx1uv5Xqs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.602573533.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.602573533.tgz","_integrity":"sha512-cJdroYeH7Z75aZm62F+M/pucF5e5cLm2yWT2Djqk8YdkPJa67BAKfNUN/ggEWxYBvY14+q8RQ/KMp1MgGt7x9Q==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.602573533","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.602573533_1787821862653_0.5554643148185279","host":"s3://npm-registry-packages-npm-production"}},"2.119.0-canary.0b4b21a55":{"name":"@kb-labs/devkit","version":"2.119.0-canary.0b4b21a55","license":"MIT","_id":"@kb-labs/devkit@2.119.0-canary.0b4b21a55","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"f710758ec697cb81cc3834f2c24b7d1370801407","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0-canary.0b4b21a55.tgz","fileCount":96,"integrity":"sha512-ue9/pSl97CNMRDNsbeXElUKJfx/lA3V2q7UlrsD0Oa5Eo+WDTBHMCaTsQwd/HL+iWH1MTufQQ2Tkc7sOvd8SEA==","signatures":[{"sig":"MEUCIQCmPJmbAC1vIJDJuQwUVY3FSzC9G8QMAfYe99toepvBuwIgdE0v38a/Sota+ZDrajBEoZgFLfWwL3h5hGwj4FWJ+K0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDydVbdkJ1Wo163ZPDJMkflGCtzqHQun4Pq+ETPP7163AiA4YPUNYyt5ovixIMvuygt8dHYmxv6s683H6QkAYYLh9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.0b4b21a55.tgz","engines":{"node":">=22.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0-canary.0b4b21a55.tgz","_integrity":"sha512-ue9/pSl97CNMRDNsbeXElUKJfx/lA3V2q7UlrsD0Oa5Eo+WDTBHMCaTsQwd/HL+iWH1MTufQQ2Tkc7sOvd8SEA==","_npmVersion":"11.17.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0-canary.0b4b21a55","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0-canary.0b4b21a55_1788376643107_0.07860378125598433","host":"s3://npm-registry-packages-npm-production"}},"2.119.0":{"name":"@kb-labs/devkit","version":"2.119.0","license":"MIT","_id":"@kb-labs/devkit@2.119.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"6914e85fe0e42f23e5653fd68b5b7700e4b157d0","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.0.tgz","fileCount":96,"integrity":"sha512-tVYpjK0oDt+3LXubzPD34J36kcSXbBaNh9XC2CIyH4QS9M8r7TPayOdKyUI8nQrW6/etNJcSk5y286h/IK7Pxw==","signatures":[{"sig":"MEUCIBXXugcVxd5V8k5RKmxMtqx7xDZf9s7z7oFZXO3+ARluAiEAzik+5VUfnbhjxUp1iVmcF0CaY8WBzCf04KtYP4uOyO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB/dL33Kzteb7C0z46+BAJo0Z8TmVWPA0RkqHzWdjtQ7AiEA2H0zHGbKrnig7Cj1Et0aW+5bI3bWzwfKMTYIb05Pl1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615374},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.0.tgz","_integrity":"sha512-tVYpjK0oDt+3LXubzPD34J36kcSXbBaNh9XC2CIyH4QS9M8r7TPayOdKyUI8nQrW6/etNJcSk5y286h/IK7Pxw==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.0_1788635032043_0.7839248494441895","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.b53bbee1d":{"name":"@kb-labs/devkit","version":"2.119.1-canary.b53bbee1d","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.b53bbee1d","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"6197b3dd5569e2e7db687613edd07b47d49c88ee","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.b53bbee1d.tgz","fileCount":96,"integrity":"sha512-j+uLMant989H6hB1m1PqzbEknp9vNcZZmEyn3S7WUPotKDeab93Dzt5eBlReUouQgPRB/hsPCrIbRcr0C5evhA==","signatures":[{"sig":"MEUCICfpuqrNGKqBJNBqX6kEfzfQVCAzbt4O71Zv/cPB5ikvAiEA5b/UvIQQik53HXKrM/fYHA/8TiC2fFuEOXxLrXMC7uA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDb/msG822IbLK1/hnfmxIJtzGeDjoubMByrvhZSlxzhAIgdRL2eeA4LM4DA4O5ycpxmu+C7f4drfS6bfaxGpTfVpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.b53bbee1d.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.b53bbee1d.tgz","_integrity":"sha512-j+uLMant989H6hB1m1PqzbEknp9vNcZZmEyn3S7WUPotKDeab93Dzt5eBlReUouQgPRB/hsPCrIbRcr0C5evhA==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.b53bbee1d","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.b53bbee1d_1788649598398_0.9602660067712891","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.a6aa9b388":{"name":"@kb-labs/devkit","version":"2.119.1-canary.a6aa9b388","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.a6aa9b388","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"0d36e3166f60589ddbf7bb4b54d8288329c9f741","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.a6aa9b388.tgz","fileCount":96,"integrity":"sha512-bc1e0E+wwb+32Ee5cuzx8PYdPfyS2SMZKQi2AZAlz3xqhLpxiowNBiwG9Fd9cPJovIPOKayR8myuYJ1YuRRndw==","signatures":[{"sig":"MEUCIQCgfcW9k3Bge1m9CaMbM/7Lkdi8WEwfqai88ZSVNINB+wIgJ+lHfojAsLjHpS7+hyMEcKUgP3Pccp5PKUVuSTwLxqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDnLzBDMHXHa2s4V8Ut1BEfZCEDL6tkxiiOVkqJly+IBAIhAPjCoEmr4TEy2HjKahPJ8jh/IaQ/1Hc+ZMn6/WbhHzlS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.a6aa9b388.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.a6aa9b388.tgz","_integrity":"sha512-bc1e0E+wwb+32Ee5cuzx8PYdPfyS2SMZKQi2AZAlz3xqhLpxiowNBiwG9Fd9cPJovIPOKayR8myuYJ1YuRRndw==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.a6aa9b388","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.a6aa9b388_1788653759632_0.33873358273703014","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.57c3a1e5e":{"name":"@kb-labs/devkit","version":"2.119.1-canary.57c3a1e5e","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.57c3a1e5e","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"c7ebab04a3afce7b79405629013d811b2d70b889","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.57c3a1e5e.tgz","fileCount":96,"integrity":"sha512-7XMqDuS63QBdjvlqCkVx9Jwn2r4qS9zAs3xvlodFziOTPGNJi8bK97TFkXNZ3LdEmrmAoUuCN0M0XNZMtnPGnQ==","signatures":[{"sig":"MEYCIQDRLhbOF1eZ+EU6Pljm17SCDH+DTLhW3gJ81D6U6oj2ggIhAJoGDiMI5D5HsHBsRSUmeI+Ho0MIeGRkrrSa/tz/SLtb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGhor7tk3ql8x/WrxGqB0cqp+YJZl+ACpmsDcKIspChSAiEAuniE9fbP8pjSF9Yp9l/OTz1qi/Gs7Ikplmp7Cu2ujlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.57c3a1e5e.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.57c3a1e5e.tgz","_integrity":"sha512-7XMqDuS63QBdjvlqCkVx9Jwn2r4qS9zAs3xvlodFziOTPGNJi8bK97TFkXNZ3LdEmrmAoUuCN0M0XNZMtnPGnQ==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.57c3a1e5e","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.57c3a1e5e_1788657861557_0.8896060984227927","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.1e87213c2":{"name":"@kb-labs/devkit","version":"2.119.1-canary.1e87213c2","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.1e87213c2","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ab4583c358727e85c2918cf7444df5ec6958381b","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.1e87213c2.tgz","fileCount":96,"integrity":"sha512-+JuceeDWGhAH0lyxZ8umIXFA2N5SzyhupitCJDhRMo/4kw4FXVowVMc5x6SY376meyg9L/Fuue84ibyR+Ww9wA==","signatures":[{"sig":"MEYCIQCwXLJqzR3Z/Nbgrayzv+y5Zh6Y9D4QM0LcNsuO6CEmpAIhAJpgABiJ5rZeAfXzZ45rxvaKmM8XEkB7OxTbTiCw5u4b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB0lLOYOlX+vUC/wdWJSi8BrsNvdIRrtlIBkoEW9nV+aAiAlFoBaXIKskrlDictT/4zZnY8Yo4DcjKSCe8OkWhm6fQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.1e87213c2.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.1e87213c2.tgz","_integrity":"sha512-+JuceeDWGhAH0lyxZ8umIXFA2N5SzyhupitCJDhRMo/4kw4FXVowVMc5x6SY376meyg9L/Fuue84ibyR+Ww9wA==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.1e87213c2","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.1e87213c2_1788661337649_0.1520019006075175","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.ee03bc25d":{"name":"@kb-labs/devkit","version":"2.119.1-canary.ee03bc25d","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.ee03bc25d","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"55cc119a72f9fcb23a7373f55dd035f9525cd645","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.ee03bc25d.tgz","fileCount":96,"integrity":"sha512-8nNo0P3QpjvZ0cvNcA+4zDrU+1jcS0Zgr7j71eMXywUwzfdpS21l2lY/8Y6jYWE5pfjXVmjei7mfGqt8LZxgQg==","signatures":[{"sig":"MEQCICJThhquxHWJiHsU/itlo2uFH/wTsdhyjVkoPWRkcJP6AiBMgsQl9nhjg8ChXN4ckTPh7texK0nmQXl3TV0sLjktgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICG67P/bQ9zJQDxZVizpIownVlp0SbKhPXEAN9NTIcTHAiEAs2gR28vb7+r85BXEATmcmsF7/8WZ3ibAuTWMBUB2oGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.ee03bc25d.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.ee03bc25d.tgz","_integrity":"sha512-8nNo0P3QpjvZ0cvNcA+4zDrU+1jcS0Zgr7j71eMXywUwzfdpS21l2lY/8Y6jYWE5pfjXVmjei7mfGqt8LZxgQg==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.ee03bc25d","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.ee03bc25d_1789209967030_0.5638691332345758","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.a73502f0d":{"name":"@kb-labs/devkit","version":"2.119.1-canary.a73502f0d","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.a73502f0d","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ec674b8675c14db7d5070e8fcaa0653a6a80cbb8","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.a73502f0d.tgz","fileCount":96,"integrity":"sha512-OMLogBjHSbPGGMQuQONTCjVETC8kq4v+3MnkEGRrdvt2FvyDhA1Wus2hEhMJP4/bI+p1Ubx2n1Fl6ZS/xGbJgg==","signatures":[{"sig":"MEUCIBy/Ga3PEMksW1bK6qHFcIp8ThxxXzI/DJ7kyAbaPRPxAiEAropt7XiP3EAVZpKHZUQehwmQIx0wm933D6aDRcHydtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDVhxxT6N5mfBHkQQVO9pTRxQ1dvzjFZZv5sF6ESSJPUAiEAu15rpfz2h2GQdiVeQbnRTe+5Uk5QII4XutbyfniYD8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.a73502f0d.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.a73502f0d.tgz","_integrity":"sha512-OMLogBjHSbPGGMQuQONTCjVETC8kq4v+3MnkEGRrdvt2FvyDhA1Wus2hEhMJP4/bI+p1Ubx2n1Fl6ZS/xGbJgg==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.a73502f0d","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.a73502f0d_1789258088985_0.7303472100900759","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.e834e2cf9":{"name":"@kb-labs/devkit","version":"2.119.1-canary.e834e2cf9","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.e834e2cf9","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"772058e7b02972ed5f248d23e8fcdcb7613ff95f","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.e834e2cf9.tgz","fileCount":96,"integrity":"sha512-kLa+rFMM0HrctYMGAAMxNxw9tXgpx5Jo5C9LgoL7Dfb9xQRzmCKIj9o1IqU//FKGQkXp8WooJ1SZ4J1gIsYNFA==","signatures":[{"sig":"MEUCIQDs1K7R143vGvv4HO9sKIwDcBUMPdKO54rmw7O2/3j8VgIgLjHTkRr4M/DZSpFOIRCNmRqPZF2HdsFDCBiktKaNVJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhirNjOt9CJomvJ2ol2b7GOAXblPNrdyQRr//z15iuWwIgJgm/EoRuhR7/ihCEsEf0QArudMc9sCvB9MRGj4tbMMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.e834e2cf9.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.e834e2cf9.tgz","_integrity":"sha512-kLa+rFMM0HrctYMGAAMxNxw9tXgpx5Jo5C9LgoL7Dfb9xQRzmCKIj9o1IqU//FKGQkXp8WooJ1SZ4J1gIsYNFA==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.e834e2cf9","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.e834e2cf9_1789300171206_0.7732362505644443","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.6a127adf8":{"name":"@kb-labs/devkit","version":"2.119.1-canary.6a127adf8","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.6a127adf8","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"ae1a8e7f5273223cf32956c14b0a93280932615e","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.6a127adf8.tgz","fileCount":96,"integrity":"sha512-zokS3zC4wpEQ0bhPrTUckBOrXoive9eZqhDf8b9sNWnTetH0oofVUlVOry7ReeAvsPYJl5PjlX4iGDZaTnBq+w==","signatures":[{"sig":"MEUCIFruGxleQ1Vn2Dv7D7GWR9SYVfvp5Snhp3/sBE+k+kkGAiEAohT1nrVTRjAOb7Er987h5kDBevJ5KSbzVcxbVloIicI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH2GwUP1CXUrft4Ei6S5d5fTH8Ddxrq07VyJHJ2CkOB1AiBtW+nb2eBxRtTboB6bf6H7YsUOI6LV/6Eq03nnjBoqpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.6a127adf8.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.6a127adf8.tgz","_integrity":"sha512-zokS3zC4wpEQ0bhPrTUckBOrXoive9eZqhDf8b9sNWnTetH0oofVUlVOry7ReeAvsPYJl5PjlX4iGDZaTnBq+w==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.6a127adf8","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.6a127adf8_1789313060214_0.09297750134524896","host":"s3://npm-registry-packages-npm-production"}},"2.119.1-canary.c8f889b14":{"name":"@kb-labs/devkit","version":"2.119.1-canary.c8f889b14","license":"MIT","_id":"@kb-labs/devkit@2.119.1-canary.c8f889b14","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"e1eac416c978d9f5a827c80a43e7f085f31f48d0","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.119.1-canary.c8f889b14.tgz","fileCount":96,"integrity":"sha512-5cT1SiXqL/CyonPhdn7uKIW/CR3t5ZTS/2tszzq3nhKRnRjA5HVaYZ3KMgzI4JWwF2NtDr/tQYMBpevyytUiDg==","signatures":[{"sig":"MEYCIQCjKtz/NaHedbAFx3Tk8+FQ17vRbBwKf1ZmJKxuHISiSwIhAJWenBDUJCR1BC/3TfFAg837c0Vg94cov9HGfqTlK0RQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDiYwzH4ssgaNUVDmtgJZz6tQJz7Z2Yg7ugd1rnKdDvYAIgCjO4AZFm8257CNIGvJvF+Fs11naT3ZRlK6ua7dnmHCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.c8f889b14.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.119.1-canary.c8f889b14.tgz","_integrity":"sha512-5cT1SiXqL/CyonPhdn7uKIW/CR3t5ZTS/2tszzq3nhKRnRjA5HVaYZ3KMgzI4JWwF2NtDr/tQYMBpevyytUiDg==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.119.1-canary.c8f889b14","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.119.1-canary.c8f889b14_1789413603954_0.783333796690804","host":"s3://npm-registry-packages-npm-production"}},"2.120.0-canary.68fdd56fa":{"name":"@kb-labs/devkit","version":"2.120.0-canary.68fdd56fa","license":"MIT","_id":"@kb-labs/devkit@2.120.0-canary.68fdd56fa","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"2cd25bca22184be590468ce12860f839de5bea16","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.120.0-canary.68fdd56fa.tgz","fileCount":96,"integrity":"sha512-Fet8MTjo08RkdIm/wy7pD4RHUtRG+7Z4HvrXDD0tD5m+lYqXi6j0BzsP2lgwWk+yYHI8JCAXp1Bk97AoB4BQmw==","signatures":[{"sig":"MEUCIQCCTw4eLecx+Yzm/aOBSRDxFNCOy9oj4w825MHod8seOQIgevODylDNbQ2p7dGSIvcQuY3AesPw66KN9X0uK0iUcCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAii6hw6LoL2J8JEzFRwkfe28hTl74BPAEzWilFeebB9AiEAirEu2JxRPAT3pDhaPD0QU3qyohcsQ9svfuehSid9OOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615408},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.120.0-canary.68fdd56fa.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.120.0-canary.68fdd56fa.tgz","_integrity":"sha512-Fet8MTjo08RkdIm/wy7pD4RHUtRG+7Z4HvrXDD0tD5m+lYqXi6j0BzsP2lgwWk+yYHI8JCAXp1Bk97AoB4BQmw==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.120.0-canary.68fdd56fa","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.120.0-canary.68fdd56fa_1790212998978_0.242014968251276","host":"s3://npm-registry-packages-npm-production"}},"2.120.0":{"name":"@kb-labs/devkit","version":"2.120.0","license":"MIT","_id":"@kb-labs/devkit@2.120.0","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"fada172f821f36638db89fdbcd41e3f5ca10b87c","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.120.0.tgz","fileCount":96,"integrity":"sha512-p/OXV6xYunwiGIA+ibRg3+DzW+8nrHW4M6G6CRXbXASfvCWxvTX8piLTUmUUN3Oz5oNOa1whpB+rdnorMXrgBA==","signatures":[{"sig":"MEQCICgsom3BC3T2saATJgHTiUNtDsd34VFqKdkWaZaT5lL3AiAbEpGZNrhEMw3PHz/ese70Yr7kY+qwR/Cz0accM+AH3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFxv1HbL/8ibJ7k6F4mrxMqjIABfX3S7B1NnzonjRiSTAiBv6UkKsqJisjIyEu2OVpVNXpVQvwCrUfsVGz5dbqnTaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615374},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.120.0.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.120.0.tgz","_integrity":"sha512-p/OXV6xYunwiGIA+ibRg3+DzW+8nrHW4M6G6CRXbXASfvCWxvTX8piLTUmUUN3Oz5oNOa1whpB+rdnorMXrgBA==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.120.0","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.120.0_1790279040461_0.08469836846601009","host":"s3://npm-registry-packages-npm-production"}},"2.120.1":{"name":"@kb-labs/devkit","version":"2.120.1","license":"MIT","_id":"@kb-labs/devkit@2.120.1","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"bin":{"kb-devkit-ci":"bin/devkit-ci.mjs","kb-devkit-qa":"bin/kb-devkit-qa.mjs","kb-devkit-sync":"bin/devkit-sync.mjs","kb-devkit-paths":"bin/devkit-paths.mjs","kb-devkit-stats":"bin/devkit-stats.mjs","kb-devkit-health":"bin/devkit-health.mjs","kb-devkit-fix-deps":"bin/devkit-fix-deps.mjs","kb-devkit-core-gate":"bin/devkit-core-gate.mjs","kb-devkit-freshness":"bin/devkit-freshness.mjs","kb-devkit-visualize":"bin/devkit-visualize.mjs","kb-devkit-qa-history":"bin/kb-devkit-qa-history.mjs","kb-devkit-build-order":"bin/devkit-build-order.mjs","kb-devkit-check-paths":"bin/devkit-check-paths.mjs","kb-devkit-check-types":"bin/devkit-check-types.mjs","kb-devkit-types-audit":"bin/devkit-types-audit.mjs","kb-devkit-types-order":"bin/devkit-types-order.mjs","kb-devkit-architecture":"bin/devkit-architecture.mjs","kb-devkit-check-configs":"bin/devkit-check-configs.mjs","kb-devkit-check-exports":"bin/devkit-check-exports.mjs","kb-devkit-check-imports":"bin/devkit-check-imports.mjs","kb-devkit-check-plugins":"bin/devkit-check-plugins.mjs","kb-devkit-check-scripts":"bin/devkit-check-scripts.mjs","kb-devkit-tsup-external":"bin/devkit-tsup-external.mjs","kb-devkit-check-commands":"bin/devkit-check-commands.mjs","kb-devkit-check-structure":"bin/devkit-check-structure.mjs","kb-devkit-migrate-configs":"bin/devkit-migrate-configs.mjs","kb-devkit-validate-naming":"bin/devkit-validate-naming.mjs","kb-devkit-check-deprecated":"bin/devkit-check-deprecated.mjs","kb-devkit-check-duplicates":"bin/devkit-check-duplicates.mjs","kb-devkit-check-build-readiness":"bin/devkit-check-build-readiness.mjs"},"dist":{"shasum":"015de1bb0a864037acf8bdc225d962af1821caf3","tarball":"https://registry.npmjs.org/@kb-labs/devkit/-/devkit-2.120.1.tgz","fileCount":96,"integrity":"sha512-tfp6PAyHzSLRlK1VWsi81aP22sZph5HrlCkZcwQPfuaJIVPc7aVpyWH2/3CNjMfpCfSXWSrHIzUiojPipsmOqw==","signatures":[{"sig":"MEQCIHzqH41I+8mBGqgL2Bfc6Vcb0lLi20be3NlZ4ImmOxWlAiAr0pGGsdiQU/mOM7Wvxe6/M8jCW8tWEONXMCSddJnKFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKEDUQg8v2sxrJ975L8L0Yua3XTzrUv6mg36n1AoF2LgIhAOUzmSozhYKj86rH6/U/nneuxBoeHl1ig5lHM5cTt23/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615374},"type":"module","_from":"file:/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.120.1.tgz","engines":{"node":">=24.0.0","pnpm":">=9.11.0"},"exports":{"./sync":"./sync/index.mjs","./tsup/":"./tsup/","./vite/":"./vite/","./agents/":"./agents/","./assets/":"./assets/","./eslint/":"./eslint/","./vitest/":"./vitest/","./tsup/bin":"./tsup/bin.js","./tsup/sdk":"./tsup/sdk.js","./AGENTS.md":"./AGENTS.md","./prettier/":"./prettier/","./tsconfig/":"./tsconfig/","./tsup/dual":"./tsup/dual.js","./tsup/node":"./tsup/node.js","./vitest/cli":"./vitest/cli.js","./eslint/node":"./eslint/node.js","./tsup/bin.js":"./tsup/bin.js","./tsup/sdk.js":"./tsup/sdk.js","./vitest/node":"./vitest/node.js","./eslint/react":"./eslint/react.js","./tsup/dual.js":"./tsup/dual.js","./tsup/node.js":"./tsup/node.js","./vitest/react":"./vitest/react.js","./eslint/plugin":"./eslint/plugin.js","./tsup/external":"./tsup/external.mjs","./vitest/cli.js":"./vitest/cli.js","./eslint/node.js":"./eslint/node.js","./tsup/react-lib":"./tsup/react-lib.js","./vite/react-app":"./vite/react-app.js","./vitest/node.js":"./vitest/node.js","./eslint/react.js":"./eslint/react.js","./vitest/react.js":"./vitest/react.js","./eslint/plugin.js":"./eslint/plugin.js","./tsconfig/cli.json":"./tsconfig/cli.json","./tsconfig/lib.json":"./tsconfig/lib.json","./tsconfig/spa.json":"./tsconfig/spa.json","./tsup/external.mjs":"./tsup/external.mjs","./tsup/react-lib.js":"./tsup/react-lib.js","./vite/react-app.js":"./vite/react-app.js","./tsconfig/base.json":"./tsconfig/base.json","./tsconfig/node.json":"./tsconfig/node.json","./tsconfig/test.json":"./tsconfig/test.json","./tsup/external-sync":"./tsup/external-sync.mjs","./bin/devkit-sync.mjs":"./bin/devkit-sync.mjs","./prettier/index.json":"./prettier/index.json","./bin/devkit-paths.mjs":"./bin/devkit-paths.mjs","./tsup/external-sync.mjs":"./tsup/external-sync.mjs","./tsconfig/react-app.json":"./tsconfig/react-app.json","./tsconfig/react-lib.json":"./tsconfig/react-lib.json","./tsup/css-modules-plugin":"./tsup/css-modules-plugin.js","./tsup/css-modules-plugin.js":"./tsup/css-modules-plugin.js","./assets/claude/manifest.json":"./assets/claude/manifest.json","./bin/devkit-tsup-external.mjs":"./bin/devkit-tsup-external.mjs"},"scripts":{"dev":"tsup --config tsup.config.ts --watch","lint":"echo \"@kb-labs/devkit: lint skipped (plain JS/MJS, not TS project)\" && exit 0","test":"vitest run --passWithNoTests","build":"echo \"@kb-labs/devkit: nothing to build\"","clean":"rimraf dist","paths":"node ./bin/devkit-paths.mjs","fixtures":"node scripts/fixtures.js –help","lint:fix":"eslint . --fix --ignore-pattern 'dist/**'","test:watch":"vitest --passWithNoTests","type-check":"echo \"@kb-labs/devkit: type-check skipped (plain JS/MJS, not TS project)\" && exit 0","fixtures:ci":"node scripts/fixtures.js –action=check –since=${GITHUB_BASE_REF:-origin/main} –concurrency=3 || node scripts/fixtures.js –action=check","postinstall":"kb-devkit-tsup-external --generate || true","fixtures:lint":"node scripts/fixtures.js –action=lint","fixtures:test":"node scripts/fixtures.js –action=test","fixtures:build":"node scripts/fixtures.js –action=build","fixtures:check":"node scripts/fixtures.js –action=check","fixtures:clean":"node scripts/fixtures.js –action=clean","fixtures:bootstrap":"node scripts/fixtures.js –action=bootstrap"},"_npmUser":{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"},"_resolved":"/home/runner/work/kb-labs/kb-labs/.kb/release/bundle/npm/kb-labs-devkit-2.120.1.tgz","_integrity":"sha512-tfp6PAyHzSLRlK1VWsi81aP22sZph5HrlCkZcwQPfuaJIVPc7aVpyWH2/3CNjMfpCfSXWSrHIzUiojPipsmOqw==","_npmVersion":"11.19.0","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"glob":"^11.0.0","yaml":"^2.8.0","postcss":"^8.5.23","postcss-modules":"^9.0.1","eslint-plugin-import":"^2.32.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-unused-imports":"^4.1.4","eslint-import-resolver-typescript":"^3.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","jsdom":"^27.0.0","eslint":"^9.35.0","rimraf":"^6.0.1","vitest":"^3.2.6","esbuild":"^0.28.1","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.3.3","@kb-labs/devkit":"2.120.1","typescript-eslint":"^8.44.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^62.0.0","@vitest/coverage-istanbul":"^4.1.4","eslint-plugin-filenames-simple":"^0.9.0"},"peerDependencies":{"tsup":"^8.5.0","eslint":"^9.35.0","vitest":"^3.2.6","typescript":"^5.9.2","@playwright/test":"*","typescript-eslint":"^8.44.0"},"peerDependenciesMeta":{"react":{"optional":true},"@vitejs/plugin-react":{"optional":true},"eslint-plugin-import":{"optional":true},"@testing-library/react":{"optional":true},"eslint-plugin-jsx-a11y":{"optional":true},"eslint-plugin-react-hooks":{"optional":true},"eslint-import-resolver-typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/devkit_2.120.1_1790288546107_0.43131784102309023","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-02-24T09:20:52.551Z","modified":"2026-09-24T22:43:57.431Z","1.0.0":"2026-02-24T09:20:52.933Z","1.1.0":"2026-04-06T11:47:32.969Z","1.2.0":"2026-04-06T12:14:36.231Z","1.3.0":"2026-04-06T15:20:04.101Z","1.4.0":"2026-04-06T16:07:17.162Z","2.6.0":"2026-04-11T15:41:15.150Z","2.9.0":"2026-04-11T18:25:10.857Z","2.10.0":"2026-04-11T18:58:14.743Z","2.11.0":"2026-04-11T19:27:13.347Z","2.12.0":"2026-04-11T20:04:15.690Z","2.13.0":"2026-04-11T20:24:54.442Z","2.14.0":"2026-04-12T10:01:34.831Z","2.15.0":"2026-04-12T20:05:30.312Z","2.16.0":"2026-04-13T13:25:33.935Z","2.17.0":"2026-04-13T14:16:28.611Z","2.18.0":"2026-04-13T14:34:14.755Z","2.19.0":"2026-04-13T15:28:16.091Z","2.20.0":"2026-04-13T20:57:41.724Z","2.22.0":"2026-04-14T09:25:33.072Z","2.23.0":"2026-04-14T09:37:08.422Z","2.25.0":"2026-04-14T10:50:59.388Z","2.28.0":"2026-04-14T12:36:24.989Z","2.29.0":"2026-04-14T17:09:06.189Z","2.30.0":"2026-04-14T18:31:50.855Z","2.31.0":"2026-04-14T19:24:37.554Z","2.32.0":"2026-04-14T21:11:55.699Z","2.33.0":"2026-04-14T21:32:49.134Z","2.34.0":"2026-04-14T22:10:20.904Z","2.35.0":"2026-04-15T08:08:32.188Z","2.36.0":"2026-04-15T17:56:07.067Z","2.37.0":"2026-04-16T08:02:29.652Z","2.38.0":"2026-04-16T09:11:47.066Z","2.39.0":"2026-04-16T16:19:28.954Z","2.40.0":"2026-04-16T22:45:54.331Z","2.41.0":"2026-04-17T11:23:36.315Z","2.42.0":"2026-04-17T12:27:36.399Z","2.43.0":"2026-04-17T13:10:51.438Z","2.44.0":"2026-04-18T08:29:52.398Z","2.45.0":"2026-04-18T11:05:55.332Z","2.46.0":"2026-04-18T11:30:16.456Z","2.47.0":"2026-04-18T12:09:36.469Z","2.53.0":"2026-04-18T17:51:58.465Z","2.54.0":"2026-04-19T16:27:24.862Z","2.55.0":"2026-04-19T17:47:16.520Z","2.56.0":"2026-04-19T19:15:39.941Z","2.57.0":"2026-04-19T19:34:12.101Z","2.58.0":"2026-04-19T20:21:02.280Z","2.59.0":"2026-04-19T20:44:36.546Z","2.60.0":"2026-04-19T21:38:40.778Z","2.61.0":"2026-04-20T14:00:45.520Z","2.62.0":"2026-04-20T15:33:43.524Z","2.63.0":"2026-04-20T20:14:32.716Z","2.64.0":"2026-04-20T20:26:42.230Z","2.65.0":"2026-04-21T07:14:18.262Z","2.66.0":"2026-04-21T07:35:22.661Z","2.67.0":"2026-04-21T08:08:00.411Z","2.68.0":"2026-04-21T08:26:45.193Z","2.69.0":"2026-04-21T08:38:28.269Z","2.72.0":"2026-04-21T10:09:42.739Z","2.73.0":"2026-04-21T11:07:14.083Z","2.74.0":"2026-04-21T12:29:30.232Z","2.75.0":"2026-04-21T13:04:07.764Z","2.77.0":"2026-04-21T14:01:33.176Z","2.78.0":"2026-04-21T15:47:27.831Z","2.79.0":"2026-04-21T16:36:39.138Z","2.80.0":"2026-04-21T17:12:56.433Z","2.81.0":"2026-04-21T17:41:01.628Z","2.82.0":"2026-04-21T18:16:19.076Z","2.83.0":"2026-04-23T15:37:59.263Z","2.85.0":"2026-04-24T19:30:17.690Z","2.86.0":"2026-04-24T20:44:54.110Z","2.87.0":"2026-04-24T20:58:37.357Z","2.88.0":"2026-04-25T09:33:19.150Z","2.89.0":"2026-04-25T10:04:54.510Z","2.93.0":"2026-04-28T19:50:07.087Z","2.94.0":"2026-04-28T21:11:33.278Z","2.96.0":"2026-07-03T23:01:29.684Z","2.98.0":"2026-07-18T14:34:30.182Z","2.100.0":"2026-07-19T00:37:53.720Z","2.101.0-canary.3f3ceb8f":"2026-07-19T14:44:31.780Z","2.101.0":"2026-07-19T16:08:16.877Z","2.102.0":"2026-07-19T21:29:07.086Z","2.103.0":"2026-07-19T22:38:36.788Z","2.104.0":"2026-07-19T23:52:01.821Z","2.105.0-canary.f6d35e31":"2026-07-21T18:30:25.319Z","2.105.0":"2026-07-23T22:32:54.104Z","2.106.0":"2026-07-24T01:06:53.485Z","2.107.0":"2026-07-25T06:36:31.497Z","2.109.0":"2026-07-25T20:47:41.989Z","2.110.0":"2026-07-28T00:40:48.827Z","2.111.0":"2026-07-28T18:53:46.796Z","2.112.0":"2026-07-29T06:52:21.109Z","2.114.0":"2026-07-30T22:05:22.022Z","2.116.11":"2026-08-01T21:08:56.873Z","2.116.12":"2026-08-01T22:04:14.149Z","2.116.13":"2026-08-01T22:31:22.529Z","2.116.14":"2026-08-01T23:01:18.618Z","2.117.0":"2026-08-09T17:52:42.647Z","2.118.0":"2026-08-11T18:03:13.212Z","2.118.1":"2026-08-12T08:49:06.714Z","2.118.2":"2026-08-12T22:27:53.809Z","2.119.0-canary.8c5512847":"2026-08-15T17:03:39.482Z","2.119.0-canary.cee505c72":"2026-08-18T21:07:25.836Z","2.119.0-canary.85d060ea6":"2026-08-20T18:28:00.012Z","2.119.0-canary.c64d2c41e":"2026-08-24T22:05:54.265Z","2.119.0-canary.0b1ec4151":"2026-08-24T22:39:26.985Z","2.119.0-canary.2077501f1":"2026-08-24T23:26:22.775Z","2.119.0-canary.b20fd4a5b":"2026-08-25T02:42:28.505Z","2.119.0-canary.448a88d0f":"2026-08-25T06:16:44.488Z","2.119.0-canary.e120bc0ee":"2026-08-25T06:54:45.188Z","2.119.0-canary.6ec5ad2e4":"2026-08-25T15:25:34.297Z","2.119.0-canary.f8394d5fd":"2026-08-25T16:31:33.953Z","2.119.0-canary.bb3d7f2f1":"2026-08-25T18:04:23.198Z","2.119.0-canary.3edea00f6":"2026-08-26T17:27:14.097Z","2.119.0-canary.8f939a290":"2026-08-26T23:50:33.528Z","2.119.0-canary.0c078654e":"2026-08-27T00:27:17.317Z","2.119.0-canary.ce846d079":"2026-08-27T01:24:02.927Z","2.119.0-canary.62ffd5965":"2026-08-27T03:07:51.452Z","2.119.0-canary.1b2bf822b":"2026-08-27T04:21:51.134Z","2.119.0-canary.602573533":"2026-08-27T09:11:02.798Z","2.119.0-canary.0b4b21a55":"2026-09-02T19:17:23.243Z","2.119.0":"2026-09-05T19:03:52.138Z","2.119.1-canary.b53bbee1d":"2026-09-05T23:06:38.480Z","2.119.1-canary.a6aa9b388":"2026-09-06T00:15:59.726Z","2.119.1-canary.57c3a1e5e":"2026-09-06T01:24:21.677Z","2.119.1-canary.1e87213c2":"2026-09-06T02:22:17.751Z","2.119.1-canary.ee03bc25d":"2026-09-12T10:46:07.130Z","2.119.1-canary.a73502f0d":"2026-09-13T00:08:09.086Z","2.119.1-canary.e834e2cf9":"2026-09-13T11:49:31.311Z","2.119.1-canary.6a127adf8":"2026-09-13T15:24:20.304Z","2.119.1-canary.c8f889b14":"2026-09-14T19:20:04.069Z","2.120.0-canary.68fdd56fa":"2026-09-24T01:23:19.067Z","2.120.0":"2026-09-24T19:44:00.555Z","2.120.1":"2026-09-24T22:22:26.195Z"},"license":"MIT","description":"Shared developer toolkit for KB Labs projects: TS/ESLint/Prettier/Vitest/Tsup presets and reusable GitHub Actions.","maintainers":[{"name":"k.baranov","email":"kirillBaranovJob@yandex.ru"}],"readme":"","readmeFilename":"README.md"}