{"_id":"ci-cd-enzo-casalini","_rev":"39-5321b614b6f7d1c04317ea595aabc4fb","name":"ci-cd-enzo-casalini","dist-tags":{"latest":"0.2.2"},"versions":{"0.0.0":{"name":"ci-cd-enzo-casalini","version":"0.0.0","_id":"ci-cd-enzo-casalini@0.0.0","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"d27d8f0f4141bfe2641b03a48804a4d8f9f62721","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.0.tgz","fileCount":28,"integrity":"sha512-++3+mud9TVymNqt+Cxm4TpkzQX0UwAv4E49ftShBirbo8YiIkxLtkRNMD5CcNP3FtvuICagwvSbF2qvIgr6fsA==","signatures":[{"sig":"MEQCICJJU+lhbI9mxDMqXx9l/YPHh19i89SfLPXYcyc2F/6aAiBqWDSpxXHlz1cc4PGEDs3j4+sIAGJpAaj8tHl2dqqJDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9633078},"type":"module","gitHead":"8a6535c062d1864ab59e8bfdab83a00095f78bd7","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"9.8.1","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.0_1744102713873_0.2843042781130096","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"ci-cd-enzo-casalini","version":"0.0.1","_id":"ci-cd-enzo-casalini@0.0.1","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"f0ce0c3ef36df2eafbf70e0fd8d9685a00341151","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.1.tgz","fileCount":28,"integrity":"sha512-ZACzNl2nT0omwSwgT44KRs1xi8U1HO/asftG+oqXw8gXBKcK/f84M/4YXPaiHSMh2Hea8/L59cQLndGIV8tq0Q==","signatures":[{"sig":"MEYCIQCuGyEkRlgezfSpTd75obVMsDPI+ESzLTYC9HoiRkqlTwIhAIcxtczHjUGKL+RlhAEbZmUnt1fXG047qtPUqRAZBuze","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9633773},"type":"module","gitHead":"898ef7cf32a3daa8a7c406e5c096b5539f2aa2bf","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.1_1744105709183_0.8071062406297989","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"ci-cd-enzo-casalini","version":"0.0.3","_id":"ci-cd-enzo-casalini@0.0.3","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"5d1bcf73ffe3d4462d9285215483001af9fc237e","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.3.tgz","fileCount":28,"integrity":"sha512-Eg7qEDigzjXGu1pdmW+Ici2HO0bSaJ27h8CA0gukV4+kRIcQwlRwdaJnudHu8wMLp9L1HNgcDd4o9VYciMPQVQ==","signatures":[{"sig":"MEQCIFI847vuvW1k/7YFRt6UsOZHXPgdLKgF1nivYHrskiD0AiB8rXnVqP/OJoLlB77ZVlOps01BEhjnWRUb8ibvhEOmQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9633632},"type":"module","gitHead":"437961bfae99675ec2400365790d82c2a8268681","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.3_1744106108287_0.5968832144758671","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"ci-cd-enzo-casalini","version":"0.0.4","_id":"ci-cd-enzo-casalini@0.0.4","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"b2320d118a1b089623b08a673fd95b6ff6547bec","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.4.tgz","fileCount":28,"integrity":"sha512-DEfQ6y8rgbtr9xbfaD+GLJJA0ePYXueTgasTeEwLvHX0VnLHhW91ayoqqJ8g+9yYqWPI2m0vibrf8sn9oisXPg==","signatures":[{"sig":"MEQCIFtNBA2Mu4BkXdFCTOQvCx0u4eOYE4EVyc+stZpYSqGKAiBwRZjij3G34/AZ4EltWrTS+YFuvhhd0uT21/KhFs/E+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9633934},"type":"module","gitHead":"2013c0876727c803fb54211742b15d06e6d006d5","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.4_1744106471339_0.2660384834461844","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"ci-cd-enzo-casalini","version":"0.0.5","_id":"ci-cd-enzo-casalini@0.0.5","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"0003e7eeed226e0db9f2333022ceaf58316d0575","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.5.tgz","fileCount":28,"integrity":"sha512-J9OeSvt3Mey7WLdU6zWbCnMtknLdvvlDLkqXAQbev8EXxnfStPmPxsB9kj3lXdeBv1rvfNmvym3UQo9EL2HFNw==","signatures":[{"sig":"MEUCIAdDwRS3/yqboKzqIwfJr2o71/9JNN3wj504lS95V27/AiEA3r2X/W0+RNO8zLt08rAkq0cPiyELt9VqnXVGZzNYKxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9633934},"type":"module","gitHead":"58f303ce9c6eb196b52f18f21459e6304fd086e9","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.5_1744107098954_0.6520424999455177","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"ci-cd-enzo-casalini","version":"0.0.6","_id":"ci-cd-enzo-casalini@0.0.6","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"d84033014b0e186f6f73d602f3aff75955f81bcf","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.6.tgz","fileCount":22,"integrity":"sha512-fEvakPffwU7nJkQlO7hD+/Pad7UT6xMI2daWZuw8rHo3dBwf0DM4qa8gmLNMY75ZnBlxgwGYNaJ4FnPLNascxw==","signatures":[{"sig":"MEUCIQD8KPe43ti02fiPKXvnlwRQEjAzvGri5A17hFl+4hds9gIge4V+HcW9wg1EKlaFP2K/IrYAsKWsgEzhRWVjXWE8sTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9628233},"type":"module","gitHead":"bf6b1dced8e674c016d770172fba4a5cc65766a7","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.6_1744107894566_0.5746925515272459","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"ci-cd-enzo-casalini","version":"0.0.7","_id":"ci-cd-enzo-casalini@0.0.7","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"089590d85516741c95735ed1754e95b310c8b28d","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.0.7.tgz","fileCount":19,"integrity":"sha512-KSH9AIVpgQvZKh+yJM/XQ9875uyp7343TBcwndMrtPx15xgysxylM46ilXsNQIyskLfXrnJCVoFPpXww8vIJiw==","signatures":[{"sig":"MEUCIQDvrirz2fwiiTq2r7lpgn096TY9yLfnNBlyIqFQd1fO8AIgJw5yTT7G0Moi9GBvf/OYsNUifnHiWGeEJtSiBvciG7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9626619},"type":"module","gitHead":"098e718d8fc1c014f897a01ddd92b094920c9444","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files"},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","vitest":"^3.0.9","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.0","@eslint/js":"^9.21.0","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.0.7_1744108175438_0.4665849625958023","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"ci-cd-enzo-casalini","version":"0.1.0","_id":"ci-cd-enzo-casalini@0.1.0","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"7eb1ab07c052025479cd62f789415c4a14535376","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.0.tgz","fileCount":57,"integrity":"sha512-5cu8fnjXZU5Km/a99M/iF1Lo7XyEuAHpv1hGoBRJCWVthKHAsA4NsOfceimXUQ7L/oUOFckqSGUkHtCCzMmR4A==","signatures":[{"sig":"MEYCIQDshjLLpL7pGSVrPYOnRGeANcHn5+UWLeVDL3FrLhwIGQIhANHGqH8+DSUuLBTsNWJkFdql/kY5sXgtg5jelu+1NMlE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740574},"type":"module","gitHead":"3e7f30910d7a679c2ecd38afa7a0f7ebe6c6be56","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.0_1750630818091_0.37350919974239916","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"ci-cd-enzo-casalini","version":"0.1.1","_id":"ci-cd-enzo-casalini@0.1.1","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"411700cc8b296300e2d1478dfca3d3222a9eb911","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.1.tgz","fileCount":57,"integrity":"sha512-gmKGKxF2StL78SqmfneJOMfkI/F6j/AZSZI0w6o0qySB5L9oHstEwguJbpZ9uTvk7SwP0HW3/B0AklJ2m+oLaQ==","signatures":[{"sig":"MEUCIF4PtrzdMbJhYnAGZ7+ipVxffD82Z8R1BZLYgoRhLbCTAiEAmcfdkqL8IRIvlfljMjnM9BN0Ln7rJQcRSMWd3IjqZTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740324},"type":"module","gitHead":"53d3a891aea3bc75aa4000e9db77df99432bd1a2","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.1_1750631605574_0.9534777567297177","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"ci-cd-enzo-casalini","version":"0.1.2","_id":"ci-cd-enzo-casalini@0.1.2","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"d9bcf775341d42dcd6fedfb766f8dbbf01f598bf","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.2.tgz","fileCount":57,"integrity":"sha512-GVqKYZNw95lGPUgBfrQsBpt667bDMiAStaMjxSrUn6pAI+1WSb4kz+EvelgpB+A/7PeTmhM5UYRs6oZ5wF2wqw==","signatures":[{"sig":"MEYCIQDgT9wcbz2EX/jm2q+j5FN+DZhiAXxHHVuJ9oMfEzWc7wIhAOxZAcubNfufcsTp5eG2Jt7PETyfcV5utxH0wGlOUx+z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740316},"type":"module","gitHead":"bd8dce7cff79618da364cbd3f922b5b24e030b08","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.2_1750632003673_0.03337481324637048","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"ci-cd-enzo-casalini","version":"0.1.3","_id":"ci-cd-enzo-casalini@0.1.3","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"5f30c7091e456ac05d2a26a6570fcae9fddf8b9a","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.3.tgz","fileCount":57,"integrity":"sha512-Ptdp1eRIvjnTPGEiAqjs29Kb5sjJpF8DxRCELyHBxbxLbtmHBB7VSZ+oMQWBJ/kmhky9u7ysPQRfE2F91e/C3g==","signatures":[{"sig":"MEUCIQDkRTBXvE4MTkzR7mk30PK4v+R3DKB+oMzOMpcD63ELrAIgYic/OgMT8kamZYYowIOqxK35tO+Nhi7u1ozy7SeHdnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740392},"type":"module","gitHead":"4272bf3465f29b1e51f75c38c0641a5c97644f49","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.3_1750632463982_0.7551377083296429","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"ci-cd-enzo-casalini","version":"0.1.4","_id":"ci-cd-enzo-casalini@0.1.4","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"4eb4184a523a24cff3d0592944694c581a6d8e24","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.4.tgz","fileCount":58,"integrity":"sha512-CZXdJY/5GrKdqySlzsZizI0yDZ9EnHl8Drf9F6+epOsT2rl9SHu0DoEPR5amTjl/AM2Fjj5Beu3pTs73PBIQKA==","signatures":[{"sig":"MEQCIFBJ0JWUQ0L0u7r9Vmpby7RgFZ7G9udWVhCmvZosJjKaAiBFpNY8Cz1OZTAbj/Pwt9TRirCa9e4x1fm3wgf4TATCLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740574},"type":"module","gitHead":"95656bf6530bc3258de124d53b2c44a56b365783","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp 404.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.4_1750632904485_0.21500077689477815","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"ci-cd-enzo-casalini","version":"0.1.5","_id":"ci-cd-enzo-casalini@0.1.5","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"00c759e902dfb89083d2b73b5e45481a6d555909","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.5.tgz","fileCount":57,"integrity":"sha512-hkTMhj/zu9WV8cfN0HXCNIKP8xuMT7+/HQhObhDbrrDtqPv7Ot/zOZ4KaLIvTcHnEmASuQox24PiXCE0f1L6rw==","signatures":[{"sig":"MEUCIAmQx723CsbsqvpAqE36dCiXrdVoWml7hJD/ABFjgMDBAiEAq0krPoI01qNcbpAABuboZwXEczgHa6kmQtmbuuSwHAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740445},"type":"module","gitHead":"80cc01edc8cdd4210c15b4499c410f3af4e68379","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.5_1750633422993_0.048834106867735594","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"ci-cd-enzo-casalini","version":"0.1.6","_id":"ci-cd-enzo-casalini@0.1.6","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"b4c6bcdc4ed9d4b53474a1902704068988689102","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.6.tgz","fileCount":57,"integrity":"sha512-HnKW5Sv/b/gg3wDM6gxvAKuMNjVwzLp409Bs3IgCObuptIiJNQGuwW4LKBs5Nklh7sEwCEzeJ+BnIxU1rlVI1Q==","signatures":[{"sig":"MEYCIQCpsdd9JDqmjjKHgd53/i6jf7b3bu7xHcgBsukbFlq4ZwIhAJEkR2gfsJoKGhUXQeogxcI1SVdQI8a7A0ERRxMRUkKv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740481},"type":"module","gitHead":"118758aa29914a1eb0fb1f6c1b5e1585c8341e81","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.6_1750633913367_0.13249907792222637","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"ci-cd-enzo-casalini","version":"0.1.7","_id":"ci-cd-enzo-casalini@0.1.7","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"26f9e011e8983897c91d7ae6a99d687eadc438f3","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.7.tgz","fileCount":57,"integrity":"sha512-UDFPg9kJ3T+Cz4wtUH+NgRDy/LLqtaL124MCgOU9FCHzd3FNSb4jZo/GBhGFoEcgzr3pAo/EzK7zFRAG4We5FQ==","signatures":[{"sig":"MEQCIBa8I7kUVYLjNjwMgXiShq3EDAoTbH6j2HzGl9YGa5+HAiADEKO3uEbkV4+MVgkFl83aRfP0334BasPdJKZUEwy5lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740463},"type":"module","gitHead":"a07efa857ea057ad7bf582970996e9486efc7cd9","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.7_1750634751039_0.37776335786852977","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"ci-cd-enzo-casalini","version":"0.1.8","_id":"ci-cd-enzo-casalini@0.1.8","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"9fa4aa19fd17d890cd5b8564935fc910bf2a6937","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.8.tgz","fileCount":57,"integrity":"sha512-MA8BkTNPDHTUNfreu46XVz3om51RQ9HFJRROQzLOgCYIube7ovwsjUOSK+JYHL4PSXKehhdEZflNLTI53SrJsg==","signatures":[{"sig":"MEQCICdXzY26yWNEit+rojGD/SOwDUGvnk0/FxJm4s/AcYt9AiADhdFeRATlblf9e0r10WkWgkSn41PK6Ys+2WQlb2Xhmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740441},"type":"module","gitHead":"e2cc512e91b6ed0fd971e53f4e6e139dd8154ba1","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.8_1750635101998_0.03651435732874875","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"ci-cd-enzo-casalini","version":"0.1.9","_id":"ci-cd-enzo-casalini@0.1.9","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"121b7d8f3d67a8126d45c53e343fd18c61dfa1a2","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.9.tgz","fileCount":57,"integrity":"sha512-OvTnY3oMjFuAG/8t+2lT35OBaA4KQTbeKr2Yg2rcA67EOFRskCLL8qnsVNK1kTm30uypjiDiRf2ZMtM0B/GRrA==","signatures":[{"sig":"MEUCIQDI3SQtaifge0Zi+EdInuk95t/lGV6NsFk4iOKORQlwuAIgA5ZkQpWEJ7ysIfTAd27+gNq73fCFfjivwfDMTjRUikc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740437},"type":"module","gitHead":"cedf00f0b74123f87ac5d9bfe2fe21775824fac2","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.9_1750635990073_0.1685054429367443","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"ci-cd-enzo-casalini","version":"0.1.10","_id":"ci-cd-enzo-casalini@0.1.10","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"e6628ec76ece00d444694c2dcf52a79b0b3c2f65","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.10.tgz","fileCount":57,"integrity":"sha512-zfCJGU1gdC4yj3UMRBIF6usDUVS6n6dBtHQfDLX2MrH7uC48tQyQsPNyPr+Sji1r6Jkd/iMvwH38lv2f/hVQog==","signatures":[{"sig":"MEUCIQDK32SyskkZxKGcCJXXrU1BPT2qxY37RFEm8WQmSRR+iwIgDVjIAjAcO+qk+z8yMI4C2kfVr1eicCXeI/FKEofIOPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740424},"type":"module","gitHead":"b72e4ddba716f09b1377134b18365ad643c07db1","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.10_1750636314188_0.8008788576097929","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"ci-cd-enzo-casalini","version":"0.1.11","_id":"ci-cd-enzo-casalini@0.1.11","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"e812463efc00dae676474980af0c15750a096397","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.11.tgz","fileCount":57,"integrity":"sha512-vP+7n70TgMP36xBajgzUep1nq/AcKFs3j+BlnYmcRCkPZGpWlYA4UJHaUcZtfCT4VBt1is1JhXoFgGZ5Uhnjcg==","signatures":[{"sig":"MEUCIA8XXVxfJXgW/lPc1U4f2ii6JqOhfmvwOnbGFI2718iJAiEA63KpNuiJ0TPkJBnqqR1n5NogLArb6eCBqICngC9qhwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740438},"type":"module","gitHead":"98a67bf8d16c46a250cbbc5b3dbd7b4aa2e7f807","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.11_1750636781571_0.7892850082930822","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"ci-cd-enzo-casalini","version":"0.1.14","_id":"ci-cd-enzo-casalini@0.1.14","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"cde2befb65fc09ae52449b82f3cb0a65366c92bc","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.14.tgz","fileCount":57,"integrity":"sha512-3qoOq+A4ZggSaZGmsJ8JqA305VbWL1EGFElTdzF+dcDIdX04AB2eYtjaFjqT79MPlHirE/U47DFULDkPSPeYTA==","signatures":[{"sig":"MEUCIDsrCnaAZiEim8rglMzusiqkCi8HCpPAHnNazr/UIB55AiEAzbTnC97alX3O2wTe5TJfjUl0WNz4Em7dTnkxIUYWIVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9740438},"type":"module","gitHead":"91f6826ad2cf25e7e4919512923995542a00ba56","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.14_1750638872510_0.46961553044145243","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"ci-cd-enzo-casalini","version":"0.1.15","_id":"ci-cd-enzo-casalini@0.1.15","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"27e7520a065f5a8317658688fe630f9ac94c0d0d","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.15.tgz","fileCount":52,"integrity":"sha512-6oWrbW0wm84iDo9MwX1hjEUYNeFLKNUrt8xFVqFtY3M1jTL9T1lu9YNIvpbzPeoz5ODqJ1nENYWJEc/0UZXvkw==","signatures":[{"sig":"MEUCIFW00WBFSfP3+ChbTh9Wu+tG0HpCRxRyr+vPraK0S1gBAiEApU7mqfWg6i6l9JOuB2X24O+mtevk2Z5Jmk82Y3gj/j8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721258},"type":"module","gitHead":"340160e329d65a4d2116c9da23bca086acd52542","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.15_1750639304117_0.20850556415501686","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"ci-cd-enzo-casalini","version":"0.1.16","_id":"ci-cd-enzo-casalini@0.1.16","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"64b38f7748aa65ec078179772e78f6592b85a6d6","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.16.tgz","fileCount":52,"integrity":"sha512-2+tqziMYmC0xYuS/8sA2DnlGb23NoAlY1gKWhqgaVLJPRgE94cRZLMfgoWPe9BpKS1Ao6zkj9SPyul6+1bs62A==","signatures":[{"sig":"MEUCIBTTaNqSlixPrWEkL3MWU78TrKCkfrNfOqyGi77I8J/LAiEAnvGB1pyf9AYoboYywye2ZxSzdlPALJKmTj8hmLsTNdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721287},"type":"module","gitHead":"052f8132629995cfbef5f38bb8146f28edd1847d","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.16_1750641360446_0.8279944759137825","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"ci-cd-enzo-casalini","version":"0.1.17","_id":"ci-cd-enzo-casalini@0.1.17","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"6bce31ee78bbe18a0f74b8d12c97151f2d5c1a0a","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.17.tgz","fileCount":52,"integrity":"sha512-wIGDWPBmTILMb9ZwPPS+06YJG6pLsLjRsaGbk/7+dZjQtcco7qY1Z9FAu+7tbu/uDcsmTwM6pXZinB1fYgrQ6w==","signatures":[{"sig":"MEUCIAWxnf5FHzHwzXMCIFsh5muK9p99COyZSvbcvotliUaEAiEA6ZRUuUi/0Cx2BvrY6agPz4bilKtN7ldM5K5ipSR/dOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721227},"type":"module","gitHead":"2c332035c35a30f49ce2a06482c51680696b387b","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.17_1750642822091_0.8431907679244404","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"ci-cd-enzo-casalini","version":"0.1.18","_id":"ci-cd-enzo-casalini@0.1.18","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"fb17a4769179e3e4f2d56b8140d0250b6325bc4f","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.18.tgz","fileCount":52,"integrity":"sha512-QTPfFdi/CUl9uZiaVCHIp72N1wUBxF7+NhcKI+6wvhD0ScBuaYK6DQGxR50924BK6Sb7kHmJXfZWVMJrk+re1w==","signatures":[{"sig":"MEQCIF3m1aplJzSJGavp9w4qWhZQXP7VU3IcSzJvOTrjxCN2AiAY8YFwNMfp5rciCPWjl+BeEB6ugMkDVY7+WuEl9lKUVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721334},"type":"module","gitHead":"1c63b2b77a3754722b55dd42253f5d7df7ea4a21","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.18_1750643419793_0.9089700064961459","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"ci-cd-enzo-casalini","version":"0.1.19","_id":"ci-cd-enzo-casalini@0.1.19","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"db2a72b535911729500de35878f543ddfdda6203","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.19.tgz","fileCount":52,"integrity":"sha512-CKlwKnnmfPW+ygQql8W04C/1xDRAFgUST8vl+8bQHpn5hpMHHA40Xxge15QVxCLoDDN91ixz6NWkiSGA/6/MVQ==","signatures":[{"sig":"MEUCIBnYMozWMxf+s6yRJAt5d8IMSHvElwzv33gLYEcI3VoiAiEArq7Fype79w06sttrybHJY6xbtZQWiYjvkjKWGUjGBT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721334},"type":"module","gitHead":"a13e426e9fa733631fd97f578714b4ef8fa6b4d9","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.19_1750643982052_0.838307823697839","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"ci-cd-enzo-casalini","version":"0.1.20","_id":"ci-cd-enzo-casalini@0.1.20","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"a21907eb77ecfa240afbdb52651c0690bd6fe5f4","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.20.tgz","fileCount":52,"integrity":"sha512-CGeRC3BnjronHZVdLDiyhp6swkM2JTLs4Pzxdyyg6A8u441nXVUTwYyF0TnFpTjt/CPIs18cDoZAXwep6TYS7Q==","signatures":[{"sig":"MEYCIQCfggZ7ZCYxeAVbH1TZExatd3YIqoKFC1itPZKE82h/EAIhAJN5BsZGogOjBZyZNFPfMM9nv/SjsDWEeai9ObgqzQ0J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721334},"type":"module","gitHead":"c2d8c3561f12f217a800d52d51859d5fe318e836","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.20_1750644379645_0.6630056509419495","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"ci-cd-enzo-casalini","version":"0.1.21","_id":"ci-cd-enzo-casalini@0.1.21","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"2f4b34eeed3786f6ae721d7a1493de52de9e70be","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.21.tgz","fileCount":52,"integrity":"sha512-q5WRaipe4CgDWjymU6J9zBTaPIH2XgPsS6Xl8Tu9KG4C8hBmcWo0/XwKYgYvm/NvCIOtGM8ELr3d51es59y8UQ==","signatures":[{"sig":"MEUCIBcwAZhkl+vdcjbkpplkqlx2yZ5qYJf78sKl5fNeL/acAiEAq4XWRhTFkjAvHZTsK+8cv/dZtWAkFvXx3G3sZn3gcdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721334},"type":"module","gitHead":"1c9fac95166dfa43a174f6035433ae672680e568","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.21_1750645226960_0.7134840445348181","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"ci-cd-enzo-casalini","version":"0.1.22","_id":"ci-cd-enzo-casalini@0.1.22","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"4c5043dec59bf2e22fbcb0222c4d9a2e83c97d7a","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.22.tgz","fileCount":52,"integrity":"sha512-F3RFAbcgjf+8YwoN9lMcyjzaCvhPAjqhmYDLLDBxn1YLiXvMjZ615wiGmI/0wT8rr945JPY/ZlDa41jH2J7BkA==","signatures":[{"sig":"MEUCIDGrExd8RxT/UF0horFUcyM6CsAUAasbnsG693SMIv4GAiEAtzYC/MTo+oe1+jR7ccRXwmYaEN09yrfLdEBvOygaxRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721332},"type":"module","gitHead":"b1d6bc09ca1e106123173a71f4e7f2cbfbfbc02b","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.22_1750645615541_0.46117384998075384","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"ci-cd-enzo-casalini","version":"0.1.23","_id":"ci-cd-enzo-casalini@0.1.23","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"a44ddc873885ddd1d5a00032bcd1b1bfb4952a64","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.23.tgz","fileCount":52,"integrity":"sha512-WibCKg9YX2nXlPaKosTq6IR3Dyja3nWIfCHLCm2OSa+CjW7Kor7kgOy66fGYe1g7LJIPxnMAknV294zmQfjYEA==","signatures":[{"sig":"MEQCIF+syJ/AhJHGHGzkk0MZ0wl4cizLx4mduTg4PchsW0hCAiBgdKDYTYlCAjtTtxCwwEkr/7gzWVhSvZTX0mJX9xoZ3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721345},"type":"module","gitHead":"ccdbb9d82458f7e57b9d23c698cfd6fdea1e19d5","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.23_1750665571948_0.3381429892191976","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"ci-cd-enzo-casalini","version":"0.1.24","_id":"ci-cd-enzo-casalini@0.1.24","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"7227cfe694e0e1283f39b4285f07c3efb6c6731e","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.24.tgz","fileCount":52,"integrity":"sha512-e/kOgXN3VZcERoqJb0Y+fMhqJvyj62ROQcR+W4gemkTEBu/KjYqMRq9ds/z7p/HqWRXkPo+63a3Qe3Eo671IxQ==","signatures":[{"sig":"MEUCICP06sN26nXgYB1Cb/uYkQmtndr6G3sWeAPSVuKJrlmyAiEA3kgNvNiAJOzGhU0qOVcR/dY1X91YEA2Njg6wdT06S7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721332},"type":"module","gitHead":"c7c590609a8f3fdcdd4062fdc829065fa3892c6b","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.24_1750666512752_0.621411873573583","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"ci-cd-enzo-casalini","version":"0.1.25","_id":"ci-cd-enzo-casalini@0.1.25","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"cef56755c80651cf2f353f2356670924a33f0a2e","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.25.tgz","fileCount":52,"integrity":"sha512-bHoncPKgCF9efVIub3RGpg8/RPLmkDoYRtcXhirW8yKKlbbYmOIj/hd5Tct37arbaMtHYPnScFneCMhXv93qKg==","signatures":[{"sig":"MEUCIQDZMetKPdJoibxAmtcUxr3jSRjHhEbWflgT3P9egbFg2AIgd+atjB8LWQ1SwUPjzWcDsY/IDkc4X5kFVHF0YEpghKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721208},"type":"module","gitHead":"6cb0fd439c668e81157592d6412f92a0512f7ffe","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.25_1750667177847_0.5608938976764657","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"ci-cd-enzo-casalini","version":"0.1.26","_id":"ci-cd-enzo-casalini@0.1.26","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"b51ba8519db59bc7ebbb78fe842b18923fb6ed5d","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.26.tgz","fileCount":52,"integrity":"sha512-7iVlWS0XmtCmWinrxgWNSOunOvK30yweiEbHnrin2UlI7xMTn96J5wfXcmPwDjXOIQNeZiluEratfVtM/w2Elw==","signatures":[{"sig":"MEQCICY7C7FQf2+zsqxO+Am12cjvfTSMw00gcwS3rf3eBd7/AiBVWEDbtGKls28WSKJ/nNg4Tws4ALeOgOjzKdOu25VHgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721246},"type":"module","gitHead":"50641e2e37b44a6d87b03c6ed830fc59482918d2","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.26_1750668390579_0.01952785468873408","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"ci-cd-enzo-casalini","version":"0.1.27","_id":"ci-cd-enzo-casalini@0.1.27","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"e4e257a61fea84070f7baced4961a26c3c2ef9d8","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.27.tgz","fileCount":52,"integrity":"sha512-YrVBX7IafcW03gaQFzUaMY5+z92AQSF1hMw+wbn+UQ1G2Xql0ufYB5CAoJUv6i6R0U/vAyPRv4d7sAJLuza5RQ==","signatures":[{"sig":"MEYCIQDuf+Dncz4X0xcvfz/2n2HMzluXyKxYN9CEISsX/MZawAIhAImbaFCbF6S/cVjJ/FIe7q37+qEJM0oxTU6XW5AOVm7s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721256},"type":"module","gitHead":"b520758c8dc51db296ac09fbb727e702ebc39b1f","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.27_1750668934739_0.9292323882693407","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"ci-cd-enzo-casalini","version":"0.1.28","_id":"ci-cd-enzo-casalini@0.1.28","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"19216ccc252e740922ee2417217bc3deb1564259","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.28.tgz","fileCount":52,"integrity":"sha512-657QCKR3bJ055ujaitQPYSAz91OeSJ7adqPArmmGJG+Hd1qUkXLu09cSZjk4DbJShOjaA/N8XnJdMfv0GmKROg==","signatures":[{"sig":"MEYCIQCPyvhs/4+wf30rgEC4qIunGhhZe9lIkxPNzEMxw9naqwIhAJwBV9KCMttMDMZonFLDNRc1IjTmeYOXOeTMgp8EHN8E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721583},"type":"module","gitHead":"6f090669491203ffc889435b3e6ff987e12284f3","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.28_1750671868272_0.3171117039452256","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"ci-cd-enzo-casalini","version":"0.1.29","_id":"ci-cd-enzo-casalini@0.1.29","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"97c875234905dcbf005af5da399fc538365ec28e","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.29.tgz","fileCount":52,"integrity":"sha512-m3Kzqc3jP9lkmPoDHXscb6W2m8oOihWFdHDvAd89cCimlkv4S//66hREtCDO9ZLXbl8OjFbqoRWPeTIqh0rxcg==","signatures":[{"sig":"MEQCIAlG8xuJkiORSre4orbyag26d+9Om+ZcKQGydKcyebzLAiBW0UAVAsRhGZdZjYEweFdph+ds8shIlelGJogiEzilcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721282},"type":"module","gitHead":"221cbb401de329a6dd5001436fe19efb99e7eeb2","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.29_1750673412021_0.10706574155964343","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"ci-cd-enzo-casalini","version":"0.1.30","_id":"ci-cd-enzo-casalini@0.1.30","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"4167d5a62f7208ef9eb03552f886d2a54a7d19e6","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.30.tgz","fileCount":52,"integrity":"sha512-y5mgi25CoBGcBxfTu8f8IEu3KmI0UgvjklaNDBh/v6JqkfpskE76iVJWIQCCNN7PhjnCK2NDtJRwA9wY8izVcA==","signatures":[{"sig":"MEUCIAL1vP8BpLJqk2gODgqqLk1JxX59NwKbsBYaofuWXkxDAiEA+oBSPKJ4XuwCzuYyqSvti1S41bFq2cVFlPTkGtRyX+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721282},"type":"module","gitHead":"6aeee403428848468d90c2ce40ba3fe0cd1d03d6","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.30_1750673604009_0.7265799494202321","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"ci-cd-enzo-casalini","version":"0.1.31","_id":"ci-cd-enzo-casalini@0.1.31","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"06811f2e19294799d290c8768838e0d3b09dad5f","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.1.31.tgz","fileCount":52,"integrity":"sha512-eojG4uYMBtjf4CzAtJC4QqrSWZiad8wQqjesbTM0EYyXz30s8qFv34QzmFEgNhflYpLjqIao2pFcgj2kIEqGhw==","signatures":[{"sig":"MEUCIQDHeWfRhVWqpbjXm5J40kE3QigHnCR39Nfmm0Y5N92t2wIgewdrukD1Exm1/WtVGGDog9B59VYkXQLzOnLrur+hHlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9721282},"type":"module","gitHead":"785a3b9ba01972fa3bc60be568348e68a8adb023","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"Projet réalisé dans le cadre du TP “Intégration & Déploiement”.   Objectif : construire un formulaire d’inscription React complet avec validation, tests, documentation, couverture, déploiement GitHub Pages et publication NPM.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.1.31_1750673906998_0.5529881704102504","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"ci-cd-enzo-casalini","version":"0.2.1","_id":"ci-cd-enzo-casalini@0.2.1","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"dist":{"shasum":"bd5463e3bffc29e8dca4cccdf5652545184f53b6","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.2.1.tgz","fileCount":52,"integrity":"sha512-vbHnEhn2nY0O+0QGYoo7/2zUUCQmUsiIQY7gt/nw8V99cXBscnvI9qh5JiwW/RSyoEeyHnR+XQZ8Zx4ejlnMZQ==","signatures":[{"sig":"MEYCIQCyI+AJqyGY+SfEi2tbq2ysB4jrYw1vfDKIR862WBdbfQIhAOHM7d7rzN0el1PSfD2B4KEQMpBlZJSi7JY+kJKF3ecT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9724997},"type":"module","gitHead":"df70272a7aeceffc86c96ab3258e802dc0557d63","scripts":{"dev":"vite","lint":"eslint .","test":"vitest","build":"vite build","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","deploy":"gh-pages -d dist","preview":"vite preview","coverage":"vitest run --coverage","postbuild":"cp dist/index.html dist/404.html","predeploy":"vite build","cypress:run":"cypress run","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","cypress:open":"cypress open"},"_npmUser":{"name":"enzocasalini","actor":{"name":"enzocasalini","type":"user","email":"enzocasa83@gmail.com"},"email":"enzocasa83@gmail.com"},"_npmVersion":"10.8.2","description":"[![CI/CD – React, FastAPI, Docker, Cypress](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml/badge.svg)](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml) [![cod","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.2","react":"18.2.0","react-dom":"18.2.0","react-toastify":"^11.0.5","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","@hookform/resolvers":"^4.1.3","react-test-renderer":"18.2.0","@testing-library/react":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.10","jsdoc":"^4.0.4","jsdom":"^26.0.0","eslint":"^9.21.0","rollup":"^3.29.4","vitest":"^3.0.9","cypress":"^14.5.0","globals":"^15.15.0","gh-pages":"^6.3.0","@babel/cli":"^7.27.2","@eslint/js":"^9.21.0","@babel/core":"^7.27.4","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@vitest/coverage-v8":"^3.0.9","@vitejs/plugin-react":"^4.3.4","@testing-library/jest-dom":"^6.6.3","@vitest/coverage-istanbul":"^3.0.9","eslint-plugin-react-hooks":"^5.1.0","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.19","@babel/plugin-transform-react-jsx":"^7.25.9"},"_npmOperationalInternal":{"tmp":"tmp/ci-cd-enzo-casalini_0.2.1_1750674622152_0.5434690254436445","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"ci-cd-enzo-casalini","version":"0.2.2","type":"module","scripts":{"dev":"vite","test":"vitest","build":"vite build","postbuild":"cp dist/index.html dist/404.html","build-npm-ci":"NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files","coverage":"vitest run --coverage","jsdoc":"jsdoc -R ./README.md -c ./jsdoc.config.json -r -d ./public/docs","predeploy":"vite build","deploy":"gh-pages -d dist","lint":"eslint .","preview":"vite preview","cypress:open":"cypress open","cypress:run":"cypress run"},"dependencies":{"@hookform/resolvers":"^4.1.3","@testing-library/react":"^14.0.0","react":"18.2.0","react-dom":"18.2.0","react-hook-form":"^7.55.0","react-router-dom":"^7.6.2","react-test-renderer":"18.2.0","react-toastify":"^11.0.5","zod":"^3.24.2"},"devDependencies":{"@babel/cli":"^7.27.2","@babel/core":"^7.27.4","@babel/plugin-transform-react-jsx":"^7.25.9","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@eslint/js":"^9.21.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1","@types/jest":"^29.5.14","@types/react":"^18.2.41","@types/react-dom":"^18.2.17","@vitejs/plugin-react":"^4.3.4","@vitest/coverage-istanbul":"^3.0.9","@vitest/coverage-v8":"^3.0.9","cypress":"^14.5.0","eslint":"^9.21.0","eslint-plugin-react-hooks":"^5.1.0","eslint-plugin-react-refresh":"^0.4.19","gh-pages":"^6.3.0","globals":"^15.15.0","jest":"^29.7.0","jsdoc":"^4.0.4","jsdom":"^26.0.0","rollup":"^3.29.4","vite":"^5.2.10","vitest":"^3.0.9"},"_id":"ci-cd-enzo-casalini@0.2.2","gitHead":"61cf604a56103e8ca47a55a08ea471cad2400b10","description":"[![CI/CD – React, FastAPI, Docker, Cypress](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml/badge.svg)](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml) [![cod","_nodeVersion":"20.19.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-l/SjNQ5/KQtpedU8WvJuOV4xtE3B9XoB4aU6+n+F7LDNfww60EyhTI/UIWjAq8kYIyu8WJBNGcKtpjv7EiNe/g==","shasum":"9c7f3d11499a117512a0c44686a2057ec0a283c4","tarball":"https://registry.npmjs.org/ci-cd-enzo-casalini/-/ci-cd-enzo-casalini-0.2.2.tgz","fileCount":51,"unpackedSize":9724635,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBAkS7Q/FGHam60OpFqs24QhxdNG9gNxSJPTA2edqpE6AiBQpcyntjFHquwtvQ2R13RkCOPeNkwoCJMzoM4rYlBCow=="}]},"_npmUser":{"name":"enzocasalini","email":"enzocasa83@gmail.com","actor":{"name":"enzocasalini","email":"enzocasa83@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ci-cd-enzo-casalini_0.2.2_1750751293834_0.21440207908582365"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-08T08:58:33.871Z","modified":"2025-06-24T07:48:14.258Z","0.0.0":"2025-04-08T08:58:34.231Z","0.0.1":"2025-04-08T09:48:29.488Z","0.0.3":"2025-04-08T09:55:08.804Z","0.0.4":"2025-04-08T10:01:11.609Z","0.0.5":"2025-04-08T10:11:39.229Z","0.0.6":"2025-04-08T10:24:54.889Z","0.0.7":"2025-04-08T10:29:35.761Z","0.1.0":"2025-06-22T22:20:18.345Z","0.1.1":"2025-06-22T22:33:25.934Z","0.1.2":"2025-06-22T22:40:03.937Z","0.1.3":"2025-06-22T22:47:44.260Z","0.1.4":"2025-06-22T22:55:04.744Z","0.1.5":"2025-06-22T23:03:43.272Z","0.1.6":"2025-06-22T23:11:53.783Z","0.1.7":"2025-06-22T23:25:51.282Z","0.1.8":"2025-06-22T23:31:42.274Z","0.1.9":"2025-06-22T23:46:30.339Z","0.1.10":"2025-06-22T23:51:54.487Z","0.1.11":"2025-06-22T23:59:41.853Z","0.1.14":"2025-06-23T00:34:32.758Z","0.1.15":"2025-06-23T00:41:44.402Z","0.1.16":"2025-06-23T01:16:00.731Z","0.1.17":"2025-06-23T01:40:22.349Z","0.1.18":"2025-06-23T01:50:20.075Z","0.1.19":"2025-06-23T01:59:42.329Z","0.1.20":"2025-06-23T02:06:19.960Z","0.1.21":"2025-06-23T02:20:27.228Z","0.1.22":"2025-06-23T02:26:55.827Z","0.1.23":"2025-06-23T07:59:32.191Z","0.1.24":"2025-06-23T08:15:13.021Z","0.1.25":"2025-06-23T08:26:18.114Z","0.1.26":"2025-06-23T08:46:30.849Z","0.1.27":"2025-06-23T08:55:34.971Z","0.1.28":"2025-06-23T09:44:28.533Z","0.1.29":"2025-06-23T10:10:12.337Z","0.1.30":"2025-06-23T10:13:24.235Z","0.1.31":"2025-06-23T10:18:27.333Z","0.2.1":"2025-06-23T10:30:22.640Z","0.2.2":"2025-06-24T07:48:14.072Z"},"description":"[![CI/CD – React, FastAPI, Docker, Cypress](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml/badge.svg)](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml) [![cod","maintainers":[{"name":"enzocasalini","email":"enzocasa83@gmail.com"}],"readme":"# 📝 Formulaire d'Inscription Avancé – CI/CD & Déploiement\n\n[![CI/CD – React, FastAPI, Docker, Cypress](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml/badge.svg)](https://github.com/EnzoCasalini/integ-deploiement/actions/workflows/build_test_deploy_react.yml)\n[![codecov](https://codecov.io/gh/EnzoCasalini/integ-deploiement/branch/main/graph/badge.svg)](https://app.codecov.io/gh/EnzoCasalini/integ-deploiement)\n[![npm version](https://badge.fury.io/js/ci-cd-enzo-casalini.svg)](https://badge.fury.io/js/ci-cd-enzo-casalini)\n[![GitHub Pages](https://img.shields.io/github/deployments/EnzoCasalini/integ-deploiement/github-pages?label=GitHub%20Pages)](https://enzocasalini.github.io/integ-deploiement/)\n\nCe projet est une démonstration complète d'une application web moderne, intégrant un frontend **React**, un backend **FastAPI**, des tests end-to-end avec **Cypress**, et une pipeline **CI/CD** complète avec GitHub Actions pour le déploiement et la publication.\n\n---\n\n###  डेमो en Ligne\n\n🚀 **Accédez à l'application déployée ici :** [**https://enzocasalini.github.io/integ-deploiement/**](https://enzocasalini.github.io/integ-deploiement/)\n\n*(L'API backend est hébergée sur Vercel et la base de données sur AlwaysData.)*\n\n---\n\n## 🌟 Fonctionnalités Clés\n\n-   **Formulaire d'inscription complet** avec validation en temps réel.\n-   **Backend RESTful** pour la gestion des utilisateurs (création, lecture, suppression).\n-   **Authentification administrateur** sécurisée avec JWT.\n-   **Base de données MySQL** persistante.\n-   **Tests unitaires, d'intégration et E2E** pour garantir la qualité du code.\n-   **Pipeline CI/CD automatisée** pour les tests, le build, et les déploiements.\n-   **Publication automatique** sur NPM.\n-   **Déploiement du frontend** sur GitHub Pages et du **backend** sur Vercel.\n\n## 🛠️ Stack Technique\n\n| Domaine      | Outil                                                                                                   | Rôle                                 |\n| :----------- | :------------------------------------------------------------------------------------------------------ | :----------------------------------- |\n| **Frontend** | [**React**](https://react.dev/) / [**Vite**](https://vitejs.dev/)                                         | Interface utilisateur et build       |\n| **Backend**  | [**FastAPI**](https://fastapi.tiangolo.com/)                                                            | API RESTful en Python                |\n| **Base de Données** | [**MySQL**](https://www.mysql.com/)                                                                     | Stockage des données des utilisateurs |\n| **Tests**    | [**Vitest**](https://vitest.dev/) / [**Cypress**](https://www.cypress.io/)                                | Tests unitaires, intégration et E2E  |\n| **CI/CD**    | [**GitHub Actions**](https://github.com/features/actions) / [**Docker**](https://www.docker.com/)         | Automatisation et conteneurisation   |\n| **Hébergement** | [**GitHub Pages**](https://pages.github.com/) / [**Vercel**](https://vercel.com/) / [**AlwaysData**](https://www.alwaysdata.com/) | Déploiement Front, Back et BDD       |\n| **Qualité**  | [**ESLint**](https://eslint.org/) / [**Codecov**](https://about.codecov.io/)                              | Linter et couverture de tests        |\n| **Paquet**   | [**NPM**](https://www.npmjs.com/)                                                                       | Publication de la librairie          |\n\n## 🚀 Démarrage Rapide\n\n### Prérequis\n\n-   [Node.js](https://nodejs.org/en) (v20.x recommandée)\n-   [Docker](https://www.docker.com/products/docker-desktop/) et Docker Compose\n\n### 1. Installation (sans Docker)\n\nPour lancer uniquement le frontend en local (connecté à l'API de production).\n\n```bash\n# Cloner le projet\ngit clone https://github.com/EnzoCasalini/integ-deploiement.git\ncd integ-deploiement/my-react-app\n\n# Installer les dépendances\nnpm ci\n\n# Lancer le serveur de développement\nnpm run dev\n```\n\n### 2. Lancer l'environnement complet avec Docker (Recommandé)\n\nCette méthode lance le frontend, le backend et la base de données dans des conteneurs isolés.\n\n**a. Créez un fichier `.env`** à la racine de `my-react-app` en vous basant sur `env.example` :\n\n```env\n# Base de données MySQL (pour Docker)\nMYSQL_DATABASE=user_registration\nMYSQL_USER=user\nMYSQL_PASSWORD=password\nMYSQL_ROOT_PASSWORD=root\nMYSQL_HOST=mysql-db\n\n# Configuration FastAPI\nPORT=8000\n\n# Compte administrateur injecté dans la BDD de test\nADMIN_EMAIL=loise.fenoll@ynov.com\nADMIN_PASSWORD=PvdrTAzTeR247sDnAZBr\n\n# JWT Secret\nJWT_SECRET=un-secret-tres-complique-a-deviner\n```\n\n**b. Lancez les services avec Docker Compose :**\n\n```bash\ndocker compose up --build\n```\n\n-   Le frontend sera accessible sur `http://localhost:3000`.\n-   Le backend sur `http://localhost:8000`.\n-   La base de données est gérable via Adminer sur `http://localhost:8080`.\n\n## 🧪 Tests\n\n-   **Lancer les tests unitaires et d'intégration :**\n    ```bash\n    npm run test\n    ```\n-   **Générer le rapport de couverture :**\n    ```bash\n    npm run coverage\n    # Le rapport est visible dans le dossier `coverage/`\n    ```\n-   **Lancer les tests End-to-End (E2E) avec Cypress :**\n    *(Assurez-vous que l'environnement Docker est lancé)*\n    ```bash\n    # Lancer en mode console\n    npm run cypress:run\n\n    # Ouvrir l'interface graphique de Cypress\n    npm run cypress:open\n    ```\n\n## 🔄 Pipeline CI/CD\n\nLa pipeline GitHub Actions automatise l'ensemble du cycle de vie de l'application.\n\n```mermaid\ngraph TD\n    A[Start: Push/PR sur main] --> B{build_test};\n\n    B --> C{docker_and_e2e};\n    B --> D{deploy_pages};\n    B --> E{deploy_npm};\n    B --> F{deploy_backend_vercel};\n\n    subgraph \"Phase 1: Build & Tests Unitaires\"\n        B[\"Job: build_test<br/>(Node.js 20.x)<br/>- npm ci<br/>- vitest coverage<br/>- jsdoc<br/>- vite build\"]\n    end\n\n    subgraph \"Phase 2: Tests E2E & Déploiements\"\n        C[\"Job: docker_and_e2e<br/>- docker compose up<br/>- cypress run\"]\n        D[\"Job: deploy_pages<br/>Déployer sur GitHub Pages\"]\n        E[\"Job: deploy_npm<br/>Publier sur NPM\"]\n        F[\"Job: deploy_backend_vercel<br/>Déployer sur Vercel\"]\n    end\n\n    style B fill:#f9f,stroke:#333,stroke-width:2px\n    style C fill:#bbf,stroke:#333,stroke-width:2px\n    style D fill:#bbf,stroke:#333,stroke-width:2px\n    style E fill:#bbf,stroke:#333,stroke-width:2px\n    style F fill:#bbf,stroke:#333,stroke-width:2px\n```\n\n## 📚 Documentation\n\nLa documentation technique des composants React est générée avec JSDoc.\n\n```bash\nnpm run jsdoc\n```\n\nLe résultat est disponible dans le dossier `public/docs`.\n\n## 📦 Paquet NPM\n\nCe projet est également publié en tant que paquet NPM.\n\n```bash\nnpm install ci-cd-enzo-casalini\n```\n\n## ✍️ Auteur\n\nProjet réalisé par **Enzo Casalini**.\n","readmeFilename":"README.md"}