{"_id":"@axiome-apps/echoppe-client","_rev":"3-bf1f24a106ef4199d1d1198e23ab66d7","name":"@axiome-apps/echoppe-client","dist-tags":{"latest":"0.8.1"},"versions":{"0.7.0":{"name":"@axiome-apps/echoppe-client","version":"0.7.0","keywords":["echoppe","ecommerce","sdk","openapi"],"author":{"name":"MrCasquette"},"license":"CECILL-2.1","_id":"@axiome-apps/echoppe-client@0.7.0","maintainers":[{"name":"mrcasquette","email":"contact@vincent-cottalorda.fr"}],"dist":{"shasum":"2c9724817341d428d56d302ff4fdf79764fea20c","tarball":"https://registry.npmjs.org/@axiome-apps/echoppe-client/-/echoppe-client-0.7.0.tgz","fileCount":24,"integrity":"sha512-sjoteNL6HGiMWgur6YzF4zYZgYrt8f3OQF8LGEHs3xpHJaowUcuUSdB7uUCZF7DuB0hTecImnGW5syWNDuW8IA==","signatures":[{"sig":"MEUCIAHfR6PjQK+rePLer2JMl03Ie5nRVXqK3SJWTtyRdpm3AiEA8BsioebQk82zTkF6sl7XWixAvlQOZ3c0gCSgTABa/tY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1005833},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./openapi.json":"./openapi.json"},"gitHead":"dc7f91f8f07c77acd89a2d6b88fec94c3739ff94","scripts":{"test":"bun test scripts/","build":"tsc -p tsconfig.build.json","generate":"bun run scripts/generate.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"mrcasquette","email":"contact@vincent-cottalorda.fr"},"contract":{"frozen":["src/openapi.ts","src/models.ts","src/facade.ts"],"source":"apps/echoppe-api"},"_npmVersion":"11.16.0","description":"SDK client typé pour l'API Échoppe — généré depuis l'OpenAPI.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"openapi-fetch":"^0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","openapi-typescript":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/echoppe-client_0.7.0_1787565107590_0.36469992143512764","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@axiome-apps/echoppe-client","version":"0.8.0","keywords":["echoppe","ecommerce","sdk","openapi"],"author":{"name":"MrCasquette"},"license":"CECILL-2.1","_id":"@axiome-apps/echoppe-client@0.8.0","maintainers":[{"name":"mrcasquette","email":"contact@vincent-cottalorda.fr"}],"dist":{"shasum":"aa61b44b6cc6c09b60d67165caa139aa6ad21c3e","tarball":"https://registry.npmjs.org/@axiome-apps/echoppe-client/-/echoppe-client-0.8.0.tgz","fileCount":24,"integrity":"sha512-rucRlXw0RX5wKjNbD8QSe6iYNXHxpvR4uTSfJNZWlNma90UEZ1k+lGK9rlJs6yvp0+ALV7WNW4WHmrsd2bHxuQ==","signatures":[{"sig":"MEYCIQCEDNClHLFP6xFCAJQFlYi87cR/uAR8ndhUl5ymbrMwuQIhALmTJnpahbYJngH24qWBpnL1AFYMHw76F+Z6tGRrlWG+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1005833},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./openapi.json":"./openapi.json"},"gitHead":"28127e0075632496b944ee713ab639a331489615","scripts":{"test":"bun test scripts/","build":"tsc -p tsconfig.build.json","generate":"bun run scripts/generate.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:82147e70-b559-4905-be26-0fbfbf5ccece"}},"contract":{"frozen":["src/openapi.ts","src/models.ts","src/facade.ts"],"source":"apps/echoppe-api"},"_npmVersion":"11.19.0","description":"SDK client typé pour l'API Échoppe — généré depuis l'OpenAPI.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"openapi-fetch":"^0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","openapi-typescript":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/echoppe-client_0.8.0_1787565542932_0.09334670944042345","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@axiome-apps/echoppe-client","version":"0.8.1","description":"SDK client typé pour l'API Échoppe — généré depuis l'OpenAPI.","repository":{"type":"git","url":"git+https://github.com/MrCasquette/atelier.git","directory":"packages/echoppe-client"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./openapi.json":"./openapi.json"},"sideEffects":false,"contract":{"source":"apps/echoppe-api","frozen":["src/openapi.ts","src/models.ts","src/facade.ts"]},"publishConfig":{"access":"public"},"scripts":{"generate":"bun run scripts/generate.ts","build":"tsc -p tsconfig.build.json","type-check":"tsc --noEmit","test":"bun test scripts/"},"keywords":["echoppe","ecommerce","sdk","openapi"],"author":{"name":"MrCasquette"},"license":"CECILL-2.1","dependencies":{"openapi-fetch":"^0.17.0"},"devDependencies":{"openapi-typescript":"^7.13.0","typescript":"6.0.3"},"gitHead":"4cb8ce3ffacf0612e1d15e447dd65451bafdfebd","_id":"@axiome-apps/echoppe-client@0.8.1","bugs":{"url":"https://github.com/MrCasquette/atelier/issues"},"homepage":"https://github.com/MrCasquette/atelier#readme","_nodeVersion":"24.20.0","_npmVersion":"11.19.1","dist":{"integrity":"sha512-ZsS6Y23sV5+leni1Kf/DsrAWon5+iO+T9LvurEdMOpTAHQQnXAzrWr5+C6/7VwuCriR8s90R3CxYzl5GnD1W+A==","shasum":"4c030f62cd32fd92831e374e1528e9a1434a229d","tarball":"https://registry.npmjs.org/@axiome-apps/echoppe-client/-/echoppe-client-0.8.1.tgz","fileCount":24,"unpackedSize":1005979,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axiome-apps%2fechoppe-client@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH8EYnu6RmJpc1r2ZHt75JT8fcUsYTbYRoDGwayyhJfNAiEAp2TDToT+cUFX+uC0LA9B8pZMFFj6px//E9VTQuGV28I="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:82147e70-b559-4905-be26-0fbfbf5ccece"}},"directories":{},"maintainers":[{"name":"mrcasquette","email":"contact@vincent-cottalorda.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/echoppe-client_0.8.1_1789056486662_0.514053716432135"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-24T09:51:47.353Z","modified":"2026-09-10T16:08:07.131Z","0.7.0":"2026-08-24T09:51:47.737Z","0.8.0":"2026-08-24T09:59:03.068Z","0.8.1":"2026-09-10T16:08:06.797Z"},"author":{"name":"MrCasquette"},"license":"CECILL-2.1","keywords":["echoppe","ecommerce","sdk","openapi"],"description":"SDK client typé pour l'API Échoppe — généré depuis l'OpenAPI.","maintainers":[{"name":"mrcasquette","email":"contact@vincent-cottalorda.fr"}],"readme":"# @axiome-apps/echoppe-client\n\nSDK client **typé** pour l'API [Échoppe](https://github.com/) — généré depuis le\ncontrat OpenAPI de l'API. Runtime-agnostique (navigateur, Bun, Node, edge) : repose\nuniquement sur `fetch`.\n\n## Installation\n\n```bash\nbun add @axiome-apps/echoppe-client\n```\n\n## Utilisation\n\n```ts\nimport { createEchoppeClient } from '@axiome-apps/echoppe-client';\n\nconst echoppe = createEchoppeClient({\n  baseUrl: 'https://api.maboutique.fr',\n});\n\nconst { data, error } = await echoppe.GET('/products/');\nif (error) throw error;\n\n// `data` est entièrement typé depuis le contrat de l'API\nfor (const product of data) {\n  console.log(product.name);\n}\n```\n\nLes méthodes suivent le contrat OpenAPI via [`openapi-fetch`](https://openapi-ts.dev/openapi-fetch/) :\n`GET`, `POST`, `PUT`, `PATCH`, `DELETE`, avec `params.path`, `params.query` et `body`\ntypés par route.\n\n```ts\nconst { data } = await echoppe.GET('/products/{id}', {\n  params: { path: { id: '…' } },\n});\n```\n\n### Authentification\n\nL'API utilise des **cookies de session HTTP-only**. Le client force\n`credentials: 'include'` — dans un navigateur, les cookies de session sont donc\ntransmis automatiquement une fois l'utilisateur connecté via les routes d'auth.\n\n## Types\n\nLe contrat complet est réexporté pour dériver ses propres types :\n\n```ts\nimport type { paths, components } from '@axiome-apps/echoppe-client';\n\ntype Product = components['schemas']['...'];\n```\n\n## Régénérer depuis l'API\n\nLe SDK est généré depuis l'OpenAPI d'une API en cours d'exécution :\n\n```bash\n# API des sources (http://localhost:8101) par défaut\nbun run generate\n# ou une autre instance\nCONTRACT_API_URL=https://api.exemple.fr bun run generate\n```\n\nCela met à jour `openapi.json` (snapshot figé du contrat) puis `src/openapi.ts`.\n","readmeFilename":"README.md","homepage":"https://github.com/MrCasquette/atelier#readme","repository":{"type":"git","url":"git+https://github.com/MrCasquette/atelier.git","directory":"packages/echoppe-client"},"bugs":{"url":"https://github.com/MrCasquette/atelier/issues"}}