{"_id":"ownerlens","_rev":"33-4ac92924674b7c51db4b6855775abfcf","name":"ownerlens","dist-tags":{"latest":"0.1.9","next":"0.1.19-preview0"},"versions":{"0.1.0":{"name":"ownerlens","version":"0.1.0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"070df64d06cd2cb3f6de97616b992fbb22aa18a0","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.0.tgz","fileCount":144,"integrity":"sha512-R6ob4tgH0PduoRpSsENc2/ABHJV+s1q1tJWG0waSVTROa06Mrsl2/grxQhlTdWTlYUyPh0lCBh2884zuv9pWUw==","signatures":[{"sig":"MEQCIDVZfsGlQNT8BhTiTeazAUCLvRIytfv0NSxGSLpm1TilAiBZ477zsomVvHNBPwCBKMVQQ5HVQ5O7jaAJj5KBbPNNIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":864770},"type":"module","gitHead":"438b7cbf48a2ad38776d7fc0ddf92666e47c7ba8","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"jest --runInBand","build":"tsc -b && vite build","start":"vite --host 127.0.0.1","preview":"vite preview --host 127.0.0.1","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","test:components:coverage":"npm run test:components -- --coverage"},"_npmUser":{"name":"kodevza","email":"konradzawadka@gmail.com"},"_npmVersion":"11.6.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.0_1781167908845_0.5842568103225385","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"ownerlens","version":"0.1.3","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.3","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"d6cf7f8b4d80c7fff06341cf6a724522b93089cf","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.3.tgz","fileCount":144,"integrity":"sha512-AaPr/tfI8vv9PgGH9R8fAVViR+sPFfvlDrqxJr/wDJEwWjAWzaEeQKuADzSJ1vE54iI0berKX50v1mXWQbiL7w==","signatures":[{"sig":"MEQCIADmUpNO6qjsKs/aJPBUOSFyiWb5pkVJb6Aqcichiux3AiAua92N5MgOLVk+0kIdLv+GerRne4CAK0Cpblx1VK3eaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":871346},"type":"module","gitHead":"a07ce349fe2362e70dcb80418f98993a85ccdf28","scripts":{"lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","build":"tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","test:components:coverage":"npm run test:components -- --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.3_1781174587725_0.15661842003621151","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"ownerlens","version":"0.1.4","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.4","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"da9ef61da67ac66763b6973e7dc5c8cb5641e89b","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.4.tgz","fileCount":145,"integrity":"sha512-WwymDfWepGhfrbMywueEBxk8If9WwxJHWVuDkPcodJsqNxO0CNHwUorqcG2nTIvmcENNBq5QPr+tSabD9J6mTQ==","signatures":[{"sig":"MEUCIQDhXnX0zOgjiaMkx1OJ6vm/T/3sqXZNlcNrB82W9qVS7gIgVmJD1R9dnCpMV8GMjz1pF1BMB6Q+XOWBZlCVNH+D/CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":871660},"type":"module","gitHead":"bd0af448d7fd1cccd43209e45935729da038a125","scripts":{"lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","build":"tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","test:components:coverage":"npm run test:components -- --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.4_1781175218831_0.9161101359644426","host":"s3://npm-registry-packages-npm-production"}},"0.1.5-preview.2":{"name":"ownerlens","version":"0.1.5-preview.2","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.5-preview.2","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"ebe4ae86c34afb2667680e2cf0a90fd6b59b17c6","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.5-preview.2.tgz","fileCount":157,"integrity":"sha512-ZyVzBbxfQN6kKTKvw0dtfwO3HmEc/rDZhcP330Vz2QrG/2YH+GciEImJw8uERSrFuUuX3gNfCx34ry0jGi/tQA==","signatures":[{"sig":"MEUCIHPgeVf1A/uUcsT6Kf2E6mPIg6NhJgIL9vOsqE847csqAiEAxnOYZ2oP/+zZjt0MlUcDJLUNFLTcYiE6qngI81xUHLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.5-preview.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":976003},"type":"module","gitHead":"b8e7653df56b2ff402a926706222b5b266e8e80c","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.5-preview.2_1781263376401_0.40415634429860003","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"ownerlens","version":"0.1.5","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.5","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"df2b0c0cd9be15f848be216367c4f78f98669eae","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.5.tgz","fileCount":177,"integrity":"sha512-RlOOWZehH0boAJpDaVQ5ParilLn4130gMwYXeabwLNUlhsAEiouKbN126JnifIo8isPaFRztqYjIkxOTJQY5xQ==","signatures":[{"sig":"MEQCIGBR59LfMEaNbUKBKmCcPehGC6p6pu6ylYmOinDAUZAyAiAkOzl3TjTo8WjfXsMla20bN6WziGGri4qBPfgaI41h1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1146105},"type":"module","gitHead":"abfe3ee68ca4bcca6ada5e0f9f8eaf1ddeccf3a6","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.5_1781510233818_0.6249524061993132","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"ownerlens","version":"0.1.6","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.6","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"ff559ad75bad95d8c3ffc62d8d6bf03228d3a209","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.6.tgz","fileCount":187,"integrity":"sha512-4X9k1dZ836FqJ9228lUcaWX+m/hGMInkRQKyUK6Bc8zfZMgzalhYsqJkJiB49cvka6U/N0zG7T6WDaK8QbYq6Q==","signatures":[{"sig":"MEQCIFYq/IaCoR+KAWc8VLqElQbH86vpTXw/gW5ov70TaTFsAiASGygdwpVOQJXY5Sy9STo+qnRlN9jYP+nxz5wybfCjFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1310370},"type":"module","gitHead":"8432c1c82b05b14d1a38ee4a61161aa666186dcd","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.6_1781708308994_0.29920979433281936","host":"s3://npm-registry-packages-npm-production"}},"0.1.7-preview.1":{"name":"ownerlens","version":"0.1.7-preview.1","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.7-preview.1","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"4b283e4af867c90753c0e78f2138737a33901050","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.7-preview.1.tgz","fileCount":187,"integrity":"sha512-TIvIrOYwBV+GXb8zqt+BOup87mptAc3LkOH/yTNRv6mbSSVyU23SIouhH/7yGcGBOgbddsW8R5pZBZndJ1ZwhQ==","signatures":[{"sig":"MEUCIQDeCffieA/TvSBE1BdnJtVxIXeiY7VjV/1RkXNNWKsASwIgMfvbjpD9ggIHdZxokYQOjwfDge9JzmIL2ogvQpwq1A0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.7-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1310481},"type":"module","gitHead":"f8ad78de8a02de49df8e4eb6e1c709c12bb804a5","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.7-preview.1_1781709004682_0.20301734042956854","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"ownerlens","version":"0.1.7","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.7","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"f34d9af0e345aed34fab5e0773fab60986657629","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.7.tgz","fileCount":187,"integrity":"sha512-J+BOaSRgYFmbaVOCWCpbmKGATqXPvFDMw+9XrnP9W5KsebwkYYGs52K8LuIVS/IsC6Id/rA8rxzOdJfkSsBZLA==","signatures":[{"sig":"MEYCIQD49jtAdz32fk0YNPbn6eVvJSCx7xLky4fp3ZXoxzCdSAIhANGPzm0wTVxgKEZ84qHftgZWozNtVAbQXpo9aq8Bte2V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1310471},"type":"module","gitHead":"86462d05300167af0938cb609853fc89644f57aa","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.7_1781709878456_0.41916477272535224","host":"s3://npm-registry-packages-npm-production"}},"0.1.9-preview.0":{"name":"ownerlens","version":"0.1.9-preview.0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.9-preview.0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"bdd7e1aada517082fb5ac9341fd4767741424d8f","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.9-preview.0.tgz","fileCount":208,"integrity":"sha512-3xONvGkyI+zOjUWZM6OzICTT2/VwP6w+UVKEdRoyLVbre262yk4Ag6rnq25E7Tccx9MqUFXGU6dfNNMz1ND/pw==","signatures":[{"sig":"MEYCIQCHo1zMD42MHJs8GZl0aHyLTpXl0E4viwIgoNrAWm3AYQIhAMnjd5iQ3CPTgMvv0a7ZDmM5qW9CayU7dubF4TmWjf4u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.9-preview.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1370402},"type":"module","gitHead":"e17bf491676f3190c3b9ff39329cb9d0faf8a850","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.9-preview.0_1781866691039_0.3835608327345166","host":"s3://npm-registry-packages-npm-production"}},"0.1.9-preview1":{"name":"ownerlens","version":"0.1.9-preview1","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.9-preview1","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"a133c34620d4afa9dd7a318bc11ed921e7c12909","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.9-preview1.tgz","fileCount":208,"integrity":"sha512-M7pmzb3LGukxj8us70zZTibpFQVyvh2uG0JnAqq+nfen3n8UIZdKu8Wf82oa4nQMhaU+nt9uOAYARPBfpy7rTQ==","signatures":[{"sig":"MEUCIQC7+KazvAPmTj6kd2m5PM1AqeXqgiyJ+XUP2buuTzaCvwIgH92bdUm+VkZvS4My1wum4rzjzzsZ+NT5gM84MjnHLP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.9-preview1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1370401},"type":"module","gitHead":"e17bf491676f3190c3b9ff39329cb9d0faf8a850","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.9-preview1_1781867066580_0.4040146966075244","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"ownerlens","version":"0.1.9","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.9","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"a77c210cd817af4d6d16004ea12d054bbdad7f24","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.9.tgz","fileCount":212,"integrity":"sha512-ihAFzfO4rnRGe3omX52PqSrSYw5t7sFydeKJIpZcFayw5Mt/KaPjC3m4t1Pazow0Xu44M7+9/P5wtGJiswzsZQ==","signatures":[{"sig":"MEUCIQClMM6A71LvB7g/USGA1b30K/Yh8ZqLz4mOtXq2rrFNWwIgfrNqbn0vIZ2wp40xE5J2nAcRE0TkvlMAmPIX5qSVacw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1389516},"type":"module","gitHead":"d5b1f11212752bc43ae8a46f2474265ce4c8513e","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build","start":"node ./bin/ownerlens.js start","preview":"node ./bin/ownerlens.js preview","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.9_1781878129134_0.6683152357253337","host":"s3://npm-registry-packages-npm-production"}},"0.1.10-preview0":{"name":"ownerlens","version":"0.1.10-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.10-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"3f258b88e3887733500f312618c10f6a43317e5d","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.10-preview0.tgz","fileCount":214,"integrity":"sha512-jFuBPuTOG1y+b6HjPMM81KS4JMqy2DIYtG8r5QvqeLLTH6M3Rrx9s07GSbJC9RscE1yFdSTJQiUHc4N86skVSw==","signatures":[{"sig":"MEUCIBd+SH+DtEV0xUi6xlltmIdn21MyiaerqRgnAcJvegn0AiEAiMWGcpPOYRClz4mRpAg7RU/aDn89ncZTUMSoX+WUY9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.10-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1620865},"type":"module","gitHead":"411907744e88b717a19300e556e298de86c9cb77","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.10-preview0_1781883379900_0.0990156027477247","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview0":{"name":"ownerlens","version":"0.1.11-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"097431b6cadc2268c0cbcdbc74ed56b7d47ddd93","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview0.tgz","fileCount":41,"integrity":"sha512-5k+a/SmJpno6LRSTd5eFNn+531AWxm8M9tGAsbJW3nO4kEycoDsjmp3RNZ3t7T5XqcpCVFbFP7tdYyLlywL+uA==","signatures":[{"sig":"MEUCIQD/9RaFmR0VFkenhZVBWcjIk3i4hEbdtwpDWfcxbVE12QIgAPi8FFMvjMzYxz9zQjB67etd4NJ5crRmWTo+4MeKaw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":890481},"type":"module","gitHead":"f1305a67960b786017f1753b4ddc6d2f2870e9b4","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview0_1782115939582_0.050999921655178415","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview1":{"name":"ownerlens","version":"0.1.11-preview1","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview1","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"770c10432d5031205caf45097e5b351319652d37","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview1.tgz","fileCount":41,"integrity":"sha512-pXpsBPuDia5pWwMY4RnNWrXl8RSZtxKhlMkwEcgG47yV4ef8PzOaCZXw9wMk8NCSiHUzuBxrLLuAx2fQJ/Z19A==","signatures":[{"sig":"MEYCIQCeQ+2zXjMN6nKCdhYEjNDvXcU16NwXoj0sVv8C4o7dzwIhAMjXa1yJxQOzn1lS4uCf7zmJNt63TApHGifcgUSfebMz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894245},"type":"module","gitHead":"c6fc2ac900cc6ab228740b486d4e43f05a5761c1","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview1_1782221630243_0.7705473194026222","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview2":{"name":"ownerlens","version":"0.1.11-preview2","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview2","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"25039081cf79e708329dae8f33b8b416ba82ba7f","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview2.tgz","fileCount":41,"integrity":"sha512-ot99u9iSSf4YXnv6kj/d4gZuAo1VfC+ttJ5AU1d3Y7/nhsau7m4bZScgZmX5/hnMTkQNYsZ4flj2XmfovDROPg==","signatures":[{"sig":"MEUCIADNcYFIPzlhblK2qoJ41/3n19BiDrjiXUhL2AXayWUDAiEA53E85dC2ltE2TOeWKIqR0xAPkOTzT+SkugJj8iMs4/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894245},"type":"module","gitHead":"c6fc2ac900cc6ab228740b486d4e43f05a5761c1","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview2_1782288769613_0.020073742370859238","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview3":{"name":"ownerlens","version":"0.1.11-preview3","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview3","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"90624acb0d5cb701bcd6d2310a2e9c9bc1a4230c","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview3.tgz","fileCount":41,"integrity":"sha512-ehaoKpq1iEQlV9YKo2qQb5WzAwm5nPt4dHoxN3O5PTSxhFEIsEz0/pZn4navgQnzjPRtL6RfpCWPilKd6V7Udg==","signatures":[{"sig":"MEUCIGA9bQHdIp7tgzfHznkUodRbdx/lY6gaV+RqN8iE0t5bAiEAg3XA+peevO2Frcj+YkIXMpHA6gOPKrdRNTnSZGiUq40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894245},"type":"module","gitHead":"72e245d96cb171e203e0f522d193be834af613b9","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview3_1782289472389_0.45732791171885134","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview4":{"name":"ownerlens","version":"0.1.11-preview4","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview4","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"280232b9a443f867d8a1f2b6318b1a5cf1c028bf","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview4.tgz","fileCount":41,"integrity":"sha512-wlJDTgb/7PhfCKmC1pA6jmtcEGcvtiP8sY9i+I3zx6Pa4naW1Y5A/QRseGqJdnrrvOUL1jJWGYGyRIxRNbHGMQ==","signatures":[{"sig":"MEQCIF+Ee1RKSJH14qSbiRbVfuLFjkKhYYfPKYCDXXn2gAViAiAi15rMtSRCNfYHcI3ias5HzNQTQL0dWPkOXXHg3a5yyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894245},"type":"module","gitHead":"caf7c5457e4124cd18bdeb5c597998ef7115d8db","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview4_1782289967760_0.5612346811032394","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview5":{"name":"ownerlens","version":"0.1.11-preview5","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview5","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"bf2cb1d9dc3218ef23100f83de27dc6ca8613e87","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview5.tgz","fileCount":41,"integrity":"sha512-KwtW3lAafdq/qPX9Htg+kbcOc7iyNAWtq8yKOcIM/nMVQuS9eSi6VGHoy1k0hiHqYKBF1QyIvD/Ysq+oNNF7EQ==","signatures":[{"sig":"MEQCIEHr4gk4NUoiEQRK9wfpInUsJdl6s+lkbnJ7o+nwLsjEAiBVpK1f0aGglGwiB4KjJkFw5C0PKFh2NMcib4qMuPBhzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894121},"type":"module","gitHead":"c9a87805d4dc81ec2963b4dd0a60b0bf5039b6fc","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview5_1782290431350_0.3197576181186492","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview6":{"name":"ownerlens","version":"0.1.11-preview6","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview6","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"da3f3d2ceb0859bf588e0df27a78c27da8156f17","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview6.tgz","fileCount":41,"integrity":"sha512-5D7yh8L1jhr1JyjGmi1TFDuMqULBGjxQSU3Ey4yJ8XPsUguR4oyrWmAjCJSWuMqr62DvIObFgg8i4NMCdlGNcQ==","signatures":[{"sig":"MEUCIDWG4kwDsgiFPUlmjNVbJ4trfsCiQopUkBzanZIgBB/WAiEA1GQasJAWqz3yuP6+HnAFjrgYE7jVIBCz4QCssgGO9f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894121},"type":"module","gitHead":"c9a87805d4dc81ec2963b4dd0a60b0bf5039b6fc","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview6_1782290934356_0.5151259043219352","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview7":{"name":"ownerlens","version":"0.1.11-preview7","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview7","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"42664edc86deb2ef50c96f9c579968c0e8467bf7","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview7.tgz","fileCount":41,"integrity":"sha512-e8CI2V7MTzZrAickzH39gTYZkSyyp+3o1M3O9+WsPTLGd6lSlqUOf/tblzS1ur3QRi19Z6HQ/gSB7lKfFz27bQ==","signatures":[{"sig":"MEUCIQDaRMOiCKMi3cNfInbge6US5nYIyO684U40t781V4dvVQIgG90bEV315D5ARcEvuw+B6DIJyDYP4eAYcX+r3WnVmvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894121},"type":"module","gitHead":"c9a87805d4dc81ec2963b4dd0a60b0bf5039b6fc","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview7_1782296652918_0.30609209175196184","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview8":{"name":"ownerlens","version":"0.1.11-preview8","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview8","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"4cedd8c4394ec3dd9f76994ad27294e38a76018d","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview8.tgz","fileCount":41,"integrity":"sha512-kqUS/1SG8pyy7TqWo/wSHaKWw2dP90oQX4CepYLkPaQuINRxuAKueRW+AG222SrZYO5rLPmEkbruqXPmQAQlpA==","signatures":[{"sig":"MEYCIQC5MCvwGgQv5ypMM6WjEIHpRGKut5KcYOwVkgW1oozJwwIhAJjvTy5rI9dkt9kHNKl93aktmdWc9zbAsQz+Y+NRke6h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894121},"type":"module","gitHead":"5a2102a50af03f78059628064bde5e06efd86779","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview8_1782298289834_0.34960496228952254","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview12":{"name":"ownerlens","version":"0.1.11-preview12","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview12","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"f980e5eb543210e5c55980ca7f228eabe6310fd8","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview12.tgz","fileCount":41,"integrity":"sha512-uMUA14NVXjroCF9pp9s7Bd6QILaLGDyNTpFCWl/o3Bkws4u+H7GeAHCBT8dOafVG7rVKLQxS4IdIVN3TWTf9NA==","signatures":[{"sig":"MEUCIQCvY776Sbx70f3bGyFwu3ln3/Hq52oEqygzSFmA1nrfgQIgN2mZVS1z89hzCc7sxcdpOmZdi00QE0iW0JFUY/0LrhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894123},"type":"module","gitHead":"5a2102a50af03f78059628064bde5e06efd86779","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview12_1782306918908_0.8231005166486138","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview13":{"name":"ownerlens","version":"0.1.11-preview13","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview13","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"6742496115af4cc2f7b1898dd681bb82a719ff73","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview13.tgz","fileCount":41,"integrity":"sha512-H4+EPrDW3QMEwldiNe6dRvbvCYF4XCfh1cAH5HX2jh/KqtidA0ZYcx8Gd0fucR+dXeb+ZVcrI8QGsuIDj01ydw==","signatures":[{"sig":"MEUCIFe5XQ+9UvPNZEClsQi8tCSomeDht9aNkjtiAOMh6nPKAiEAk5T33Tbw5gXW7rDL7EAHPo0flsOxG9+soDyhVLXaynE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894123},"type":"module","gitHead":"ee8ab04df7c289093919b82546d25d4dc5113f53","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview13_1782307488206_0.35957083829881387","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-preview14":{"name":"ownerlens","version":"0.1.11-preview14","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.11-preview14","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"456b50c0a38fb839a7d88d65761fd6bc7a56f361","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.11-preview14.tgz","fileCount":41,"integrity":"sha512-GS8AssbKMYG7ZOXV1kiwTFKLWLB6a4j4iUU7hc/bZNoatjmHQ1EVWQgenlESd0G0kgqTbtshvXdNQfavT1lqXA==","signatures":[{"sig":"MEYCIQDsoQ1votmJpalIZMMQ5Huk4BEeE+0ew3nXKqgMv3p0awIhANeX3+F9DwEUAIJ8xxTvlRFObDb5HrkYEAdixHdAfLOW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.11-preview14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894123},"type":"module","gitHead":"2aec46571bb0d03f9cc446b6b7017cbea5f9992d","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.11-preview14_1782310510695_0.15087853114741612","host":"s3://npm-registry-packages-npm-production"}},"0.1.12-preview1":{"name":"ownerlens","version":"0.1.12-preview1","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.12-preview1","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"8e21aadd9b52daf5d5600814b2411d44b9febe82","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.12-preview1.tgz","fileCount":41,"integrity":"sha512-vlp/S/UyPyD28dUnCCxuBoYb1uyoQuE3qN1QQvp9XptgTP7hVqlJog24MwYM/u1G3sQ+XSnJ35nuZ43pjoH5zQ==","signatures":[{"sig":"MEUCIQC3ZzC7B+Sp/i5IKrgxdkO1ztaBwYdRpC1lKvs4WZaeNgIgDZYo+ZlY2fu/RlyPd+8MjGTvFaBv0macQr9kmGd9nvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.12-preview1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":894245},"type":"module","gitHead":"8ec8ac8015a5fb910230b4d113fab62d790905e6","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.12-preview1_1782376472350_0.4560225849670627","host":"s3://npm-registry-packages-npm-production"}},"0.1.13-preview0":{"name":"ownerlens","version":"0.1.13-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.13-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"3ae6aed3b4411fefefff25ab7286ac603fd3011a","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.13-preview0.tgz","fileCount":46,"integrity":"sha512-VDywaQb1j9LzpO0OyfrFUo5hieA+jckLRLu07lkX3g5iRUzn90vH5qCO8STsA2X76WGJ41nF0vlxd8K8zEWVsg==","signatures":[{"sig":"MEUCIQCARt1FMvrwMM6JrVNhjDYBmPTkeoQf+7Sc7i1mJA78RgIgas3Xh56NgdiYIfaV29BehK6QAbcqS6mCgWTtwbyZW5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.13-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":996976},"type":"module","gitHead":"f027495f79b189befa99a67bb4a369fd445e29a6","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.13-preview0_1782389893389_0.7674725036393599","host":"s3://npm-registry-packages-npm-production"}},"0.1.14-preview0":{"name":"ownerlens","version":"0.1.14-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.14-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"4fffebcdcb26a7bf2fcbbe3c324793b05787cd98","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.14-preview0.tgz","fileCount":46,"integrity":"sha512-/R9SHCZfzNSE6sVukAUWtPF91pc5xams96O15Yzxga7JQwK0U4DarjBm93oWesLnHHaOuF16JvLd9eNAPlNKcA==","signatures":[{"sig":"MEQCIBKuPJ6dIJICb4TI5nj+XRLfbn7vxxHTXnvn+eey5gzLAiAhnOGHYx5XKhzh2SlUA6eDBaa4RolnQ9OrJNdrO62mUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.14-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1002872},"type":"module","gitHead":"da0e1f9491319fa0f911b82a06e9429bb246f29a","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.14-preview0_1782398567712_0.2716206245415216","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-preview0":{"name":"ownerlens","version":"0.1.15-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.15-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"0ed392c89badf84df8c3e79d2d97306a1e0e9312","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.15-preview0.tgz","fileCount":46,"integrity":"sha512-Q7XwEZT1Cp5x/INVf5cM8uayFFk7VuUU2hTXGTS3hBNceUNfRrgGiMqhugEtsxs5E1deJixJ0d1GNLflvZPXHw==","signatures":[{"sig":"MEUCIF6NcX7qfSHMfWj3ZHtV+LaJycnb7d5YvOd1IysrLgXtAiEAnEpYER4ngQRkDYDxcgBG0O8wsyvDVmkpwqtxgj8K3q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.15-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1008566},"type":"module","gitHead":"6d17c300764420ae0eeb142fb356b5b9a603013d","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.15-preview0_1782401504546_0.8140077841688382","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-preview0":{"name":"ownerlens","version":"0.1.16-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.16-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"2e43c51b8322e71facdde760eae14b67dad207d9","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.16-preview0.tgz","fileCount":46,"integrity":"sha512-VWXl5fixP3X2Gw+3FcB7+6F0dE6E93DZq5dxsT/aTp3jXBiqhV2MoVeMaqkDeL22+fllwGEhKFQk2vnfPUXz6Q==","signatures":[{"sig":"MEQCIEBCJOtf3jZO0fEwlNWPm2xuADt/mUijxuA7+EiTJ+EPAiBDSRO1r9J1KhhHPA/ntPnlKgRNzkcKdG5XYoLytyeciQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.16-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1008576},"type":"module","gitHead":"52527006f711d70c6d2f800a8b7b8cfea11289f8","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.16-preview0_1782414493407_0.7816640245954549","host":"s3://npm-registry-packages-npm-production"}},"0.1.17-preview0":{"name":"ownerlens","version":"0.1.17-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.17-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"ac39f046b9c62afdde2393d20c1a18f326009360","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.17-preview0.tgz","fileCount":49,"integrity":"sha512-u6+4YrlBBREH7WT3jKmX90MIRHHzVDPTSqTtOytfz0Sr7y++U5RX0fKjYE9cn0+jCTo7BSvSJUWDWmDOMnbSeQ==","signatures":[{"sig":"MEUCIQC37gBUNaUtrm9XvAxFDPQr4ED04dbvIiD+zNrK89CBgwIgX1D1cJEVTuYBzbFzR9a2NFAEulQAiYvghHF5aJQCDpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.17-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1115665},"type":"module","gitHead":"75e056c708c71cb772312c23cbe773ccd642ddd1","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.17-preview0_1782548079971_0.6110825740081558","host":"s3://npm-registry-packages-npm-production"}},"0.1.17-preview1":{"name":"ownerlens","version":"0.1.17-preview1","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.17-preview1","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"d7eedb06dc72393981cbbef439147c319b111e08","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.17-preview1.tgz","fileCount":49,"integrity":"sha512-SKPsusJQhJwuyriPDyNKQksgNHMh+YLPZdd6rHcqYURmZXla93nCJ8Xej5S0ImuHGrm7WhmJ9xhdxTOOcdni0Q==","signatures":[{"sig":"MEYCIQD9G0NfONiKPALIXxTg03POVmosxv0BxFVHyRcdOb5kKAIhAOeGApnd7p1enmKeraB4EIp2SXSw1BKiIRO2LaQFVW0B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.17-preview1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1115668},"type":"module","gitHead":"d03ed730b077bb46d95cb4cd95135a40f968c20f","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.17-preview1_1782549302970_0.17155265503807526","host":"s3://npm-registry-packages-npm-production"}},"0.1.18-preview0":{"name":"ownerlens","version":"0.1.18-preview0","keywords":["azure","entra","ownership","reporting","governance"],"license":"Apache-2.0","_id":"ownerlens@0.1.18-preview0","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"homepage":"https://github.com/kodevza/OwnerLens#readme","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"bin":{"ownerlens":"bin/ownerlens.js"},"dist":{"shasum":"b8f881caded250e6d5e4d0835f9d45a81efcb87a","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.18-preview0.tgz","fileCount":50,"integrity":"sha512-I0e3BEPz+Ioi75tnNH5g3a4XMtCnHuKDvry5Xnukh1GOtQYHyGbqWgi3rJw3rwnQFCZZaoG9LmkgpRkj3djCuA==","signatures":[{"sig":"MEYCIQDloZv3dhWCktNpQmDU4cXkPX6Ha7CUhSP4VF3GnAjaPAIhAPQ4/xsAtAKIAa10Ns/lSF5xCEevinuB0nw8v4YsCjCe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.18-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1143673},"type":"module","gitHead":"4a7566ebcf456bc90707f2a9d88c0d650ba3d213","scripts":{"dev":"vite --host 127.0.0.1","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","test":"npm run test:node && npm run test:duckdb","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","start":"node ./bin/ownerlens.js start","test:all":"npm test && npm run test:components","test:e2e":"playwright test","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","deps:graph":"npm run deps:graph:folders","lint:unused":"ts-prune","test:duckdb":"node tools/run-duckdb-jest.cjs","collect:azure":"node ./bin/ownerlens.js collect:azure","collect:entra":"node ./bin/ownerlens.js collect:entra","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","test:components":"jest --runInBand --config jest.components.config.cjs","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","test:coverage:merge":"node tools/merge-coverage.cjs","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","test:components:coverage":"npm run test:coverage","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"_npmVersion":"11.13.0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.20.0","clsx":"^2.1.1","hono":"^4.12.26","vite":"^7.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.8.0","ajv-formats":"^3.0.1","tailwindcss":"^4.2.4","lucide-react":"^1.16.0","tailwind-merge":"^3.5.0","@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@tailwindcss/vite":"^4.2.4","@radix-ui/react-tabs":"^1.1.13","@vitejs/plugin-react":"^5.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-dropdown-menu":"^2.1.16"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","eslint":"^10.4.1","globals":"^17.6.0","ts-jest":"^29.4.9","ts-prune":"^0.10.3","@eslint/js":"^10.0.1","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@playwright/test":"^1.60.0","@types/react-dom":"^19.0.0","istanbul-reports":"^3.2.0","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.0","istanbul-lib-report":"^3.0.1","istanbul-lib-coverage":"^3.2.2","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","eslint-plugin-unused-imports":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ownerlens_0.1.18-preview0_1782560686341_0.49406714850013","host":"s3://npm-registry-packages-npm-production"}},"0.1.19-preview0":{"name":"ownerlens","repository":{"type":"git","url":"git+https://github.com/kodevza/OwnerLens.git"},"publishConfig":{"access":"public","provenance":true},"version":"0.1.19-preview0","description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","license":"Apache-2.0","bin":{"ownerlens":"bin/ownerlens.js"},"keywords":["azure","entra","ownership","reporting","governance"],"type":"module","scripts":{"start":"node ./bin/ownerlens.js start","dev":"vite --host 127.0.0.1","build":"npm run contracts:generate && tsc -b && vite build && vite build --config vite.server.config.ts","collect:entra":"node ./bin/ownerlens.js collect:entra","collect:azure":"node ./bin/ownerlens.js collect:azure","contracts:generate":"npm run contracts:generate:entra && npm run contracts:generate:azure && npm run contracts:generate:runtime","contracts:generate:entra":"json2ts -i contracts/entra/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/EntraSnapshot.ts","contracts:generate:azure":"json2ts -i contracts/azure/snapshot.v0.4.schema.json -o src/providers/azure/inputTransferObject/generated/AzureSnapshot.ts","contracts:generate:runtime":"tsc -p tsconfig.openapi.json && node -e \"require('node:fs').writeFileSync('.tmp/openapi/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\" && node .tmp/openapi/src/server/generateRuntimeOpenApi.js","contracts:check":"npm run contracts:generate && git diff --exit-code src/providers/azure/inputTransferObject/generated contracts/runtime.openapi.json","lint":"eslint \"src/**/*.{ts,tsx}\" vite.config.ts vite.server.config.ts","lint:unused":"ts-prune","test":"npm run test:node && npm run test:duckdb","test:node":"node --expose-gc ./node_modules/jest/bin/jest.js --runInBand","test:duckdb":"node tools/run-duckdb-jest.cjs","test:all":"npm test && npm run test:components","test:components":"jest --runInBand --config jest.components.config.cjs","test:e2e":"playwright test","test:e2e:validation":"playwright test tests/e2e/resource-groups.validation.spec.ts","perf:sp":"node tools/profile-service-principal-query.mjs","test:coverage":"npm run test:node -- --coverage --coverageDirectory coverage/node && npm run test:duckdb -- --coverage --coverageDirectory coverage/duckdb && npm run test:components -- --coverage && npm run test:coverage:merge","test:coverage:merge":"node tools/merge-coverage.cjs","test:components:coverage":"npm run test:coverage","deps:graph:folders:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --collapse 4 --include-only '^src' --output-to output/dependency-folders.dot","deps:graph:folders":"npm run deps:graph:folders:dot && dot -Tsvg output/dependency-folders.dot -o output/dependency-folders.svg","deps:graph:files:dot":"depcruise src --config .dependency-cruiser.cjs --output-type dot --include-only '^src' --output-to output/dependency-files.dot","deps:graph:files":"npm run deps:graph:files:dot && dot -Tsvg output/dependency-files.dot -o output/dependency-files.svg","deps:graph":"npm run deps:graph:folders"},"dependencies":{"@duckdb/node-api":"^1.5.3-r.3","@hono/node-server":"^2.0.5","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-tabs":"^1.1.13","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^5.0.0","ajv":"^8.20.0","ajv-formats":"^3.0.1","class-variance-authority":"^0.7.1","clsx":"^2.1.1","hono":"^4.12.26","lucide-react":"^1.16.0","react":"^19.0.0","react-dom":"^19.0.0","tailwind-merge":"^3.5.0","tailwindcss":"^4.2.4","typescript":"^5.8.0","vite":"^7.0.0"},"devDependencies":{"@eslint/js":"^10.0.1","@playwright/test":"^1.60.0","@types/jest":"^29.5.14","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","dependency-cruiser":"^17.4.0","eslint":"^10.4.1","eslint-plugin-unused-imports":"^4.4.1","globals":"^17.6.0","istanbul-lib-coverage":"^3.2.2","istanbul-lib-report":"^3.0.1","istanbul-reports":"^3.2.0","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","json-schema-to-typescript":"^15.0.4","ts-jest":"^29.4.9","ts-prune":"^0.10.3","typescript-eslint":"^8.60.1"},"readmeFilename":"README.md","gitHead":"639c23fec265f52c4315f181308a03c13d26e172","_id":"ownerlens@0.1.19-preview0","bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"homepage":"https://github.com/kodevza/OwnerLens#readme","_nodeVersion":"24.17.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-aOJCGU7efnOTi1IK9/F/r8KBX1ogzMuLAx2e4Eh18c1PtxAjT2+l3zLJpxxgofhJVNcrSxYt6MJkZVBZcYfykQ==","shasum":"141e3374e34891bc3ef3c9caf044230378b70692","tarball":"https://registry.npmjs.org/ownerlens/-/ownerlens-0.1.19-preview0.tgz","fileCount":51,"unpackedSize":1150509,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownerlens@0.1.19-preview0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDeFqGhbw88xiUdXHFwFgB25/P+iHjgMd5Y7xQ/L8tqYwIgXYkEbD/hYhO2R3hzxiHn33a/lK2yQzHXdhQFwZRNhuc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e9042a1-c745-4d4a-ad03-429e2d4f74b8"}},"directories":{},"maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ownerlens_0.1.19-preview0_1782852273419_0.7787756586037891"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-11T08:51:48.673Z","modified":"2026-06-30T20:44:33.829Z","0.1.0":"2026-06-11T08:51:48.971Z","0.1.3":"2026-06-11T10:43:07.907Z","0.1.4":"2026-06-11T10:53:38.962Z","0.1.5-preview.2":"2026-06-12T11:22:56.620Z","0.1.5":"2026-06-15T07:57:13.994Z","0.1.6":"2026-06-17T14:58:29.159Z","0.1.7-preview.1":"2026-06-17T15:10:04.900Z","0.1.7":"2026-06-17T15:24:38.607Z","0.1.9-preview.0":"2026-06-19T10:58:11.196Z","0.1.9-preview1":"2026-06-19T11:04:26.776Z","0.1.9":"2026-06-19T14:08:49.292Z","0.1.10-preview0":"2026-06-19T15:36:20.087Z","0.1.11-preview0":"2026-06-22T08:12:19.720Z","0.1.11-preview1":"2026-06-23T13:33:50.411Z","0.1.11-preview2":"2026-06-24T08:12:49.814Z","0.1.11-preview3":"2026-06-24T08:24:32.556Z","0.1.11-preview4":"2026-06-24T08:32:47.953Z","0.1.11-preview5":"2026-06-24T08:40:31.546Z","0.1.11-preview6":"2026-06-24T08:48:54.519Z","0.1.11-preview7":"2026-06-24T10:24:13.085Z","0.1.11-preview8":"2026-06-24T10:51:30.006Z","0.1.11-preview12":"2026-06-24T13:15:19.062Z","0.1.11-preview13":"2026-06-24T13:24:48.354Z","0.1.11-preview14":"2026-06-24T14:15:10.927Z","0.1.12-preview1":"2026-06-25T08:34:32.500Z","0.1.13-preview0":"2026-06-25T12:18:13.590Z","0.1.14-preview0":"2026-06-25T14:42:47.870Z","0.1.15-preview0":"2026-06-25T15:31:44.718Z","0.1.16-preview0":"2026-06-25T19:08:13.565Z","0.1.17-preview0":"2026-06-27T08:14:40.193Z","0.1.17-preview1":"2026-06-27T08:35:03.134Z","0.1.18-preview0":"2026-06-27T11:44:46.515Z","0.1.19-preview0":"2026-06-30T20:44:33.587Z"},"bugs":{"url":"https://github.com/kodevza/OwnerLens/issues"},"license":"Apache-2.0","homepage":"https://github.com/kodevza/OwnerLens#readme","keywords":["azure","entra","ownership","reporting","governance"],"repository":{"url":"git+https://github.com/kodevza/OwnerLens.git","type":"git"},"description":"Azure ownership reporting tool for resolving likely owners of subscriptions and resource groups from snapshot data.","maintainers":[{"name":"kodevza","email":"konradzawadka@gmail.com"}],"readme":"","readmeFilename":""}