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 +48 -0
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
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:
|
|
1928
|
-
{ tier: "TIER_2", min:
|
|
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:
|
|
1833
|
-
{ tier: "TIER_2", min:
|
|
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
|
];
|