ecotransac-shared-js 1.2.42 → 1.2.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md ADDED
@@ -0,0 +1,48 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Contexte
6
+
7
+ `ecotransac-shared-js` est un package npm interne partagé entre le frontend et le backend d'EcoTransac. Il contient les données statiques métier (champs de formulaires, options de sélection), les fonctions de calcul, et les utilitaires de formatage utilisés dans les deux projets.
8
+
9
+ ## Commandes
10
+
11
+ ```bash
12
+ npm run build # Compile avec tsup (génère dist/)
13
+ npm run lint # Vérification TypeScript (tsc)
14
+ npm run generate # GraphQL codegen → src/types/graphql-generated.ts
15
+ ```
16
+
17
+ La publication sur npm est automatique via GitHub Actions à chaque push sur `main` (build + lint + npm publish). **Ne jamais publier manuellement.**
18
+
19
+ ## Architecture
20
+
21
+ Tout est réexporté depuis `src/index.ts` — c'est le seul point d'entrée public du package.
22
+
23
+ ### `src/functions/`
24
+
25
+ - `agency-fees.ts` — calcul des honoraires agence selon la tranche de prix (`getFeesPercentage`, `getDisplayedPrice`, `getNetPrice`, `getIsLowPrice`). Les seuils diffèrent selon `isForProfessionalUse`.
26
+ - `form-values.ts` — `getValue()` formate une valeur brute en chaîne affichable (date, booléen, téléphone, adresse, devise, select).
27
+ - `render-logic.ts` — combinateurs de conditions pour l'affichage conditionnel des champs : `only`, `not`, `or`, `and`. Ces fonctions retournent des `Condition` (prédicats sur un `State`).
28
+ - `format.ts` — fonctions de formatage bas niveau (prix, date, téléphone, adresse).
29
+
30
+ ### `src/types/`
31
+
32
+ - `field.ts` — types TypeScript centraux : `Field`, `FieldType`, `Condition`, `State`, `SelectOption`. Toute la logique de formulaire des deux projets s'appuie sur ces types.
33
+ - `graphql-generated.ts` — généré automatiquement, ne jamais modifier manuellement.
34
+
35
+ ### `src/static/`
36
+
37
+ Données statiques par entité métier (`property`, `renovation`, `mandate`, `contact`) :
38
+ - `fields.ts` — tableau de `Field[]` décrivant les champs de formulaire (nom, type, label, condition d'affichage, options)
39
+ - `select-options.ts` — options de sélection pour les listes déroulantes
40
+ - `state.ts` — état initial pour les conditions d'affichage conditionnel
41
+
42
+ Autres fichiers statiques : `countries.ts`, `legal-status.ts`, `tiers.ts`, `company-details.ts`.
43
+
44
+ ## Points non-évidents
45
+
46
+ - **Alias `@/`** → `src/` (défini dans tsconfig.json et tsup.config).
47
+ - Après toute modification, mettre à jour le frontend et le backend avec `npm run package-up` dans chacun.
48
+ - La version est auto-incrémentée par le hook pre-commit Husky.
package/dist/index.js CHANGED
@@ -1924,8 +1924,8 @@ var COMPANY_INFO = {
1924
1924
 
1925
1925
  // src/static/tiers.ts
1926
1926
  var TIER_INFOS = [
1927
- { tier: "TIER_1", min: 0, max: 7e4, rate: 0.7 },
1928
- { tier: "TIER_2", min: 70001, max: 12e4, rate: 0.8 },
1927
+ { tier: "TIER_1", min: 0, max: 8e4, rate: 0.7 },
1928
+ { tier: "TIER_2", min: 80001, max: 12e4, rate: 0.8 },
1929
1929
  { tier: "TIER_3", min: 120001, max: 15e4, rate: 0.9 },
1930
1930
  { tier: "TIER_4", min: 150001, max: Infinity, rate: 1 }
1931
1931
  ];
package/dist/index.mjs CHANGED
@@ -1829,8 +1829,8 @@ var COMPANY_INFO = {
1829
1829
 
1830
1830
  // src/static/tiers.ts
1831
1831
  var TIER_INFOS = [
1832
- { tier: "TIER_1", min: 0, max: 7e4, rate: 0.7 },
1833
- { tier: "TIER_2", min: 70001, max: 12e4, rate: 0.8 },
1832
+ { tier: "TIER_1", min: 0, max: 8e4, rate: 0.7 },
1833
+ { tier: "TIER_2", min: 80001, max: 12e4, rate: 0.8 },
1834
1834
  { tier: "TIER_3", min: 120001, max: 15e4, rate: 0.9 },
1835
1835
  { tier: "TIER_4", min: 150001, max: Infinity, rate: 1 }
1836
1836
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecotransac-shared-js",
3
- "version": "1.2.42",
3
+ "version": "1.2.44",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "modules": "dist/index.mjs",