{"_id":"@apitechfr/dsapitech","_rev":"11-b1f0acc3b1203ac7f61aaa538e003f88","name":"@apitechfr/dsapitech","dist-tags":{"latest":"1.13.12"},"versions":{"1.13.2":{"name":"@apitechfr/dsapitech","version":"1.13.2","author":{"name":"Apitech","email":"dev@joona.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.2","maintainers":[{"name":"apitechfr","email":"dev@joona.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"8f91e0f1a8425960828865882a1f2653baf771ef","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.2.tgz","fileCount":3377,"integrity":"sha512-r7XTO06YdpsRwJ/ZzaZF9G4fqJwl/CiV3rZezR6AHE+LAQT23njsvyGDsZ8CFMCKbmKh7nDrZPwryvuWx0smEw==","signatures":[{"sig":"MEQCIBMVBRd4Buz5FpDn2gIcWe2HX3WsXKil6PDCpwlm3ulwAiArjT/BEcTQGtM84OK9uhf6QC9D23NIe1MMsk+CSeI1LA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4472796},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitechfr"},"engines":{"node":">=18.16.1"},"gitHead":"e17fca45b3e9dfd53d959fe003021cd71afbc453","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@joona.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.2_1748936588354_0.8659305216278079","host":"s3://npm-registry-packages-npm-production"}},"1.13.3":{"name":"@apitechfr/dsapitech","version":"1.13.3","author":{"name":"Apitech","email":"dev@joona.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.3","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"7c07fa4c5add923ea1ec183efaa37c920d81e92c","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.3.tgz","fileCount":4656,"integrity":"sha512-vHxxAb5pj93Eq8dM+/i1IA2TPVRf/sr3+RJL/qPlbhIjCeBsP/wFxGLOi5ekmj+BUnb3s+KnLl2UuDnejThyeg==","signatures":[{"sig":"MEUCIGjBqak6yC7SY26Htbi7e/Buyqfrcl+XNgBuP3rkE4w6AiEAk6Nl9jaZitvGeq3ljS788fTtW41A6oHmJr3Y3bPoBEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27925251},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitechfr"},"engines":{"node":">=18.16.1"},"gitHead":"e17fca45b3e9dfd53d959fe003021cd71afbc453","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.3_1748962832856_0.23837039220526512","host":"s3://npm-registry-packages-npm-production"}},"1.13.4":{"name":"@apitechfr/dsapitech","version":"1.13.4","author":{"name":"Apitech","email":"dev@joona.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.4","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"5733be2aec4b545f8d7d1f296a2f33390633df07","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.4.tgz","fileCount":3904,"integrity":"sha512-7SeAUnlZABio7yy7Jtn/CKISrtFC+XzZnyrNpunCOZM2GaRiQWBhB2gDt2B7AJEbpvHBSj+/9WY/3RH/TnTlTQ==","signatures":[{"sig":"MEUCIFcOXMoJ7UZd6mzc4FQOaxdItn6Cob1xAOtYfh/kth5dAiEAoUmMo6OerdtiJKPJJAWBGXjk8eCa3s2oGDQX+8WmIiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26091984},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitechfr"},"engines":{"node":">=18.16.1"},"gitHead":"e17fca45b3e9dfd53d959fe003021cd71afbc453","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.4_1749021579951_0.554708398985557","host":"s3://npm-registry-packages-npm-production"}},"1.13.5":{"name":"@apitechfr/dsapitech","version":"1.13.5","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.5","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"601dbca47c9ab6da4a7fe49ba6a7c658aa2a083b","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.5.tgz","fileCount":3906,"integrity":"sha512-QIJryHtIC59AbY/xG7Yths8uDrSLr9yc0rwUHLddiTWrcvSH28b4GLsTN/97Wq4KSiHMUtFTxGQfz2YNgIWybg==","signatures":[{"sig":"MEQCIE5xWBP/XjMPbwneO2ZTZ36+mmlFflz6YL19Ax3X8+/+AiBXQLkPg+LD2Xzxhvd7Slmy1bqi8tkU5vA/lFgetYAwdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26262283},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"e17fca45b3e9dfd53d959fe003021cd71afbc453","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.5_1749214414426_0.4060382406999672","host":"s3://npm-registry-packages-npm-production"}},"1.13.6":{"name":"@apitechfr/dsapitech","version":"1.13.6","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.6","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"90bef39e283e27b2d64adac2d415a0e8446f5338","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.6.tgz","fileCount":4685,"integrity":"sha512-kDy6fk283B/eQ2yjn6Jr2VKwcZnAMx6afoh3KXw75n/Sz4ymSjgazL9YTgtLjIsgYe1NgDiPr6XoZe6i2ZmUhQ==","signatures":[{"sig":"MEUCIE5SR9VX+y1CKNVMw6f7IfAgkvNVb0HjPQcHEEXn6SldAiEArYrzEX/UauKL7o0X9t/CK8vDEBd2ZNQQQykxkVI4mlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29562357},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"e17fca45b3e9dfd53d959fe003021cd71afbc453","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.6_1749220203538_0.825046439847601","host":"s3://npm-registry-packages-npm-production"}},"1.13.7":{"name":"@apitechfr/dsapitech","version":"1.13.7","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.7","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"e682ba2016b0fbd539503ddc1ad4b3e6eca252d2","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.7.tgz","fileCount":4685,"integrity":"sha512-lnws6gKnUtaRq21A0jpj62w1qBgaWzA1R5mOyMO3+U+dx3hQA6uqAFhtB1ev8JL7Q190Maf6/T9V+SRXTXCygQ==","signatures":[{"sig":"MEQCIEPm7sFgXgnhg2xXD+Xmcnxc48alpoOkVkZ7iEYcul6kAiBcaLBDM6LDbvEMwSNMuAiorxunXaQrniGrSa6xL5qdXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29537254},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"6e7e16aa412eda96fd5b17d0ea714ef4891f7eae","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","actor":{"name":"apitechfr","type":"user","email":"dev@apitech.fr"},"email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.7_1751877501895_0.9003893469067801","host":"s3://npm-registry-packages-npm-production"}},"1.13.8":{"name":"@apitechfr/dsapitech","version":"1.13.8","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.8","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"5d2645ff7b3c39ccfa717e689c69823cb535849a","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.8.tgz","fileCount":4967,"integrity":"sha512-X8TvYnn9YZhHAsIzC4MgylpL0zNNzpV+bbuUfNz7OEd7kTfBiFtSgYPwT9BCQknicXMJVpOYn+JGYCoKS4ueTQ==","signatures":[{"sig":"MEUCIBfxw/u0oKwzxzQrMGCaLgfqXqfuN1HK5PrLenhR0QBYAiEA12U5/GjsyD+hr2De0IfDSQiJtKXbRv8CgWMnrW+FFFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37288922},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"5652d7bbd968f297c3db3a0498a8634bfa0d700a","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.8_1752590939241_0.8364352278481031","host":"s3://npm-registry-packages-npm-production"}},"1.13.9":{"name":"@apitechfr/dsapitech","version":"1.13.9","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.9","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"b8213919e26e4f626322a6fcce5069fc95d9b73a","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.9.tgz","fileCount":4967,"integrity":"sha512-QpBL2tBkpSF+P+80ZE9MjRyR8f5hgJ+8xNkNHcVt6919s5J2fySY2nzcZ3LECd1S52UeaGWyqgL155kGUMAcGA==","signatures":[{"sig":"MEQCIGjZ+lucncWx7FKPOXSv5h/3XDqyqJ3n3X/3OxsERQrKAiB54hNu3bQkVQUXOKhPcjy2Umi9Tsij3XkzTGP3fe911A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37289158},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"db8444d506e998e7e54502470282f96a1c9f92cb","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.9_1753178347970_0.3052081863199465","host":"s3://npm-registry-packages-npm-production"}},"1.13.10":{"name":"@apitechfr/dsapitech","version":"1.13.10","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.10","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"fdd115ecc76c31ed3ea6612fdefd755cfb2b9a82","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.10.tgz","fileCount":4967,"integrity":"sha512-N4CFGI+vObwm8jFcBA4oASvVEw9OrLWBUbffsOBFNJjG5+qttD4ijutSNQL7HDIVxMymwAw5Re2V1evevMAVqQ==","signatures":[{"sig":"MEYCIQCF0yhpi0oHdDqvQZW2IAQOAuGsYcQnQVusp+XdtlsJcQIhALyl4dBh2Kmpe1POU0s90ZGb3ApsDu3cMhQkFDAc3E4Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37285669},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"a08f66450da9fc9c67fa04cae5d3fbeca4f5e7fd","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.10_1753260191042_0.5035078802873054","host":"s3://npm-registry-packages-npm-production"}},"1.13.11":{"name":"@apitechfr/dsapitech","version":"1.13.11","author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","_id":"@apitechfr/dsapitech@1.13.11","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"homepage":"https://github.com/ApitechFR/dsapitech#readme","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"dist":{"shasum":"ac9a86413bda1c9cf56d4371115ce5c0fd5e1c1a","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.11.tgz","fileCount":4967,"integrity":"sha512-wVoX1IjxV1TXSs67bck4369M4uRCaB5nEY+iNBEzir6oFxch1Dv75Qnmb41Wd9E9Tt42sqMntfCSCseqKHzEyA==","signatures":[{"sig":"MEUCICgeZwH+iOC0H2LgF2JHZw6kUt3Z24cEqV/QkfZI+vKdAiEA2eMgRlkaCtmlFl4w9MbvYxHJpXBRHk5lCr2oaWnDjJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37286653},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"gitHead":"3826b2af76edb0f910c9463220141db3a8de0d50","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","serve":"browser-sync start --server --port 8080 --startPath example/","deploy":"node tool/tool.js deploy","release":"node tool/tool.js release","changelog":"node tool/tool.js changelog","postbuild":"cp dsapitech.css dist/dsapitech.css","standalone":"node tool/tool.js standalone","pictogram-converter":"node tool/tool.js pictogram-converter"},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"repository":{"url":"git+ssh://git@github.com/ApitechFR/dsapitech.git","type":"git"},"_npmVersion":"9.6.6","description":"Système de Design d'Apitech - DSApitech","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"del":"^6.0.0","ejs":"^3.1.9","jest":"^27.5.1","path":"^0.12.7","sass":"^1.59.2","svgo":"^2.8.0","ejs4b":"^3.1.63","husky":"^7.0.4","pa11y":"^6.2.3","yargs":"^17.7.1","eslint":"^8.36.0","rollup":"^2.68.0","semver":"^7.5.3","cssnano":"^5.1.15","express":"^4.18.2","js-yaml":"^4.1.0","postcss":"8.4.32","mqpacker":"^7.0.0","standard":"^16.0.4","pure-rand":"^6.0.2","sass-true":"^6.1.0","stylelint":"^13.13.1","js-beautify":"^1.14.7","subset-font":"^1.6.1","browser-sync":">=2.27.10","browserslist":"^4.21.5","postcss-banner":"^4.0.1","stylelint-scss":"^4.4.0","@commitlint/cli":"^15.0.0","parse-github-url":"^1.0.2","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.27.5","rollup-plugin-modify":"^3.0.0","rollup-plugin-terser":"^7.0.2","eslint-plugin-promise":"^5.2.0","rollup-plugin-banner2":"^1.2.2","@rollup/plugin-virtual":"^2.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","stylelint-config-standard":"^20.0.0","postcss-discard-duplicates":"^5.1.0","@commitlint/config-conventional":"^15.0.0","postcss-combine-duplicated-selectors":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dsapitech_1.13.11_1755088385308_0.9503739415100698","host":"s3://npm-registry-packages-npm-production"}},"1.13.12":{"name":"@apitechfr/dsapitech","version":"1.13.12","description":"Système de Design d'Apitech - DSApitech","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/ApitechFR/dsapitech.git"},"author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","config":{"prefix":"fr","namespace":"dsapitech","organisation":"@apitech"},"engines":{"node":">=18.16.1"},"packageManager":"yarn@1.22.22","scripts":{"test":"node tool/tool.js test","build":"node tool/tool.js build","postbuild":"cp dsapitech.css dist/dsapitech.css","release":"node tool/tool.js release","deploy":"node tool/tool.js deploy","standalone":"node tool/tool.js standalone","changelog":"node tool/tool.js changelog","serve":"browser-sync start --server --port 8080 --startPath example/","pictogram-converter":"node tool/tool.js pictogram-converter"},"devDependencies":{"@commitlint/cli":"^15.0.0","@commitlint/config-conventional":"^15.0.0","@rollup/plugin-buble":"^0.21.3","@rollup/plugin-virtual":"^2.1.0","browser-sync":">=2.27.10","browserslist":"^4.21.5","cssnano":"^5.1.15","del":"^6.0.0","ejs":"^3.1.9","ejs4b":"^3.1.63","eslint":"^8.36.0","eslint-config-standard":"^16.0.3","eslint-plugin-import":"^2.27.5","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^5.2.0","eslint-plugin-standard":"^5.0.0","express":"^4.18.2","husky":"^7.0.4","jest":"^27.5.1","js-beautify":"^1.14.7","js-yaml":"^4.1.0","mqpacker":"^7.0.0","pa11y":"^6.2.3","parse-github-url":"^1.0.2","path":"^0.12.7","postcss":"8.4.32","postcss-banner":"^4.0.1","postcss-combine-duplicated-selectors":"^10.0.3","postcss-discard-duplicates":"^5.1.0","pure-rand":"^6.0.2","rollup":"^2.68.0","rollup-plugin-banner2":"^1.2.2","rollup-plugin-modify":"^3.0.0","rollup-plugin-prettier":"^2.2.2","rollup-plugin-sourcemaps":"^0.6.3","rollup-plugin-terser":"^7.0.2","sass":"^1.59.2","sass-true":"^6.1.0","semver":"^7.5.3","standard":"^16.0.4","stylelint":"^13.13.1","stylelint-config-standard":"^20.0.0","stylelint-scss":"^4.4.0","subset-font":"^1.6.1","svgo":"^2.8.0","yargs":"^17.7.1"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"gitHead":"2fcd907782dbd0a0269dedc48d45c565a648089c","bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"homepage":"https://github.com/ApitechFR/dsapitech#readme","_id":"@apitechfr/dsapitech@1.13.12","_nodeVersion":"22.13.1","_npmVersion":"9.6.6","dist":{"integrity":"sha512-eE5MnVUEOF66Zv315E7Sjw6rLvRkFdTM7nwY7fVNZwToCoDY69Xv0P0/BP7YC6gzzh8IhDzy1vz1yQdrCFMIEA==","shasum":"07f20bda6f8e3d888146971327cd8b076d968006","tarball":"https://registry.npmjs.org/@apitechfr/dsapitech/-/dsapitech-1.13.12.tgz","fileCount":4968,"unpackedSize":37288642,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEuCOjnsucF0l1f0wx9C7VpzB9gqe3Q39JPBhLGpw6SYAiANsrmNnrLNE9d5F6ApnXtkIX4nmhYaONk/rCcHFaOwgg=="}]},"_npmUser":{"name":"apitechfr","email":"dev@apitech.fr"},"directories":{},"maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsapitech_1.13.12_1755088917070_0.6660726442022624"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-03T07:43:08.270Z","modified":"2025-08-13T12:41:57.571Z","1.13.2":"2025-06-03T07:43:08.676Z","1.13.3":"2025-06-03T15:00:33.161Z","1.13.4":"2025-06-04T07:19:40.397Z","1.13.5":"2025-06-06T12:53:34.694Z","1.13.6":"2025-06-06T14:30:03.854Z","1.13.7":"2025-07-07T08:38:22.254Z","1.13.8":"2025-07-15T14:48:59.578Z","1.13.9":"2025-07-22T09:59:08.241Z","1.13.10":"2025-07-23T08:43:11.317Z","1.13.11":"2025-08-13T12:33:05.609Z","1.13.12":"2025-08-13T12:41:57.376Z"},"bugs":{"url":"https://github.com/ApitechFR/dsapitech/issues"},"author":{"name":"Apitech","email":"dev@apitech.fr"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://github.com/ApitechFR/dsapitech#readme","repository":{"type":"git","url":"git+ssh://git@github.com/ApitechFR/dsapitech.git"},"description":"Système de Design d'Apitech - DSApitech","maintainers":[{"name":"apitechfr","email":"dev@apitech.fr"}],"readme":"# DSApitech - Documentation technique\r\n\r\n## 1. Introduction\r\n\r\nCette documentation concerne l'édition et la publication d'un composant d'une des bibliothèques DSApitech. Dans notre exemple, nous utiliserons la bibliothèque ```react-dsapitech```, et ```projet-test``` sera le projet qui consommera la librairie.\r\n\r\n## 2. Prérequis\r\n\r\nPour commencer, assurez-vus d'avoir les deux projets ```react-dsapitech``` et ```projet-test``` sur votre poste.\r\n\r\n## 3. Fonctionnement\r\n\r\nLa librairie `react-dsapitech` a deux dépendances : \r\n\r\n* `dsapitech`, qui contient des éléments communs consommés par toutes les librairies de composants (React, Angular, etc.). C'est là qu'on trouve notamment les éléments SCSS.\r\n\r\n* `dsapitech-chart`, qui contient des éléments spécifiques pour l'affichage de graphiques. Pour l'instant, pas besoin d'effectuer de modifications dedans.\r\n\r\n## 4. Publication sur npm\r\n\r\n### `dsapitech`\r\n\r\nPour publier une modification de la librairie `dsapitech` sur `npm`, il faut :\r\n\r\n* **Build :** Aller à la racine du projet, ouvrir un **shell POSIX-compliant** et entrer :\r\n  \r\n  ```bash\r\n  yarn build --minify\r\n  ```\r\n  \r\n  Le build est long, c'est normal.\r\n\r\n* **Mettre la version à jour :** Aller dans le fichier `package.json` et incrémenter la valeur de `version`.\r\n\r\n* **Publier :** Toujours dans la racine du projet, entrer \r\n  \r\n  ```bash\r\n  npm publish \r\n  ```\r\n\r\n### `react-dsapitech`\r\n\r\nPour `react-dsapitech`, voici les étapes pour publier sur `npm` :\r\n\r\n* **Build :** Aller à la racine du projet, ouvrir un **shell POSIX-compliant** et entrer :\r\n  \r\n  ```bash\r\n  yarn build\r\n  ```\r\n  \r\n  Le build crée un dossier `dist`.\r\n\r\n* **Mettre la version à jour :** Aller dans le fichier `dist/package.json` et incrémenter la valeur de `version`.\r\n- **Publier :** Se déplacer dans le dossier `dist` créé lors du build :\r\n  \r\n  ```bash\r\n  cd build\r\n  ```\r\n  \r\n  Depuis le dossier `dist`, entrer :\r\n  \r\n  ```bash\r\n  npm publish\r\n  ```\r\n  \r\n  La publication se fait bien depuis le dossier créé par le build, et non depuis la racine du projet.\r\n\r\n## 5. Effectuer une modification\r\n\r\n### 5.1. Lier les repos\r\n\r\nPour tester nos modifications au fur et à mesure du code, nous n'allons pas re-publier sur `npm` puis mettre à jour la dépendance dans `projet-test`, parce que cela serait trop lourd. À la place, nous préfererons lier en local les deux projets.\r\nOn peut faire cela en 2 lignes de commandes :\r\n\r\nDans le projet librairie (ici ```react-dsapitech```), on se rend dans le dossier `/dist` (celui utilisé pour la publication sur `npm`) et on entre : \r\n\r\n```bash\r\nnpm link\r\n```\r\n\r\nPuis, dans le projet qui consomme la librairie (`projet-test` ici), à la racine du projet, on entre :\r\n\r\n```bash\r\nnpm link nom-de-ma-dependance \r\n```\r\n\r\nDans notre exemple, la dépendance s'appelle `@apitechfr/react-dsapitech`.\r\n\r\nPour vérifier que les repos sont bien liés, entrez cette commande depuis la racine de `projet-test` : \r\n\r\n**Attention :** *Cette commande ne fonctionnera correctement que sur un shell POSIX-compliant, c'est à dire une invite de commande qui supporte les commandes linux. `Powershell` et `cmd.exe` n'en font pas partie, mais `Git Bash` fonctionne.*\r\n\r\n```bash\r\nls -l node_modules/@apitechfr\r\n```\r\n\r\nSi les repos sont bien liés, vous devez voir apparaître quelque-chose comme : \r\n\r\n```bash\r\nreact-dsapitech -> /chemin/vers/votre/librairie\r\n```\r\n\r\n### 5.2. Éditer un composant\r\n\r\nMaintenant, les repos sont liés, et un build depuis le projet contenant la librairie se répercutera automatiquement dans les dépendances de `projet-test`.\r\n\r\nDonc, pour travailler, vous pouvez éditer directement les composants dans le projet de la librairie (dans notre exemple `react-dsapitech`). Et pour les tester, il suffit de faire un build. Le dossier `dist` se mettra alors à jour et le projet `projet-test` détectera le changemet et fera automatiquement la mise à jour de la dépendance.\r\n\r\n#### Édition de style\r\n\r\nLe style est géré dans le projet `dsapitech`, puis les classes sont appelées dans le projet `react-dsapitech`.\r\nPrenons un exemple : modification de la couleur du border dans le composant `footer`.\r\n\r\nVoici le composant `footer` aujourd'hui :\r\n\r\n![](https://github.com/ApitechFR/dsapitech/blob/main/readme%20Images/footer_old.png?raw=true \"Composant Footer Aujourd'hui\")\r\n\r\nVoici le composant `footer` de la maquette :\r\n\r\n![](https://github.com/ApitechFR/dsapitech/blob/main/readme%20Images/footer_model.png?raw=true \"Maquete Composant Footer\")\r\n\r\nPour cet exemple, on se concentre sur l'ajout de la ligne bleue au dessus du footer.\r\n\r\n##### A. Identifier la classe CSS concernée et les modifications à apporter\r\n\r\nEn inspectant via un navigateur, on fait une modification en live des éléments, et on trouve le nom de la classe à modifier. Ici, on identifie les modifiactions suivantes à apporter : dans la classe `fr-footer`, ajouter :\r\n\r\n```css\r\nborder-top: 3px solid var(--background-action-high-blue-france);\r\n```\r\n\r\n##### B. Faire la modification dans le repo `dsapitech`\r\n\r\nDans le repo `dsapitech`, le `css` est généré depuis du `scss`. On peut trouver le `css` dans le fichier `dsapitech\\dist\\dsfr.css`. Cependant, modifier ce fichier ne sert à rien, puisqu'il sera écrasé au prochain build.\r\n\r\nPour que la modification soit effective, il faut modifier le `scss`, que l'on trouve dans ce dossier : `dsapitech\\src\\dsfr\\component`. En fonction du composant que l'on veut modifier, on trouve que, dans notre cas, la classe `scss` à modifier est dans `dsapitech\\src\\dsfr\\component\\footer\\style\\module\\_default.scss`.\r\n\r\nDans ces fichiers, le nom des classes est construit dynamiquement, donc la classe `css` `fr-footer` est déclarée en `scss` avec le nom `#{ns(footer)}` (footer préfixé par `fr-`).\r\n\r\n\r\n\r\nUne fois la classe `scss` identifiée, on peut y ajouter notre border :\r\n\r\n```scss\r\n@include color.border(action-high blue-france, (legacy: false, side: 'top'), 3px solid #{color.$blue-france});\r\n```\r\n\r\nMaintenant, on peut build avec la commande suivante pour bien générer le `css` :\r\n\r\n```bash\r\nyarn build --minify\r\n```\r\n\r\nLe `--minify` est indispensable pour la bonne lecture par les projets qui appellent`dsapitech`.\r\n\r\n\r\n\r\nUne fois buildé, on retrouve bien le `css` suivant dans `dsapitech\\dist\\dsfr.css` : \r\n\r\n```css\r\nborder-top: 3px solid #000091;\r\n```\r\n\r\n##### C. Tester\r\n\r\nAprès le build, si les projets ont bien été liés, le résultat est directement visible sur le projet test, et notre footer ressemble maintenant à ça : ![](https://github.com/ApitechFR/dsapitech/blob/main/readme%20Images/footer_new.png?raw=true \"Composant Footer Modifié\")\r\n\r\nDonc on constate que le border a bien été ajouté en haut, et on peut maintenant publier sur `npm`.\r\n\r\n### 5.3. Dé-lier les repos\r\n\r\nAprès avoir fait les modifications que l'on souhaitait, et pour pouvoir tester la bonne publication par la suite, on peut dé-lier les repos pour retrouver un fonctionnement normal.\r\n\r\nPour retirer la lien entre les projets, saisissez les commandes suivantes :\r\n\r\n```bash\r\n# dans le projet-test\r\nnpm unlink nom-de-ma-dependance\r\n\r\n# dans la librairie\r\nnpm unlink\r\n```\r\n\r\nDans notre exemple, la dépendance s'appelle `@apitechfr/react-dsapitech`.\r\n\r\nPour vérifier que les repos sont bien dé-liés, entrez cette commande depuis la racine de `projet-test` :\r\n\r\n**Attention :** *Cette commande ne fonctionnera correctement que sur un shell POSIX-compliant, c'est à dire une invite de commande qui supporte les commandes linux. `Powershell` et `cmd.exe` n'en font pas partie, mais `Git Bash` fonctionne.*\r\n\r\n```bash\r\nls -l node_modules/@apitechfr\r\n```\r\n\r\nSi les repos sont bien dé-liés, vous devez voir apparaître quelque-chose comme :\r\n\r\n```bash\r\ndrwxr-xr-x 1 VotreNom 1049089 0 Jul 16 16:45 react-dsapitech/\r\n```\r\n","readmeFilename":"README.md"}