{"_id":"@science-and-humans/science-and-humans-ci-config","_rev":"38-af6d4d6bd59436a459bf744d3dac9a48","name":"@science-and-humans/science-and-humans-ci-config","dist-tags":{"latest":"3.1.10"},"versions":{"1.0.0":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.0","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.0","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"dist":{"shasum":"dc9eba3bf0edcba41d121c7483364f409d857d0b","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.0.tgz","fileCount":5,"integrity":"sha512-bSPe27PsKs7k0BhLrqoGP0Qy0dxmRFpvxKJtq5djUB+L0kQAbUohS80xMaanZbGO8JwPFlVDhgNNuargHHFRIw==","signatures":[{"sig":"MEUCIHSvu3VQ8ZxC9or+VP/PC6VNKnvfi5xcQczsmz/X08+KAiEApsQ4m/VDfFmTxyb5EIPDLa9xs9b3urb7L19k7fzcQsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2524},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js"},"gitHead":"20730d211c24b1de0ae39b7d6bb386661ee28e38","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.0_1753854510368_0.8002632081332564","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.5","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.5","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"dist":{"shasum":"b4134d3996b607dd77b1a6bd333dbab1f930fc58","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.5.tgz","fileCount":7,"integrity":"sha512-mPfcGL3tgTyN4t8ZSiF1o4IGB0NY3oKbcT8fHlGZyBW3TW2g8WfUVgx/Y6q1ucGVyIX5s9Tz7NV0l++HLB2yQg==","signatures":[{"sig":"MEQCIGyscVq9bLCkYATZgzU5yoPm3+O/XKPuNDN1eDwjzD8BAiBpigl2u725vG63GkYrtn1JrA7P+oi1Mx92DVmXmoFlOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5438},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js"},"gitHead":"cca42fa650cabd5d8e28b6f9cb7a25557f6b3224","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"Here is the `README.md` content formatted as a Markdown file — ready to copy and paste directly into your code repo:","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.5_1753858761315_0.25777062243433746","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.15","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.15","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"dist":{"shasum":"ee267abab6061ef187a99a9118e6319ea65f2a8f","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.15.tgz","fileCount":7,"integrity":"sha512-S2WNw62x3EgIGOFUeRUYASJj+R9JHB9ie/FmQbxcd/frhCTH1NU5MVZQLjeNv3LyXbX82jT4muTKqC4VCjndTg==","signatures":[{"sig":"MEUCIAL91BEoexHc+jxA9/0xAksRXRzUOptcGC5RASD8/E3eAiEA0pJejmlfrYo3QOw7SiKtLBDmg4YHUOvYGJqzITAbD7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5529},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js"},"gitHead":"900cda10b76706d82b1b76f26c45c16f5963db3a","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.15_1753862605719_0.8232860451658446","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.17","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.17","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.js"},"dist":{"shasum":"e5dac8000da4a174c718694cb006819e7d2cdf92","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.17.tgz","fileCount":16,"integrity":"sha512-1FBBHUNubFZfv/uVFuVFY0hTzjaG+8tlOnIsiWM+v6nFtQ0rDKPAZ7DzBK6pLcnW/PRZJAargCRkZF6uEwam9w==","signatures":[{"sig":"MEUCIG35+wqN0DZfRjzhxtAnrZja2TF9i8+X8fLs9HYxPWcjAiEAh6hlNQBCo8plu6wCasN8okT9TKyGRCQ1Eo40h78I37I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41662},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js"},"gitHead":"3b5a37ba69bf756c5cf2d6709287691f5f4c89c5","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.17_1754425600291_0.25793561179364843","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.18","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.18","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.js"},"dist":{"shasum":"6de34dfe77a6fcb1152f802a9881f5b1cf50cd66","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.18.tgz","fileCount":16,"integrity":"sha512-svZNNigLqUuyidDXWM4q14y7m9Du3+B0aa4OFGxtkJm8hRq2SR0T8qTcVMPFzsYwVRQnwxVGIwRa6Neg9WXwjg==","signatures":[{"sig":"MEUCIG8P7vvwKGOrVMEInW+xWavqzTao9RfXfHqF0/1r/FQsAiEArrzaA4k14q+/mU9Xl6Fay1J1NADCw4nxgVzHVpHPhMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41668},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js"},"gitHead":"3cef5db3d539df9427bfaf11697865beee822796","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.18_1754428135191_0.5033930694882089","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.19","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.19","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.js"},"dist":{"shasum":"a62e5dec3aae2ec384b59b2d6d65b8ec311c1c34","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.19.tgz","fileCount":16,"integrity":"sha512-xShTdb9vqsjyOGshzFp9OzNhMzmxFNPw2YZQbjg9tILF5HNAjDWtYiWTCE5Effvrg3z3UUntKwXK3Jt9qx2djA==","signatures":[{"sig":"MEUCIQC/wlFRJV9q2oVqwvIX5Qk7tM5vxL7UrjqlP8TESfWiZwIgchwuHIogemD+1/aNv71AX8xPPNTjPaJ+202UE9bf0bI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41683},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js"},"gitHead":"44f87e8d2343233e707d9f98a57cbb77c2eed914","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.19_1754428945009_0.17742168595217134","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.20","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.20","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"ded5d988e872326f639e286b8aad61e2d71cda95","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.20.tgz","fileCount":17,"integrity":"sha512-0eruY4QEPuPMBHlqlz95KRsRIB9fGX77MZyA8PJBtykaEysSey713HkQaZ8fYDKjc1CTHhMyO99PEJ7utSdleg==","signatures":[{"sig":"MEUCIDG0MMW8kMXagjUw9h8KJCf5+Lor16qxxh5evL43iQ07AiEA7NsaazrPluDyuDRYyxtz4kQ7ZVfPRx7YMekde2lJCOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42077},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js"},"gitHead":"fc91084bc17e5b66a23c9c11fd6356ae360efba9","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.20_1754429534765_0.7167778329438639","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.21","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.21","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"efe2218e102f37dc8a57d6dfa5dca25a779532b8","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.21.tgz","fileCount":17,"integrity":"sha512-bPiMaRA4jPjniI6L+tMKZc2WYLi8rY144gaYP/rydaclTq62Cm8/r1AIpC12svuyd8qrDyHBCdyF4wltUcCPTQ==","signatures":[{"sig":"MEYCIQCHoJZTqQL7V6BVWEFqH+Zy/FoHevYoswtJqAnbStpWrAIhAKFvbnZd1zMvyZqLwKLS1wufVYgGQjFBdQNx9dfupO0R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46650},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"d94575a40f93acc1d5a8852ea5cf9676453fc366","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.21_1754429823570_0.3594701520322148","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.22","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.22","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"8f2af3815376d83946c69ffc7e2511610066ec15","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.22.tgz","fileCount":18,"integrity":"sha512-AR8UwSUp/5PodKHMZN6zvelcj6+Oao4VaCIB97gl2Sy8hvKfWHEkIh/9JNHGMZ7fayxDCdKENHWoOW74XXiwGg==","signatures":[{"sig":"MEQCIBupjI9XlLI1DhczT13d9L91+r8nyFdO7oIUUECC40hRAiBiUYvGrS5SS+tlvVR1OAYq40lqimw+u4pfa60LVGiKjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49704},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"c3035700fa2c6392109efa8c84cb97d6317f8139","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.22_1754430710126_0.04821106756257265","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.23","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.23","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"70ded56d256870b2e4c88af575f21c21a0d4c491","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.23.tgz","fileCount":18,"integrity":"sha512-+K/s4ttycQ8sU7EFVOOK47SDlJIpFfKZuLGrLLnQPrfnCcqmL1lrjQY+0S/OC34L93fBm08634gO4SkcYt77kQ==","signatures":[{"sig":"MEQCIA3+25Zt+oLhbS/WBOVKppXwGkkQxoqL4MwqMuqZV+ufAiBVGdzxp0GTKq7v4Q5afUS/Z7KLe+zw0uhRP6+QF448LA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50525},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"9ebc02e0cd6be434ec0f109639d770e0cce84edf","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.23_1754431845878_0.3669808490069453","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.24","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.24","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"61d95dd476f2809b60f8f87f9085d23bbf11043c","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.24.tgz","fileCount":18,"integrity":"sha512-5eKShRPEBSohHGXP30Zb493twmlFRTZds78MV6qL+eJgXukNSmTVPnhXIXnI9ZVDBXnHrZ1k4reuUjjhtt66bw==","signatures":[{"sig":"MEYCIQDlz2MWAYVdremJiFDr0SEtydR4jOF5FRrJwuygyPW5SgIhALVRj58IemxjY2OX81kiy2AgAWF9jhQTB30LkTLczaWC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50525},"main":"index.js","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"d641ef9b16bbe8245a828c93a0ea4e34c89e9c35","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.24_1754433773604_0.7425765736575192","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.25","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.25","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"072f2921f2c3147b25ca15223097eac0bf89e376","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.25.tgz","fileCount":18,"integrity":"sha512-QvA3VHWk7JCxdJy5hDOnR4ICBMkh2sX2KLHsFgJu26zDqKahytlcM73mrguKEJwRo6QklcgzemX1h8chALNukg==","signatures":[{"sig":"MEYCIQDb0DeyegUKJb00iRuJeHnuDC83h+Mcainl2Rhs5cNafgIhAKUe6VJgT3kWgEtcA2EBrbYu3A0VrwhthNuxLCuIRWJ9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54177},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"4baa0ae0db0fd1b23bc2e1c67d331d49ab4a28bc","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.25_1754467155336_0.6765032204135977","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.26","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.26","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"dbf774437e83d7c2c12f85c62456ebb463280cda","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.26.tgz","fileCount":18,"integrity":"sha512-s+TDLaPEeJSOybUm1WbqGGLOxmycdT5ae8WK1taC9Xjs+1udv/I9fP7tHBE7mV+JB+Lvq9IydjE3xEJH+pmFDQ==","signatures":[{"sig":"MEQCIEg4RQYa3toXDnCP8BbPbn62R4o+XeUxckoPR4e+fFfaAiAKVVrxbyGoyT4cH6IQAaKxoxrViDYAgXlemtrDGpMAbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54181},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"1e191f0886da414e16065440c3536501c7832ee0","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.26_1754467908386_0.6736962820909538","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.27","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.27","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"f40cfc66dbdf284f1c3c9b5e26f898896e04a68a","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.27.tgz","fileCount":18,"integrity":"sha512-A70R+58J6amjsbmGk6dggI5dpRRUzccTC5hWHwYStRQ6/iBKONeinCRCShgC5i0l6ved2WKwyBcRHTTD2VYO4Q==","signatures":[{"sig":"MEYCIQChSSJmD83QnlE/YhTlZpRevH+GzKsSGyxQ+ho0UIJi3AIhAKJoqsCJ1H+pKCFzdGNCNiVdq8NBQH50mfCjz4l7qxHb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54185},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"d61eefac82499432a532539b2545a043cec8d47d","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.27_1754468202869_0.7416872324021822","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.31","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.31","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"5c0f159b17b29bfd9742dbcc87c0e3484501d7f4","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.31.tgz","fileCount":18,"integrity":"sha512-WB3UVG5s952ukgmSGtu8hOPcUgxvBJsGAlSXmc096deStyx5YLIiwPdHn6vMXoQnsxgVOxVjpm/Sg8hAUkPGMQ==","signatures":[{"sig":"MEYCIQDK/jFoE7F5ET5kgqFXwsDzzXDnJMrlritdJ3amjW3e/gIhAMgssHEiiodjyRjefU66Q74z013+1rB5qYv/Sgjtc8HP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58687},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"af415d092a7c1b5fd1647ab27195f622c26c4abd","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.31_1754506053771_0.11738051192432475","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.32","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.32","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"b25b5e0092f1bddc835cd421b69f6a95efaf9ecb","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.32.tgz","fileCount":18,"integrity":"sha512-TsvCS+36HUkVFhucyiMZtFhvVL3ejL6LiN16oWQ0fgBu+cyq+s51fhUfL5g0YbDZsNMfRRQzYBvzklsmSCHMZg==","signatures":[{"sig":"MEUCIHH2N0iMass7G+koWZTIJ1MmUpOMaI+8KJgsIVeuMwafAiEAu+hhdPAqpPF4lMfWYUvrZzeliOCmCsTI551szzn6sAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62896},"main":"index.js","type":"module","exports":{"./eslint":"./index.js","./prettier":"./prettier.config.js","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"e82d0587d62ed3e0cafbef09c8db04c680bddd10","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.32_1754506892110_0.2114261011487173","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.33","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.33","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"edc462e3e03f94f756dfc6a686282cda866b6c57","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.33.tgz","fileCount":19,"integrity":"sha512-bQGsSCsid27S0INeIZnM6pH2Sb4yOYjtxR4BoJ2IA4nSbIFc+nsScrsYHvvpenqmrFaSG1vJjWyV6wyridk/hQ==","signatures":[{"sig":"MEUCIQDKHbfCTN+GysbhZUWKoO9Ltr52+7ZcisFFTTwnSsOItwIgVZnwyKMHa+Ez86CbYmIgekxBPSTcHbRFqwyf0b0jIgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63278},"main":"index.cjs","type":"module","exports":{"./eslint":"./index.cjs","./prettier":"./prettier.config.cjs","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"c279981e4576187369df5fba1a0c35e56660327e","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.33_1754508805606_0.5661269467517869","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.0.34","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.0.34","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"cb4dbc1b2406aa4b7e0823ce234933bd49027f7b","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.0.34.tgz","fileCount":19,"integrity":"sha512-QCIHjb+Yn+vzaKqMaoRk7tR5miD4evaIFMy18mevtFkpihmkkKNaz580qaiWxf//V6DJAFqYkBQZ/pm7IsK/pQ==","signatures":[{"sig":"MEUCIENeIGg+phvSJUsqgXy6Ew3+uRDDJo784Ae0VIRsyZALAiEA7n/g6i0yk0I2n1gykSylTj5BUP4i2usxPyBAAbxUcxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64306},"main":"index.cjs","type":"module","exports":{"./eslint":"./index.cjs","./prettier":"./prettier.config.cjs","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"82ea5f2b7e2569fb88c987e1c1f5d59bfa32a01f","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.0.34_1754552967998_0.16867039930800276","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@science-and-humans/science-and-humans-ci-config","version":"1.1.0","license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@1.1.0","maintainers":[{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"}],"bin":{"ci-lint":"bin/lint-changed.js","ci-check":"bin/ci-check.js","ci-format":"bin/format-check.js","sonarqube-setup":"bin/sonarqube-setup.cjs"},"dist":{"shasum":"e1cad14430711feed73bd9b49fa7cd0ef0bcf8f7","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-1.1.0.tgz","fileCount":19,"integrity":"sha512-EFbQj8LweaEMvjxBFL91uB6HmDiBUdC2ZRrLC8cauAhVOVMFEB/GojmWETxCg4xGMMH7dpdaWsJ2YGCxpsmOqw==","signatures":[{"sig":"MEQCIBXTGOe0mUv4IKfIi5qb1mi1i5Ak6p/5xThrpM+CR6H0AiAvmTo1kM+YH8ai3RT6gYBF65vugBiiI+sZfwW5L8p5Dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64348},"main":"index.cjs","type":"module","engines":{"node":">=20.0.0"},"exports":{"./eslint":"./index.cjs","./prettier":"./prettier.config.cjs","./sonarqube":"./sonarqube.js","./lint-tools":"./bin/lint-changed.js","./format-tools":"./bin/format-check.js","./sonarqube-config":"./sonarqube.config.js","./bin/sonarqube-setup":"./bin/sonarqube-setup.cjs"},"gitHead":"8679080524025d1c2b0400a487a63fc6279cccee","scripts":{"lint":"eslint . --ext .js","test":"vitest","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},"_npmVersion":"10.9.2","description":"````markdown # @science-and-humans-ci-config","directories":{},"_nodeVersion":"22.17.1","dependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0"},"peerDependencies":{"eslint":"^8.0.0","eslint-plugin-react":"^7.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_1.1.0_1754607464389_0.5486563808742597","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@science-and-humans/science-and-humans-ci-config","version":"2.0.0","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@2.0.0","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"ae439e2f058462e6636018d9b906a372b4591a56","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-2.0.0.tgz","fileCount":7,"integrity":"sha512-5mQ/0kMP79LZAkaCzme4hn5Q5YTMNIL1dVf48H9Dh4SI3gQv7oXZA8cn7fEtQZCqImr8oLjZGknFjDTvsMQJAA==","signatures":[{"sig":"MEUCIAXF8orFnSa5b8B/l0RCyHdYaYrs2ME4kLaWQOhpqT+FAiEAsxUhFJSBKZ7M5s5cV/T/GvfHzt3HfzA9mbLvgQSsZ08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14990},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./eslint-full":"./configs/node/eslint.frontend.cjs"},"gitHead":"a17873ee073ab86277a51e493b8b6125834eb121","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"11.8.0","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"25.5.0","dependencies":{"eslint":"^9.39.4","prettier":"^3.8.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_2.0.0_1775840752160_0.29874622694230935","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@science-and-humans/science-and-humans-ci-config","version":"2.0.1","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@2.0.1","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"47fabd86cc3b40e39a51a9c832c30917745ec700","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-2.0.1.tgz","fileCount":7,"integrity":"sha512-PW1ExIodQgWc757Xk7qgKWLJCvzVgFbhe8OMO8nTDJql3yLN3Lyoy/d+MkA4SqJvjQ3GLudFKn9hNYvYodY9Ww==","signatures":[{"sig":"MEQCIBtgdA5q9urO8zjcNSuSYxFU31SbMY6aTUkLYA2xRtLNAiATtbqx8L0L6ULmmfKS5enqfr3YNkUOOU6jcO99GvVsbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14990},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./eslint-full":"./configs/node/eslint.frontend.cjs"},"gitHead":"9803b0d8909986b46b223aa6dcd990663b976b13","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","prettier":"^3.8.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_2.0.1_1775841321733_0.7096438190043315","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@science-and-humans/science-and-humans-ci-config","version":"2.0.2","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@2.0.2","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"820a1270a728277da6e6eb4f1024142ad580bef3","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-2.0.2.tgz","fileCount":7,"integrity":"sha512-WqeOpyZz2X6+iG2saPhuzKGM/axQPsVrIYdPBQSsM76rrhTBF7U7lnCzasRyxs3G/8YBkBcTcIrmq+cXLLlFbA==","signatures":[{"sig":"MEUCIQCjBij4OsBhVX54ZQPVtpFGjHuKHiMWdouhDzj2z5CvCwIgN0vwqK2E9FE+xc0Q38yAPLXSvzjzdEqkqBYTEfFsWks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14990},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./eslint-full":"./configs/node/eslint.frontend.cjs"},"gitHead":"787920769073572e4da44a148647872660bd7c33","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","prettier":"^3.8.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_2.0.2_1775841917221_0.36636137742843844","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@science-and-humans/science-and-humans-ci-config","version":"2.0.3","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@2.0.3","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"a7e0853eb85c2bf611dee591dc500b705e2a448b","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-2.0.3.tgz","fileCount":9,"integrity":"sha512-w1nW6UTqtMJGWbbdV+LuWXk7zIoiMrhj7ZarsHST7aT5Ac/LVTFwAifbFH3+RTlTtdfuN5r8+03Jrd6to1W8dg==","signatures":[{"sig":"MEYCIQDPvTBnjnkS6pBx+xrhoJEQy8bOIVKNFSZYVPzKx/XR4QIhAKbmpudZMmjTLzRbGl0flKDBxAGFswUaf1ceApXH3AWB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20276},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"640ff4a3d1330e529f37135356035b1eac9f34c4","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_2.0.3_1775844018792_0.8905560814043065","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@science-and-humans/science-and-humans-ci-config","version":"2.0.4","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@2.0.4","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"f75153ec09a8d21ee9294dc6b3c55b6a35792158","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-2.0.4.tgz","fileCount":9,"integrity":"sha512-PB+0AtZePDKI/nCziBs65XXC0EEccO9MGTmfW2lmKPOxUsEtiNuHcIhm2vtkdT/tD1uIrlSIrMdrfjZLk9mmWQ==","signatures":[{"sig":"MEUCIB06BosCQDhNILWM1IHhqCOnZkXPz3PA9RMxWu7ZUufkAiEAzNYoXIRGrjWBv45RdgIZgpN8Eu6YDV+m5i1AI49BA+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20469},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"92b10afdaba9513a410fc482289d2645319ddfd5","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_2.0.4_1775844571466_0.7640029993665249","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@science-and-humans/science-and-humans-ci-config","version":"2.0.5","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@2.0.5","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"71c6fdd1cd244e4d4f01d396465be0875cbd32bf","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-2.0.5.tgz","fileCount":9,"integrity":"sha512-w1WCm+7WIkr9vxre0Z2JbtqahWvtfUjvH6307LOQ3AiJAq3Yr/D0vB9A04D8mHl5eGw/5/YEma/TdUm35aEFyg==","signatures":[{"sig":"MEQCIGYjSA87KzIJZkco8tTjta506sjilPmCLjTwC7a3yTjxAiASZJMHpXKFqccWl3HJBilP8BR9Ql6gHBP5AvR/z0xtng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20725},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"73db3634af8db85a430b7b5d09126eec1d159a21","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_2.0.5_1776104986004_0.8665114685203563","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.0.0","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.0.0","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"c813438d8d3fedd709cd710e52b24f97db5be459","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.0.0.tgz","fileCount":10,"integrity":"sha512-c3nv1U0KnzZZnPtkCEJzkXMFEw4Z/u8Vr4h+PATkcpv+0gvQ0QgFDrvcIGX8cDPXrENZN63WLytUGULLGchoFQ==","signatures":[{"sig":"MEUCIEjaMtaS//wix00PgVQDdWb+Sj0Iqe1F3Ee9kfeDgwKKAiEAq/t8zWhfJ1kFAzNNVYVuoJ5uknVkAgcfH4/Il61Ih/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23532},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"5604af1b4dccf6081781e6e6bf9b1d77bbc79dc8","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.0.0_1778097504572_0.6963358453305069","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.0","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.0","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"656e52842437ef9ce34afb15b9c36c8cdb82edec","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.0.tgz","fileCount":10,"integrity":"sha512-eeyJt//QN0p8dl20C+z0CXPQgIto6VnCQ5i7Tj2Qxb9hjTyn6fEGQgleVCIfSUQCjCmtasf7yFsJOKrvIF15ag==","signatures":[{"sig":"MEUCIQCCC+eAIXDtsCdJj9g8bdPNNK+glc1yghZOIgJU+bGQtAIgG/fC3NxfGRqWqBDvfpPTYUZ0OwnQCXUbHJdWI43qlUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27381},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"8dae36edd9eeaeb6c81d72242aaeed784c275955","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.0_1778158840341_0.9151802871635444","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.1","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.1","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"7669f311f7dc4652b993c1e14b83a68d20b8275c","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.1.tgz","fileCount":10,"integrity":"sha512-HGUDvyLEwhu/ad5gdxr5yAWzK8ZXUFGdY9oRO6ML9m6bSEENxDHRkZkJZPzgR/RmF2E+WUvK7wS5YhcJwufkQA==","signatures":[{"sig":"MEYCIQC4aZE5QNvCqhLEoLHg1uDLW2c+eOD9qfBbSqa+cgzcNQIhAJsPSjxGFlLTZSXdDdC6Kzluj2swvqR9/ts4UIZU9wxq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27337},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"0fa002e30a021ad75d01f0507d9d4874d200eb45","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.1_1778160566018_0.9228949683336778","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.2","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.2","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"ab685d6a77a46c93705d5a32a92696a6772f3aff","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.2.tgz","fileCount":10,"integrity":"sha512-GTSp/W8Cp8DvhUbEGSsHgkMIl/us5wxptYvI57L2kDo9u3biWTtuQbQwMJLUCrE+UWSbx8lIgS0EMnzm9U74kA==","signatures":[{"sig":"MEUCIEy+MW5A0RO1GQgqn+DxVweUV6cC/l9mbYe8jdqm/afxAiEA4cP/okebGXpBsAq/wGqim/XDI4c8DysGZ1aEeOF0AuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"5a1354ffb5b934dba4d511c246366fd45be09064","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.2_1778162157662_0.8319984274626229","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.3","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.3","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"5c7f688b3512ce6c4d2872ae77d3a4818907bdde","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.3.tgz","fileCount":10,"integrity":"sha512-7Uo6CNamlKqhbKn6ZAZZ/383T2N5OWlP/D5gwYYCkivNbTnf0VNn94SKzV/i1NOMYwxnK5k/ENajmhs8Th+cRg==","signatures":[{"sig":"MEQCIBSCiai51DNbLkcLFSdTLBSF5mzAY4DBaDyGCufhaiOhAiAYWkny1fd6tSlOXX/ON5PkSHf/gBiDmoyvjncVTFU77g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"6632745ed20a74dce19ba975eca2b95a9ca66916","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.3_1778254126427_0.6840342136388435","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.4","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.4","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"af18f1aab20cef930f0b23b667199d61c40cc6fc","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.4.tgz","fileCount":10,"integrity":"sha512-Gp98/E0KwEMIV2k2rzavCzOX9Hi5dvdXenp7Atl7PlkQqGxSx8ZAicc7ujxlj7tPwLlADH1InoYxhHAuR8tOag==","signatures":[{"sig":"MEUCIGRSzK4KaUaj3k+dllF4ymV5HLlgsEv66nPBqt9x9iCjAiEA3W/ju9FRsNXrVV4aGai7XrzAg8M21C/xTSBUvwlTFoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"09954e206ba78e21c29393fb46474705265a6e96","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.4_1778255120402_0.27934390388210817","host":"s3://npm-registry-packages-npm-production"}},"3.1.5":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.5","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.5","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"de8cca66a07cc568cf61b819e0f68db52888d788","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.5.tgz","fileCount":10,"integrity":"sha512-2DoS81dc7Galxv4CCTxWxdL5DYgqSGt/RhAr8XXuRMb0X9Fj2ABcwAKgYhQb/kuMkns5XO5p29oWjF41h+z1GA==","signatures":[{"sig":"MEYCIQDQjKZkUyZAH8qVwXM1EyVpvxKyQjs1mNq90sC3jPYkVQIhAPephQYPcxqBv+u5m5GwVXdoHomXRW0hMpYMY1K11X+z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"0698c3e7ba9b7ab53567186b7147df50ae16b916","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.5_1778255382750_0.417077605562578","host":"s3://npm-registry-packages-npm-production"}},"3.1.6":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.6","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.6","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"7314caae5de28ca00f9523401fdcb85ccbb11c24","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.6.tgz","fileCount":10,"integrity":"sha512-60GczSUBudbrzMeS5H1vhgBI46/ny0J2OcffRBqkwEU16cfRAMVrDZHWqQzB3MEORmoCNGbpWsm0ElwBJl+l0Q==","signatures":[{"sig":"MEQCIGblyASLl+s+EWc8KNl9/pHMLRYcHShiyRlmgbF2V4cRAiALlB7I3pyTf7AZB0CLw7KJeUyFebr1cmgCAME4RnVGtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"98a2c485bedd52a5304d902943c89e863d89a67f","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.6_1778255627160_0.673731663476171","host":"s3://npm-registry-packages-npm-production"}},"3.1.7":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.7","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.7","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"5ddb98188ae46c830cc129fbd028122ffd01df5f","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.7.tgz","fileCount":10,"integrity":"sha512-GThlXFSCfcoLsGAy7G+iBDSGhzN1bAQbN4TG9TiT1slQlrPCK+rP6CgorfmEBBRRgnoTmA0yeW2Uk4nVktRR6Q==","signatures":[{"sig":"MEUCIDJ7dTRkJNcBv3hdf2xnVXjjl7AT6t8bV3LrdA6uloHcAiEA6sTMEKb4VEITzOl3X0VN2p2+IrOtirZzMjPz9Np16hI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"cf86af25f3c8829b8b3fda8bc9b32a5477564209","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.7_1778255858032_0.2724115606645203","host":"s3://npm-registry-packages-npm-production"}},"3.1.9":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.9","keywords":["ci","eslint","prettier","quality","github-actions"],"license":"MIT","_id":"@science-and-humans/science-and-humans-ci-config@3.1.9","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"dist":{"shasum":"32129c6b7f27ee0e0c375cfc6d59cbb57a4dc814","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.9.tgz","fileCount":10,"integrity":"sha512-7ybfcFXRcJ6Y3tdnR5cs3NYsAYr0fRYvdNy4jYDtmscn+ELSrTaNiALEdlLmTMoF5BKM48hvi3rELAMIQz09/g==","signatures":[{"sig":"MEUCIQCAwGrbT2fGbqpctghKRG1vtK0CDcgKLgMeNh5pen3w/wIgOeK0nBk/sMK1ho0iFLSrCiSkbRNXJTfvjFy7M4KJyCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27255},"main":"./configs/node/eslint.config.cjs","type":"module","engines":{"node":">=18.0.0"},"exports":{"./eslint":"./configs/node/eslint.config.cjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs"},"gitHead":"9839e9bf13f8656d267fec4f9c46f102ece32e6b","scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"repository":{"url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git","type":"git"},"_npmVersion":"10.8.2","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","directories":{},"_nodeVersion":"20.20.2","dependencies":{"eslint":"^9.39.4","globals":"^16.5.0","prettier":"^3.8.1","@eslint/js":"^9.39.4","@commitlint/cli":"^19.6.1","typescript-eslint":"^8.58.1","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.1","eslint-plugin-react-hooks":"^7.0.1","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.58.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/science-and-humans-ci-config_3.1.9_1778685760185_0.0028919304761352294","host":"s3://npm-registry-packages-npm-production"}},"3.1.10":{"name":"@science-and-humans/science-and-humans-ci-config","version":"3.1.10","description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","type":"module","main":"./configs/node/eslint.config.cjs","exports":{"./eslint":"./configs/node/eslint.config.cjs","./eslint-full":"./configs/node/eslint.frontend.cjs","./eslint-flat":"./configs/node/eslint-flat.mjs","./eslint-flat-frontend":"./configs/node/eslint-flat-frontend.mjs","./prettier":"./configs/node/prettier.config.cjs","./commitlint":"./configs/node/commitlint.config.cjs"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"engines":{"node":">=18.0.0"},"dependencies":{"@commitlint/cli":"^19.6.1","@commitlint/config-conventional":"^19.6.0","@eslint/js":"^9.39.4","@typescript-eslint/eslint-plugin":"^8.58.1","@typescript-eslint/parser":"^8.58.1","eslint":"^9.39.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","globals":"^16.5.0","prettier":"^3.8.1","typescript-eslint":"^8.58.1"},"scripts":{"lint":"eslint configs/","format":"prettier --check .","format:fix":"prettier --write ."},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git"},"keywords":["ci","eslint","prettier","quality","github-actions"],"_id":"@science-and-humans/science-and-humans-ci-config@3.1.10","gitHead":"b817b565a6f2285c49fde178d98ecf8f74b2ecfe","bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-yW2zlIzkGLau8H0I2kdJn4HXTOv4H9vJny/bo7ZEsBvVmX2AFEI3hKvC95IFCgJmGLpLDpgHTQdCw+q0CjL66w==","shasum":"d82b9cd2f0ed4841e291c25a18606cfa3288cdb1","tarball":"https://registry.npmjs.org/@science-and-humans/science-and-humans-ci-config/-/science-and-humans-ci-config-3.1.10.tgz","fileCount":10,"unpackedSize":27256,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMvC+Fzwxmcs7fVuS8G43OkTqewggWiqHhuHgwVbtzLAIgUZM9rXzt9Wrdt6lQl6+v43uxzL8EKLo61Zh4sMqcSTU="}]},"_npmUser":{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},"directories":{},"maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/science-and-humans-ci-config_3.1.10_1778686391785_0.9076508472270388"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-30T05:48:30.290Z","modified":"2026-05-13T15:33:12.163Z","1.0.0":"2025-07-30T05:48:30.547Z","1.0.5":"2025-07-30T06:59:21.509Z","1.0.15":"2025-07-30T08:03:25.903Z","1.0.17":"2025-08-05T20:26:40.481Z","1.0.18":"2025-08-05T21:08:55.416Z","1.0.19":"2025-08-05T21:22:25.210Z","1.0.20":"2025-08-05T21:32:14.967Z","1.0.21":"2025-08-05T21:37:03.938Z","1.0.22":"2025-08-05T21:51:50.323Z","1.0.23":"2025-08-05T22:10:46.096Z","1.0.24":"2025-08-05T22:42:53.803Z","1.0.25":"2025-08-06T07:59:15.545Z","1.0.26":"2025-08-06T08:11:48.584Z","1.0.27":"2025-08-06T08:16:43.061Z","1.0.31":"2025-08-06T18:47:34.037Z","1.0.32":"2025-08-06T19:01:32.335Z","1.0.33":"2025-08-06T19:33:25.795Z","1.0.34":"2025-08-07T07:49:28.180Z","1.1.0":"2025-08-07T22:57:44.585Z","2.0.0":"2026-04-10T17:05:52.308Z","2.0.1":"2026-04-10T17:15:21.884Z","2.0.2":"2026-04-10T17:25:17.355Z","2.0.3":"2026-04-10T18:00:18.944Z","2.0.4":"2026-04-10T18:09:31.610Z","2.0.5":"2026-04-13T18:29:46.125Z","3.0.0":"2026-05-06T19:58:24.751Z","3.1.0":"2026-05-07T13:00:40.497Z","3.1.1":"2026-05-07T13:29:26.225Z","3.1.2":"2026-05-07T13:55:57.803Z","3.1.3":"2026-05-08T15:28:46.581Z","3.1.4":"2026-05-08T15:45:20.596Z","3.1.5":"2026-05-08T15:49:42.881Z","3.1.6":"2026-05-08T15:53:47.346Z","3.1.7":"2026-05-08T15:57:38.159Z","3.1.9":"2026-05-13T15:22:40.337Z","3.1.10":"2026-05-13T15:33:11.992Z"},"bugs":{"url":"https://github.com/Science-and-Humans/science-and-humans-ci-configs/issues"},"license":"MIT","homepage":"https://github.com/Science-and-Humans/science-and-humans-ci-configs#readme","keywords":["ci","eslint","prettier","quality","github-actions"],"repository":{"type":"git","url":"git+https://github.com/Science-and-Humans/science-and-humans-ci-configs.git"},"description":"Centralized CI quality standards, shared configs, and reusable GitHub Actions workflows for Science & Humans","maintainers":[{"name":"mathew-scienceandhumans","email":"mathew@scienceandhumans.com"},{"name":"moh-science-and-human","email":"muhammed@scienceandhumans.com"},{"name":"santheepkumar","email":"developer.santheep@gmail.com"}],"readme":"# Science & Humans — CI Platform\n\nCentralized CI quality standards, shared configs, and reusable GitHub Actions workflows.\n\n## Architecture\n\n```\n┌─────────────────────────────────────┐\n│  policies/standards.yml             │  Defines WHAT to enforce\n│  Language-agnostic, tool-agnostic   │\n├─────────────────────────────────────┤\n│  .github/workflows/ci-node.yml     │  HOW to enforce (Node.js)\n│  9 mandatory checks, all blocking   │\n├─────────────────────────────────────┤\n│  Consumer repo calls workflow       │  WHERE it runs\n│  ~5 lines of YAML                   │  GitHub Actions in caller's context\n└─────────────────────────────────────┘\n```\n\n## Quick Start\n\nAdd `.github/workflows/ci.yml` to your repo:\n\n```yaml\nname: CI Quality Gate\n\non:\n  push:\n    branches: [main, release]\n  pull_request:\n    branches: [main, release]\n\njobs:\n  quality:\n    uses: Science-and-Humans/science-and-humans-ci-configs/.github/workflows/ci-node.yml@v3\n    with:\n      node-version: '22'\n```\n\n## What It Checks\n\n| #   | Check          | Tool                 | Default                                   | Severity                |\n| --- | -------------- | -------------------- | ----------------------------------------- | ----------------------- |\n| 1   | Commit message | commitlint           | Conventional Commits + Linear ticket      | error (blocks)          |\n| 2   | Format         | Prettier             | `--check \"**/*.{js,ts,json,md,yaml,yml}\"` | error (blocks)          |\n| 3   | Lint           | ESLint               | `--max-warnings=0`                        | error (blocks)          |\n| 4   | Unit tests     | Jest / Vitest        | Auto-detects framework and coverage cmd   | error (blocks)          |\n| 5   | Coverage       | Jest / Vitest / lcov | `>= 70%` line coverage                    | error (blocks)          |\n| 6   | Security       | npm audit            | `--production --audit-level=high`         | error (blocks)          |\n| 7   | License        | license-checker      | MIT, ISC, Apache-2.0, BSD, etc.           | error (blocks)          |\n| 8   | Outdated       | npm-check-updates    | lists outdated packages in summary        | warning (informational) |\n| 9   | Trivy FS       | Trivy                | CRITICAL + HIGH severity, ignore unfixed  | error (blocks)          |\n\n8 checks are **error** severity — pipeline fails if any check fails. Outdated packages is **informational** — lists what needs updating but does not block.\n\n## Inputs\n\nAll inputs are optional. Most repos only need `node-version`:\n\n| Input                      | Type   | Default                           | Description                             |\n| -------------------------- | ------ | --------------------------------- | --------------------------------------- |\n| `node-version`             | string | `'20'`                            | Node.js version                         |\n| `working-directory`        | string | `'.'`                             | Directory with package.json             |\n| `audit-level`              | string | `'high'`                          | npm audit severity level                |\n| `lint-max-warnings`        | number | `0`                               | Max ESLint warnings                     |\n| `format-file-patterns`     | string | `'**/*.{js,ts,json,md,yaml,yml}'` | Prettier glob                           |\n| `allowed-licenses`         | string | `'MIT;ISC;...'`                   | Semicolon-separated SPDX IDs            |\n| `coverage-threshold`       | number | `70`                              | Min line coverage %                     |\n| `trivy-severity`           | string | `'CRITICAL,HIGH'`                 | Trivy scan severity levels              |\n| `outdated-exclude-pattern` | string | `'/^(@types\\|eslint\\|prettier)/'` | Packages to exclude from outdated check |\n\n## Outputs\n\nEach check exposes its outcome (`success`, `failure`, or `skipped`):\n\n| Output                   | Description                  |\n| ------------------------ | ---------------------------- |\n| `commit-message-outcome` | Commit message format result |\n| `format-outcome`         | Prettier result              |\n| `lint-outcome`           | ESLint result                |\n| `test-outcome`           | Unit test result             |\n| `coverage-outcome`       | Coverage threshold result    |\n| `security-outcome`       | npm audit result             |\n| `license-outcome`        | License compliance result    |\n| `outdated-outcome`       | Outdated packages result     |\n| `trivy-fs-outcome`       | Trivy filesystem scan result |\n\nUse outputs in downstream jobs:\n\n```yaml\njobs:\n  quality:\n    uses: Science-and-Humans/science-and-humans-ci-configs/.github/workflows/ci-node.yml@v3\n    with:\n      node-version: '22'\n\n  docker-build:\n    needs: [quality]\n    runs-on: ubuntu-latest\n    steps:\n      # Quality gate passed — safe to build and deploy\n```\n\n## What Your Repo Needs\n\nThe workflow expects these to exist in your repo:\n\n1. **`package.json`** with a `lint` script (e.g., `\"lint\": \"eslint .\"`)\n2. **`package-lock.json`** (for `npm ci` and caching)\n3. **A Prettier config** (`.prettierrc`, `prettier.config.cjs`, etc.)\n4. **An ESLint config** (`eslint.config.mjs`, `.eslintrc.cjs`, etc.)\n5. **A test script** — one of these:\n   - `test:coverage` in package.json (preferred)\n   - `test:cov` in package.json\n   - Jest or Vitest in devDependencies (auto-detected as fallback)\n6. **commitlint available at `npm ci` time** — easiest is to add `@science-and-humans/science-and-humans-ci-config` as a devDependency (it bundles `@commitlint/cli` + `@commitlint/config-conventional` and ships the shared config). Alternatively, install `@commitlint/cli` and `@commitlint/config-conventional` directly and add a local `commitlint.config.cjs`.\n\nThe workflow uses **your repo's configs** — it just runs them consistently.\n\n## Commit Message Format\n\nAll commits must follow [Conventional Commits](https://www.conventionalcommits.org/) plus a Linear ticket prefix on the subject for product-facing work:\n\n```\ntype(scope): [TICKET-123] subject\n```\n\n**Allowed types:** `feat`, `fix`, `hotfix`, `chore`, `docs`, `refactor`, `test`, `ci`, `style`, `perf`, `build`, `revert`\n\n**Linear ticket prefix:**\n\n- **Required** for `feat`, `fix`, `hotfix`, `refactor`, `perf` — these correspond to planned product work tracked in Linear.\n- **Optional** for `chore`, `docs`, `test`, `ci`, `style`, `build`, `revert` — these are housekeeping and don't always map to a ticket.\n\n**Examples:**\n\n```\nfeat(auth): [PRO-1234] add JWT refresh token rotation\nfix(scheduler): [PRO-987] handle timezone offset in booking\nhotfix(api): [PRO-2001] patch null deref in /orders\nchore(deps): update eslint to v9\ndocs(readme): add deployment instructions\nci(pipeline): update workflow to use Node 22\n```\n\n**Rules:**\n\n- Scope is optional: `feat: [PRO-1234] add login` is valid\n- Ticket prefix uses `[PROJECT-NUMBER]` with uppercase project key\n- Max 100 characters for the subject line\n- Merge commits are skipped automatically\n\n**Consumer setup (optional but recommended):** if you want to run commitlint locally (e.g. via husky), add a `commitlint.config.cjs` that re-exports the shared config:\n\n```js\n// commitlint.config.cjs\nmodule.exports = require('@science-and-humans/science-and-humans-ci-config/commitlint');\n```\n\nThe CI workflow falls back to the shared config automatically if you don't add a local one.\n\n## Shared ESLint & Prettier Configs (npm package)\n\nInstall the package:\n\n```bash\nnpm install -D @science-and-humans/science-and-humans-ci-config\n```\n\n### ESLint — Flat Config (Recommended)\n\n**Backend repos** (NestJS, Express, Node.js):\n\n```js\n// eslint.config.mjs\nimport config from '@science-and-humans/science-and-humans-ci-config/eslint-flat';\nexport default config({ tsconfigRootDir: import.meta.dirname });\n```\n\n**Frontend repos** (Next.js, React):\n\n```js\n// eslint.config.mjs\nimport config from '@science-and-humans/science-and-humans-ci-config/eslint-flat-frontend';\nexport default config({ tsconfigRootDir: import.meta.dirname });\n```\n\n**With custom ignores or overrides:**\n\n```js\n// eslint.config.mjs\nimport config from '@science-and-humans/science-and-humans-ci-config/eslint-flat';\nexport default [\n  ...config({ tsconfigRootDir: import.meta.dirname, ignores: ['generated/'] }),\n  {\n    rules: { '@typescript-eslint/no-explicit-any': 'error' },\n  },\n];\n```\n\n### ESLint — Legacy Config (for repos still on .eslintrc)\n\n```js\n// .eslintrc.cjs (backend)\nmodule.exports = {\n  extends: [require.resolve('@science-and-humans/science-and-humans-ci-config/eslint')],\n};\n\n// .eslintrc.cjs (frontend)\nmodule.exports = {\n  extends: [require.resolve('@science-and-humans/science-and-humans-ci-config/eslint-full')],\n};\n```\n\n### Prettier (all repos)\n\n```js\n// prettier.config.cjs\nmodule.exports = require('@science-and-humans/science-and-humans-ci-config/prettier');\n```\n\n### Available Exports\n\n| Export                   | Format            | Use case                                  |\n| ------------------------ | ----------------- | ----------------------------------------- |\n| `./eslint-flat`          | ESM flat config   | Backend repos with `eslint.config.mjs`    |\n| `./eslint-flat-frontend` | ESM flat config   | Frontend repos with `eslint.config.mjs`   |\n| `./eslint`               | CJS legacy config | Backend repos with `.eslintrc.cjs`        |\n| `./eslint-full`          | CJS legacy config | Frontend repos with `.eslintrc.cjs`       |\n| `./prettier`             | CJS               | All repos                                 |\n| `./commitlint`           | CJS               | All repos (Conventional Commits + ticket) |\n\n### What the configs enforce\n\n**ESLint (backend):**\n\n- `eslint:recommended`\n- `@typescript-eslint/recommendedTypeChecked`\n- `eslint-plugin-prettier/recommended`\n- `no-explicit-any`: off\n- `no-floating-promises`: warn\n- `no-unsafe-argument`: warn\n- Globals: node, jest\n\n**ESLint (frontend):**\nEverything above plus:\n\n- `react` plugin\n- `react-hooks/recommended` rules\n- `react-in-jsx-scope`: off\n- Globals: browser, node, jest\n\n**Prettier (`./prettier`):**\n\n- Single quotes\n- Semicolons\n- Trailing commas (all)\n- Print width: 100\n- Tab width: 2\n\n## Integrating With Existing Deploy Workflows\n\nReplace the old `install`, `lint`, `test`, `security-audits`, and `trivy-fs-scan` jobs with a single quality gate call:\n\n```yaml\n# Before: 5 separate jobs (~190 lines)\n# After: 1 reusable workflow call\n\njobs:\n  quality:\n    uses: Science-and-Humans/science-and-humans-ci-configs/.github/workflows/ci-node.yml@v3\n    with:\n      node-version: '22'\n\n  # docker-build now depends on quality instead of lint + test + security-audits\n  docker-build:\n    needs: [quality]\n    runs-on: ubuntu-latest\n    steps:\n      # ... existing docker build steps\n\n  # Everything downstream stays the same\n  deploy-to-gke:\n    needs: [docker-build]\n    # ...\n```\n\n## Release Tracking (Linear + Amplitude)\n\nReusable workflow that auto-fires on tag push and creates a Linear release and an Amplitude release marker for the same version. After this, \"Done\" in Linear means \"shipped to prod\" and every Amplitude chart annotates each deploy.\n\n**Consumer setup is one file** — drop this into the consumer repo at `.github/workflows/release-tracking.yml`:\n\n```yaml\nname: Release Tracking\n\non:\n  push:\n    tags: ['v*']\n\njobs:\n  track:\n    uses: Science-and-Humans/science-and-humans-ci-configs/.github/workflows/release-tracking.yml@v3\n    secrets: inherit\n```\n\nThat's it. Push `v1.2.3` and the release lands in Linear and Amplitude as `v1.2.3`.\n\n**What you get**\n\n- **Linear** — uses [`linear/linear-release-action@v0`](https://github.com/linear/linear-release-action) to scan commits for issue identifiers (`PRO-123`), groups them under the release, and updates issue status when code reaches production.\n- **Amplitude** — POSTs to [Amplitude's Releases API](https://amplitude.com/docs/apis/analytics/releases) so every deploy shows up as a vertical line on time-series charts.\n\n**Versions are the calling tag, verbatim.** The workflow forwards `${{ github.ref_name }}` to Linear and Amplitude as-is — a `v1.2.3` tag becomes `v1.2.3` in both UIs. Each repo is expected to point at its own Amplitude project (configured via the `AMPLITUDE_API_KEY` / `AMPLITUDE_SECRET_KEY` secrets), so cross-repo version collisions don't apply. If you have a monorepo shipping multiple apps under one Amplitude project, encode the scope in the tag itself (e.g. `web-v1.2.3`).\n\n**Inputs** (all optional)\n\n| Input              | Type    | Default                  | Description                                                                          |\n| ------------------ | ------- | ------------------------ | ------------------------------------------------------------------------------------ |\n| `version`          | string  | `${{ github.ref_name }}` | Override the version. Default is the calling tag — leave unset for tag-push releases |\n| `environment`      | string  | `'production'`           | Environment label surfaced in titles                                                 |\n| `release-notes`    | string  | `''`                     | Extra description for the Amplitude release                                          |\n| `enable-linear`    | boolean | `true`                   | Toggle Linear release creation                                                       |\n| `enable-amplitude` | boolean | `true`                   | Toggle Amplitude release marker                                                      |\n\n**Secrets**\n\n| Secret                 | Required when              |\n| ---------------------- | -------------------------- |\n| `LINEAR_ACCESS_KEY`    | `enable-linear` is true    |\n| `AMPLITUDE_API_KEY`    | `enable-amplitude` is true |\n| `AMPLITUDE_SECRET_KEY` | `enable-amplitude` is true |\n\nUse `secrets: inherit` from the consumer workflow so you don't have to re-list each one. Configure these as repo secrets with the exact names above and they'll be picked up automatically.\n\n**Outputs**\n\n`linear-outcome` and `amplitude-outcome` (`success` / `failure` / `skipped`) for downstream notification jobs.\n\n**Failure handling**\n\nBoth targets are best-effort — a Linear or Amplitude outage is logged in the step summary but does not fail the workflow. The two integrations are independent: one can fail without affecting the other.\n\nSee [docs/CONSUMER_GUIDE.md](docs/CONSUMER_GUIDE.md#release-tracking-optional) for the one-time Linear and Amplitude setup steps.\n\n## Adding a New Language\n\nSee [docs/ADDING_LANGUAGE.md](docs/ADDING_LANGUAGE.md).\n\n## Versioning\n\n- Consumer repos pin to `@v3` (gets minor/patch updates automatically)\n- Breaking changes bump to `@v4`\n- Same pattern as `actions/checkout@v6`\n\n## Repo Structure\n\n```\n├── policies/\n│   └── standards.yml              # Quality standards (language-agnostic)\n├── configs/\n│   └── node/\n│       ├── eslint.base.cjs        # Shared ESLint base config\n│       ├── eslint.config.cjs      # Backend ESLint config (extends base)\n│       ├── eslint.frontend.cjs    # Frontend ESLint config (extends base)\n│       └── prettier.config.cjs    # Shared Prettier config\n├── .github/\n│   └── workflows/\n│       ├── ci-node.yml            # Reusable workflow for Node.js repos\n│       ├── release-tracking.yml   # Reusable workflow: Linear + Amplitude release tracking\n│       ├── publish.yml            # Auto-publish npm package on version tags\n│       └── self-test.yml          # Tests the platform itself\n├── test-fixtures/\n│   └── node/                      # Minimal project for self-testing\n├── docs/\n│   ├── CONSUMER_GUIDE.md          # Step-by-step onboarding guide\n│   └── ADDING_LANGUAGE.md         # How to add Java/Python/Go support\n├── CODEOWNERS                     # Required reviewers for all changes\n└── package.json                   # npm package config\n```\n","readmeFilename":"README.md"}