@supersoniks/concorde 5.0.2 → 5.0.4

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.
Files changed (266) hide show
  1. package/.github/workflows/ci.yml +21 -0
  2. package/.github-export-ignore +30 -0
  3. package/CONTRIBUTING.md +59 -0
  4. package/DEV.md +54 -0
  5. package/LICENSE +21 -0
  6. package/OPEN_SOURCE_CHECKPOINT.md +133 -0
  7. package/build-infos.json +1 -1
  8. package/concorde-core.bundle.js +66 -66
  9. package/concorde-core.es.js +1368 -1318
  10. package/dist/concorde-core.bundle.js +66 -66
  11. package/dist/concorde-core.es.js +1368 -1318
  12. package/docs/altcha-widget.js +2662 -0
  13. package/docs/assets/index-D8MVWqY6.js +12251 -0
  14. package/docs/assets/index-DiD0qYvE.css +1 -0
  15. package/docs/crawl/core/components/functional/date/date.html +190 -0
  16. package/docs/crawl/core/components/functional/fetch/fetch.html +109 -0
  17. package/docs/crawl/core/components/functional/if/if.html +27 -0
  18. package/docs/crawl/core/components/functional/jsonata/jsonata.html +79 -0
  19. package/docs/crawl/core/components/functional/list/list.html +70 -0
  20. package/docs/crawl/core/components/functional/mix/mix.html +45 -0
  21. package/docs/crawl/core/components/functional/queue/queue.html +96 -0
  22. package/docs/crawl/core/components/functional/router/router.html +106 -0
  23. package/docs/crawl/core/components/functional/sdui/sdui.html +269 -0
  24. package/docs/crawl/core/components/functional/states/states.html +66 -0
  25. package/docs/crawl/core/components/functional/submit/submit.html +160 -0
  26. package/docs/crawl/core/components/functional/subscriber/subscriber.html +67 -0
  27. package/docs/crawl/core/components/functional/value/value.html +51 -0
  28. package/docs/crawl/core/components/ui/alert/alert.html +110 -0
  29. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +23 -0
  30. package/docs/crawl/core/components/ui/badge/badge.html +119 -0
  31. package/docs/crawl/core/components/ui/button/button.html +149 -0
  32. package/docs/crawl/core/components/ui/captcha/captcha.html +30 -0
  33. package/docs/crawl/core/components/ui/card/card.html +99 -0
  34. package/docs/crawl/core/components/ui/divider/divider.html +58 -0
  35. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +73 -0
  36. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +135 -0
  37. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +79 -0
  38. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +62 -0
  39. package/docs/crawl/core/components/ui/form/input/input.html +109 -0
  40. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +38 -0
  41. package/docs/crawl/core/components/ui/form/radio/radio.html +56 -0
  42. package/docs/crawl/core/components/ui/form/select/select.html +73 -0
  43. package/docs/crawl/core/components/ui/form/switch/switch.html +56 -0
  44. package/docs/crawl/core/components/ui/form/textarea/textarea.html +59 -0
  45. package/docs/crawl/core/components/ui/group/group.html +82 -0
  46. package/docs/crawl/core/components/ui/icon/icon.html +133 -0
  47. package/docs/crawl/core/components/ui/image/image.html +110 -0
  48. package/docs/crawl/core/components/ui/link/link.html +42 -0
  49. package/docs/crawl/core/components/ui/loader/loader.html +50 -0
  50. package/docs/crawl/core/components/ui/menu/menu.html +322 -0
  51. package/docs/crawl/core/components/ui/modal/modal.html +117 -0
  52. package/docs/crawl/core/components/ui/pop/pop.html +102 -0
  53. package/docs/crawl/core/components/ui/progress/progress.html +58 -0
  54. package/docs/crawl/core/components/ui/table/table.html +413 -0
  55. package/docs/crawl/core/components/ui/toast/toast.html +122 -0
  56. package/docs/crawl/core/components/ui/tooltip/tooltip.html +79 -0
  57. package/docs/crawl/docs/_core-concept/dataFlow.html +177 -0
  58. package/docs/crawl/docs/_core-concept/overview.html +66 -0
  59. package/docs/crawl/docs/_core-concept/subscriber.html +75 -0
  60. package/docs/crawl/docs/_decorators/ancestor-attribute.html +116 -0
  61. package/docs/crawl/docs/_decorators/auto-subscribe.html +202 -0
  62. package/docs/crawl/docs/_decorators/bind.html +141 -0
  63. package/docs/crawl/docs/_decorators/get.html +149 -0
  64. package/docs/crawl/docs/_decorators/handle.html +165 -0
  65. package/docs/crawl/docs/_decorators/on-assign.html +355 -0
  66. package/docs/crawl/docs/_decorators/patch.html +78 -0
  67. package/docs/crawl/docs/_decorators/post.html +139 -0
  68. package/docs/crawl/docs/_decorators/publish.html +61 -0
  69. package/docs/crawl/docs/_decorators/put.html +78 -0
  70. package/docs/crawl/docs/_decorators/subscribe.html +109 -0
  71. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +137 -0
  72. package/docs/crawl/docs/_directives/sub.html +93 -0
  73. package/docs/crawl/docs/_getting-started/ai-agents.html +173 -0
  74. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +100 -0
  75. package/docs/crawl/docs/_getting-started/concorde-outside.html +58 -0
  76. package/docs/crawl/docs/_getting-started/create-a-component.html +111 -0
  77. package/docs/crawl/docs/_getting-started/my-first-component.html +189 -0
  78. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +110 -0
  79. package/docs/crawl/docs/_getting-started/pubsub.html +62 -0
  80. package/docs/crawl/docs/_getting-started/start.html +76 -0
  81. package/docs/crawl/docs/_getting-started/theming.html +85 -0
  82. package/docs/crawl/docs/_misc/api-configuration.html +149 -0
  83. package/docs/crawl/docs/_misc/dataProviderKey.html +135 -0
  84. package/docs/crawl/docs/_misc/docs-mock-api.html +158 -0
  85. package/docs/crawl/docs/_misc/dynamic-path.html +180 -0
  86. package/docs/crawl/docs/_misc/endpoint.html +50 -0
  87. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +138 -0
  88. package/docs/crawl/docs/_misc/html-integration.html +48 -0
  89. package/docs/crawl/hubs/decorators.html +547 -0
  90. package/docs/crawl/hubs/form-components.html +359 -0
  91. package/docs/crawl/hubs/remote-data.html +452 -0
  92. package/docs/crawl/index.html +101 -0
  93. package/docs/css/docs.css +0 -0
  94. package/docs/docs-mock-api-sw.js +724 -0
  95. package/docs/docs-mock-api-sw.js.map +7 -0
  96. package/docs/fonts/ClashGrotesk-Bold.eot +0 -0
  97. package/docs/fonts/ClashGrotesk-Bold.ttf +0 -0
  98. package/docs/fonts/ClashGrotesk-Bold.woff +0 -0
  99. package/docs/fonts/ClashGrotesk-Bold.woff2 +0 -0
  100. package/docs/fonts/ClashGrotesk-Extralight.eot +0 -0
  101. package/docs/fonts/ClashGrotesk-Extralight.ttf +0 -0
  102. package/docs/fonts/ClashGrotesk-Extralight.woff +0 -0
  103. package/docs/fonts/ClashGrotesk-Extralight.woff2 +0 -0
  104. package/docs/fonts/ClashGrotesk-Light.eot +0 -0
  105. package/docs/fonts/ClashGrotesk-Light.ttf +0 -0
  106. package/docs/fonts/ClashGrotesk-Light.woff +0 -0
  107. package/docs/fonts/ClashGrotesk-Light.woff2 +0 -0
  108. package/docs/fonts/ClashGrotesk-Medium.eot +0 -0
  109. package/docs/fonts/ClashGrotesk-Medium.ttf +0 -0
  110. package/docs/fonts/ClashGrotesk-Medium.woff +0 -0
  111. package/docs/fonts/ClashGrotesk-Medium.woff2 +0 -0
  112. package/docs/fonts/ClashGrotesk-Regular.eot +0 -0
  113. package/docs/fonts/ClashGrotesk-Regular.ttf +0 -0
  114. package/docs/fonts/ClashGrotesk-Regular.woff +0 -0
  115. package/docs/fonts/ClashGrotesk-Regular.woff2 +0 -0
  116. package/docs/fonts/ClashGrotesk-Semibold.eot +0 -0
  117. package/docs/fonts/ClashGrotesk-Semibold.ttf +0 -0
  118. package/docs/fonts/ClashGrotesk-Semibold.woff +0 -0
  119. package/docs/fonts/ClashGrotesk-Semibold.woff2 +0 -0
  120. package/docs/fonts/ClashGrotesk-Variable.eot +0 -0
  121. package/docs/fonts/ClashGrotesk-Variable.ttf +0 -0
  122. package/docs/fonts/ClashGrotesk-Variable.woff +0 -0
  123. package/docs/fonts/ClashGrotesk-Variable.woff2 +0 -0
  124. package/docs/img/concorde-icon.svg +5 -0
  125. package/docs/img/concorde-logo.svg +1 -0
  126. package/docs/img/concorde.png +0 -0
  127. package/docs/img/concorde_def.png +0 -0
  128. package/docs/img/concorde_seuil.png.webp +0 -0
  129. package/docs/img/concorde_seuil_invert.png +0 -0
  130. package/docs/img/paul_metrand.jpg +0 -0
  131. package/docs/img/paul_metrand_xs.jpg +0 -0
  132. package/docs/index.html +93 -0
  133. package/docs/llms-full.txt +5761 -0
  134. package/docs/llms.txt +104 -0
  135. package/docs/robots.txt +16 -0
  136. package/docs/sitemap.xml +237 -0
  137. package/docs/src/core/components/functional/date/date.md +290 -0
  138. package/docs/src/core/components/functional/fetch/fetch.md +125 -0
  139. package/docs/src/core/components/functional/if/if.md +9 -0
  140. package/docs/src/core/components/functional/jsonata/jsonata.md +56 -0
  141. package/docs/src/core/components/functional/list/list.md +65 -0
  142. package/docs/src/core/components/functional/mix/mix.md +41 -0
  143. package/docs/src/core/components/functional/queue/queue.md +72 -0
  144. package/docs/src/core/components/functional/router/router.md +94 -0
  145. package/docs/src/core/components/functional/sdui/default-library.json +108 -0
  146. package/docs/src/core/components/functional/sdui/example.json +99 -0
  147. package/docs/src/core/components/functional/sdui/sdui.md +356 -0
  148. package/docs/src/core/components/functional/states/states.md +87 -0
  149. package/docs/src/core/components/functional/submit/submit.md +114 -0
  150. package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
  151. package/docs/src/core/components/functional/value/value.md +35 -0
  152. package/docs/src/core/components/ui/alert/alert.md +121 -0
  153. package/docs/src/core/components/ui/alert-messages/alert-messages.md +0 -0
  154. package/docs/src/core/components/ui/badge/badge.md +127 -0
  155. package/docs/src/core/components/ui/button/button.md +182 -0
  156. package/docs/src/core/components/ui/captcha/captcha.md +12 -0
  157. package/docs/src/core/components/ui/card/card.md +97 -0
  158. package/docs/src/core/components/ui/divider/divider.md +35 -0
  159. package/docs/src/core/components/ui/form/checkbox/checkbox.md +77 -0
  160. package/docs/src/core/components/ui/form/fieldset/fieldset.md +129 -0
  161. package/docs/src/core/components/ui/form/form-actions/form-actions.md +77 -0
  162. package/docs/src/core/components/ui/form/form-layout/form-layout.md +44 -0
  163. package/docs/src/core/components/ui/form/input/input.md +142 -0
  164. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +29 -0
  165. package/docs/src/core/components/ui/form/radio/radio.md +57 -0
  166. package/docs/src/core/components/ui/form/select/select.md +71 -0
  167. package/docs/src/core/components/ui/form/switch/switch.md +57 -0
  168. package/docs/src/core/components/ui/form/textarea/textarea.md +65 -0
  169. package/docs/src/core/components/ui/group/group.md +75 -0
  170. package/docs/src/core/components/ui/icon/icon.md +125 -0
  171. package/docs/src/core/components/ui/icon/icons.json +1 -0
  172. package/docs/src/core/components/ui/image/image.md +107 -0
  173. package/docs/src/core/components/ui/link/link.md +43 -0
  174. package/docs/src/core/components/ui/loader/loader.md +55 -0
  175. package/docs/src/core/components/ui/menu/menu.md +329 -0
  176. package/docs/src/core/components/ui/modal/modal.md +119 -0
  177. package/docs/src/core/components/ui/pop/pop.md +96 -0
  178. package/docs/src/core/components/ui/progress/progress.md +63 -0
  179. package/docs/src/core/components/ui/table/table.md +455 -0
  180. package/docs/src/core/components/ui/toast/toast.md +166 -0
  181. package/docs/src/core/components/ui/tooltip/tooltip.md +82 -0
  182. package/docs/src/docs/_core-concept/dataFlow.md +88 -0
  183. package/docs/src/docs/_core-concept/overview.md +57 -0
  184. package/docs/src/docs/_core-concept/subscriber.md +75 -0
  185. package/docs/src/docs/_decorators/ancestor-attribute.md +127 -0
  186. package/docs/src/docs/_decorators/auto-subscribe.md +202 -0
  187. package/docs/src/docs/_decorators/bind.md +167 -0
  188. package/docs/src/docs/_decorators/get.md +162 -0
  189. package/docs/src/docs/_decorators/handle.md +175 -0
  190. package/docs/src/docs/_decorators/on-assign.md +390 -0
  191. package/docs/src/docs/_decorators/patch.md +70 -0
  192. package/docs/src/docs/_decorators/post.md +146 -0
  193. package/docs/src/docs/_decorators/publish.md +55 -0
  194. package/docs/src/docs/_decorators/put.md +70 -0
  195. package/docs/src/docs/_decorators/subscribe.md +100 -0
  196. package/docs/src/docs/_decorators/wait-for-ancestors.md +163 -0
  197. package/docs/src/docs/_directives/sub.md +91 -0
  198. package/docs/src/docs/_getting-started/ai-agents.md +76 -0
  199. package/docs/src/docs/_getting-started/concorde-manual-install.md +133 -0
  200. package/docs/src/docs/_getting-started/concorde-outside.md +33 -0
  201. package/docs/src/docs/_getting-started/create-a-component.md +139 -0
  202. package/docs/src/docs/_getting-started/my-first-component.md +236 -0
  203. package/docs/src/docs/_getting-started/my-first-subscriber.md +120 -0
  204. package/docs/src/docs/_getting-started/pubsub.md +37 -0
  205. package/docs/src/docs/_getting-started/start.md +47 -0
  206. package/docs/src/docs/_getting-started/theming.md +91 -0
  207. package/docs/src/docs/_misc/api-configuration.md +81 -0
  208. package/docs/src/docs/_misc/dataProviderKey.md +168 -0
  209. package/docs/src/docs/_misc/docs-mock-api.md +63 -0
  210. package/docs/src/docs/_misc/dynamic-path.md +71 -0
  211. package/docs/src/docs/_misc/endpoint.md +45 -0
  212. package/docs/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  213. package/docs/src/docs/_misc/html-integration.md +15 -0
  214. package/docs/src/docs/search/docs-search.json +9507 -0
  215. package/docs/src/tag-list.json +1 -0
  216. package/docs/src/tsconfig-model.json +23 -0
  217. package/docs/src/tsconfig.declarations.json +22 -0
  218. package/docs/src/tsconfig.emit.json +23 -0
  219. package/docs/src/tsconfig.json +1182 -0
  220. package/docs/svg/regular/plane.svg +1 -0
  221. package/docs/svg/solid/plane.svg +1 -0
  222. package/gitlab/job_github_mirror.sh +39 -0
  223. package/gitlab/job_tests.sh +0 -0
  224. package/package.json +1 -1
  225. package/scripts/github-export.mjs +150 -0
  226. package/scripts/post-build-docs.js +0 -0
  227. package/scripts/post-build.mjs +0 -0
  228. package/src/core/components/functional/fetch/fetch.md +0 -0
  229. package/src/core/components/functional/if/if.md +0 -0
  230. package/src/core/components/functional/list/list.demo.ts +0 -0
  231. package/src/core/components/functional/list/list.md +0 -0
  232. package/src/core/components/functional/router/router.md +0 -0
  233. package/src/core/components/functional/router/router.ts +0 -0
  234. package/src/core/components/functional/sdui/sdui.md +0 -0
  235. package/src/core/components/functional/states/states.md +0 -0
  236. package/src/core/components/functional/submit/submit.md +0 -0
  237. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  238. package/src/core/components/ui/_css/size.ts +0 -0
  239. package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
  240. package/src/core/components/ui/captcha/captcha.md +0 -0
  241. package/src/core/components/ui/form/radio/radio.md +0 -0
  242. package/src/core/components/ui/form/select/select.md +0 -0
  243. package/src/core/components/ui/form/switch/switch.md +0 -0
  244. package/src/core/components/ui/loader/loader.md +0 -0
  245. package/src/core/components/ui/menu/menu.md +0 -0
  246. package/src/core/components/ui/modal/modal.md +0 -0
  247. package/src/core/components/ui/table/table-caption.ts +0 -0
  248. package/src/core/components/ui/table/table.md +0 -0
  249. package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
  250. package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
  251. package/src/core/mixins/Subscriber.ts +0 -0
  252. package/src/core/utils/AncestorAttributeObserver.ts +183 -70
  253. package/src/core/utils/DataBindObserver.ts +0 -0
  254. package/src/core/utils/Objects.ts +0 -0
  255. package/src/core/utils/route.ts +0 -0
  256. package/src/css.d.ts +19 -0
  257. package/src/docs/_core-concept/subscriber.md +0 -0
  258. package/src/docs/_decorators/ancestor-attribute.md +3 -2
  259. package/src/docs/_getting-started/my-first-subscriber.md +0 -0
  260. package/src/docs/_getting-started/pubsub.md +0 -0
  261. package/src/docs/_getting-started/start.md +0 -0
  262. package/src/docs/example/users.ts +0 -0
  263. package/src/docs/search/page.ts +0 -0
  264. package/src/tsconfig.declarations.json +22 -0
  265. package/src/tsconfig.emit.json +23 -0
  266. package/src/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,21 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master, main]
6
+ pull_request:
7
+ branches: [master, main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: "22"
18
+ cache: yarn
19
+
20
+ - run: yarn install --frozen-lockfile
21
+ - run: yarn test:ci
@@ -0,0 +1,30 @@
1
+ # Arborescence exclue du miroir public GitHub (GitLab reste complet).
2
+ # Syntaxe : une entrée par ligne, # = commentaire.
3
+
4
+ # Site doc
5
+ index.html
6
+ src/docs.ts
7
+ src/docs/
8
+ docs/
9
+ img/
10
+ scripts/create-search.js
11
+ scripts/post-build-docs.js
12
+ scripts/docs-mock-api-vite-plugin.ts
13
+ scripts/docs-open-in-editor-plugin.ts
14
+ public/docs-mock-api-sw.js
15
+ public/docs-mock-api-sw.js.map
16
+
17
+ # Captcha (dépend de altcha.supersoniks.org)
18
+ src/core/components/ui/captcha/
19
+
20
+ # Démos intégrées à la doc
21
+ **/*.demo.ts
22
+
23
+ # CI / infra interne
24
+ gitlab/
25
+
26
+ # Artefacts locaux
27
+ dist/
28
+ build-infos.json
29
+ concorde-core.bundle.js
30
+ concorde-core.es.js
@@ -0,0 +1,59 @@
1
+ # Contribuer à Concorde
2
+
3
+ Merci de votre intérêt pour `@supersoniks/concorde` !
4
+
5
+ ## Modèle de contribution (phase 1)
6
+
7
+ Concorde utilise un dépôt **GitLab interne** comme source complète, avec un **export public filtré** sur GitHub (librairie uniquement — pas le site doc, pas le composant captcha lié à l’infra Supersoniks).
8
+
9
+ | Qui | Où | Comment |
10
+ |-----|-----|---------|
11
+ | Équipe Supersoniks | GitLab | Branche + **Merge Request** vers `master` |
12
+ | Contributeurs externes | GitHub | **Issues** pour signaler bugs ou proposer des améliorations |
13
+ | Contributeurs externes (code) | GitHub / email | Décrire le changement dans une issue, ou proposer un patch que l'équipe intègre sur GitLab |
14
+
15
+ > Les Pull Requests sur le dépôt GitHub public **ne sont pas mergées directement** : le miroir GitLab → GitHub écraserait ces changements. Ouvrez une issue pour discuter avant d'investir du temps.
16
+
17
+ ## Prérequis
18
+
19
+ - Node.js 20+ (22 recommandé)
20
+ - Yarn 1.22 (`packageManager` dans `package.json`)
21
+
22
+ ## Workflow développeur interne
23
+
24
+ ```bash
25
+ git checkout -b ma-branche
26
+ yarn install
27
+ # … modifications …
28
+ yarn test:ci
29
+ # Ouvrir une Merge Request vers master sur GitLab
30
+ ```
31
+
32
+ ## Tests
33
+
34
+ ```bash
35
+ yarn test # watch (développement)
36
+ yarn test:ci # exécution unique (CI)
37
+ ```
38
+
39
+ ## Build
40
+
41
+ ```bash
42
+ yarn build # librairie → dist/
43
+ yarn build-docs # documentation statique → docs/
44
+ yarn dev # serveur de doc local (https://localhost:3000)
45
+ ```
46
+
47
+ ## Conventions
48
+
49
+ - Suivre les patterns existants (Lit, décorateurs, DataProviderKey).
50
+ - Pas de `console.log` oubliés (bloqué par `prepublishOnly`).
51
+ - Documentation : fichiers `.md` colocalisés avec les composants dans `src/`.
52
+
53
+ ## Signaler un problème de sécurité
54
+
55
+ Ne pas ouvrir d'issue publique. Contacter l'équipe Supersoniks directement.
56
+
57
+ ## Évolution prévue
58
+
59
+ Si des contributions externes deviennent fréquentes, le dépôt GitHub pourra devenir la source canonique (modèle inversé). En attendant, GitLab reste le point d'entrée pour le code.
package/DEV.md ADDED
@@ -0,0 +1,54 @@
1
+ # Développement local — consommer Concorde depuis un autre projet
2
+
3
+ ## Recommandé : `file:` (sans `yarn link`)
4
+
5
+ Dans le projet consommateur (la-billetterie, etc.) :
6
+
7
+ ```bash
8
+ yarn add @supersoniks/concorde@file:../../concorde
9
+ ```
10
+
11
+ - Pas de `yarn link` / `yarn unlink` à gérer
12
+ - Comportement proche d’un install registry
13
+ - Après modification de Concorde : `yarn build` dans concorde (génère `dist/js/` + `dist/types/`), puis rebuild du consommateur
14
+
15
+ ## Alternative : `yarn link`
16
+
17
+ Toujours supporté. Dans Concorde :
18
+
19
+ ```bash
20
+ yarn link
21
+ ```
22
+
23
+ Dans le consommateur :
24
+
25
+ ```bash
26
+ yarn link @supersoniks/concorde
27
+ ```
28
+
29
+ ### Pourquoi `vite-config` exclut Concorde du pre-bundle
30
+
31
+ Dans `vite/config.js`, quand un `tsconfig` est passé :
32
+
33
+ ```js
34
+ optimizeDeps: {
35
+ exclude: ["@supersoniks/concorde"],
36
+ // ...
37
+ }
38
+ ```
39
+
40
+ **Toujours utile** avec `yarn link` ou `file:` : Vite ne met pas Concorde en cache dans `node_modules/.vite`, donc les changements dans `dist/js/` (après `yarn build` dans Concorde) sont pris en compte au prochain HMR / rebuild.
41
+
42
+ Les exports npm pointent vers `dist/js/` (runtime) et `dist/types/` (types) — le source `src/` sert au développement de Concorde lui-même.
43
+
44
+ ## Types (`.d.ts`) et runtime (`.js`)
45
+
46
+ `yarn build` exécute `prebuild` (exports) → bundle Vite → `postbuild` (génération de `dist/types/` + `dist/js/`).
47
+
48
+ `yarn build:types` / `yarn build:js` restent disponibles pour régénérer uniquement les déclarations ou le JS.
49
+
50
+ ## Scripts la-billetterie
51
+
52
+ `link:concorde` / `unlink:concorde` dans `la-billetterie/concorde/package.json` restent valides.
53
+
54
+ `test:concorde-lib` pointe vers un fichier `resolvePublisher.spec.ts` **supprimé** — script obsolète à nettoyer côté billetterie.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Supersoniks
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,133 @@
1
+ # Point d'étape — Open Source Concorde
2
+
3
+ > Modèle retenu (phase 1) : **GitLab = source complète**, **GitHub = export filtré** (librairie seule).
4
+
5
+ Dernière mise à jour : juin 2025.
6
+
7
+ ---
8
+
9
+ ## ✅ Fait (dans ce dépôt GitLab)
10
+
11
+ | Élément | Fichier / action |
12
+ |---------|------------------|
13
+ | Licence MIT | `LICENSE` |
14
+ | Retrait Typekit inutilisé | `index.html` |
15
+ | Métadonnées npm (repo, homepage, bugs) | `package.json` |
16
+ | README mis à jour | `README.md` |
17
+ | Guide contributeurs | `CONTRIBUTING.md` |
18
+ | CI GitHub Actions | `.github/workflows/ci.yml` |
19
+ | **Liste d'exclusion GitHub** | `.github-export-ignore` |
20
+ | **Script d'export filtré** | `scripts/github-export.mjs` |
21
+ | **Job CI miroir GitHub** | `gitlab/job_github_mirror.sh` |
22
+
23
+ ### Ce qui reste sur GitLab uniquement (pas sur GitHub)
24
+
25
+ | Exclu | Raison |
26
+ |-------|--------|
27
+ | `index.html`, `src/docs/`, `src/docs.ts` | Site doc → [concorde.supersoniks.org](https://concorde.supersoniks.org/) |
28
+ | `src/core/components/ui/captcha/` | Dépend de `altcha.supersoniks.org` |
29
+ | `**/*.demo.ts` | Démos intégrées à la doc |
30
+ | `gitlab/` | CI / infra interne |
31
+
32
+ Le script retire aussi l'import captcha dans `ui.ts` et filtre les `exports` npm liés à la doc/captcha.
33
+
34
+ ---
35
+
36
+ ## ⏳ À faire de votre côté
37
+
38
+ ### 1. Merger ces changements sur GitLab
39
+
40
+ ```bash
41
+ git add LICENSE README.md CONTRIBUTING.md OPEN_SOURCE_CHECKPOINT.md \
42
+ .github-export-ignore scripts/github-export.mjs \
43
+ .github/workflows/ci.yml .gitlab-ci.yml \
44
+ gitlab/job_github_mirror.sh package.json index.html
45
+ git commit -m "Open source : export GitHub filtré (sans doc ni captcha)"
46
+ # MR vers master
47
+ ```
48
+
49
+ ### 2. Créer le dépôt GitHub public
50
+
51
+ 1. https://github.com/organizations/supersoniks → **New repository** → `concorde`
52
+ 2. **Public**, sans README initial
53
+
54
+ ### 3. Variables CI GitLab
55
+
56
+ **Settings → CI/CD → Variables** (masquées) :
57
+
58
+ | Variable | Exemple |
59
+ |----------|---------|
60
+ | `GITHUB_REPO_URL` | `https://github.com/supersoniks/concorde.git` |
61
+ | `GITHUB_TOKEN` | PAT GitHub scope `repo` |
62
+
63
+ ### 4. Premier export (manuel ou CI)
64
+
65
+ **En local :**
66
+
67
+ ```bash
68
+ node scripts/github-export.mjs /tmp/concorde-github
69
+ cd /tmp/concorde-github
70
+ git init && git add -A && git commit -m "Initial export lib"
71
+ git remote add origin git@github.com:supersoniks/concorde.git
72
+ git push -u origin master
73
+ ```
74
+
75
+ **Via GitLab CI** (après merge sur `master`) :
76
+
77
+ - Lancer le job manuel **`github-mirror`** dans la pipeline
78
+
79
+ > **Ne pas** utiliser le push mirror GitLab natif (il enverrait tout, doc + captcha inclus).
80
+
81
+ ### 5. Vérifier GitHub
82
+
83
+ ```bash
84
+ git clone https://github.com/supersoniks/concorde.git
85
+ cd concorde
86
+ yarn install && yarn test:ci
87
+ ```
88
+
89
+ - Pas de `index.html`, pas de `src/docs/`, pas de `captcha.ts`
90
+ - Pas de référence à `cdn.supersoniks.com` ni `altcha.supersoniks.org` dans le tree
91
+
92
+ ### 6. npm
93
+
94
+ ```bash
95
+ yarn build
96
+ npm publish --access public
97
+ ```
98
+
99
+ (idéalement depuis l'export filtré ou après avoir aligné `files` / `exports` npm)
100
+
101
+ ### 7. Documentation en ligne
102
+
103
+ Doc hébergée sur **https://concorde.supersoniks.org/** (build depuis GitLab, pas depuis GitHub).
104
+
105
+ ---
106
+
107
+ ## Schéma
108
+
109
+ ```
110
+ ┌──────────────────────────────────────────┐
111
+ │ GitLab (interne) — tout le dépôt │
112
+ │ doc + captcha + dev (yarn dev) + CI │
113
+ └──────────────────┬───────────────────────┘
114
+ │ scripts/github-export.mjs
115
+ │ (job github-mirror)
116
+ ▼
117
+ ┌──────────────────────────────────────────┐
118
+ │ GitHub (public) — librairie seule │
119
+ │ src/core, décorateurs, tests, CI Actions │
120
+ └──────────────────────────────────────────┘
121
+
122
+ Doc en ligne : concorde.supersoniks.org (déployée depuis GitLab)
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Checklist finale
128
+
129
+ - [ ] Export GitHub sans `cdn.supersoniks` / `altcha.supersoniks`
130
+ - [ ] `yarn test:ci` OK sur clone GitHub
131
+ - [ ] Job `github-mirror` configuré
132
+ - [ ] npm `@supersoniks/concorde` publié
133
+ - [ ] Doc accessible sur concorde.supersoniks.org
package/build-infos.json CHANGED
@@ -1 +1 @@
1
- {"date":1790843159}
1
+ {"date":1790855624}