@supersoniks/concorde 4.6.0 → 4.7.0

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 (179) hide show
  1. package/.gitlab-ci.yml +23 -0
  2. package/README.md +106 -55
  3. package/ai/AGENTS.md +52 -0
  4. package/ai/README.md +30 -0
  5. package/ai/cursor/rules/concorde-menu.mdc +15 -0
  6. package/ai/cursor/rules/concorde-scope.mdc +14 -0
  7. package/ai/cursor/rules/concorde-theme.mdc +13 -0
  8. package/ai/cursor/rules/concorde.mdc +49 -0
  9. package/ai/jetbrains/rules/concorde.md +39 -0
  10. package/ai/skills/concorde/SKILL.md +220 -0
  11. package/ai/skills/concorde-get-set-dp/SKILL.md +194 -0
  12. package/ai/skills/concorde-imports/SKILL.md +78 -0
  13. package/ai/skills/concorde-menu/SKILL.md +74 -0
  14. package/ai/skills/concorde-scope/SKILL.md +70 -0
  15. package/ai/skills/concorde-theme/SKILL.md +46 -0
  16. package/build-infos.json +1 -1
  17. package/concorde-core.bundle.js +127 -127
  18. package/concorde-core.es.js +1435 -1364
  19. package/dist/altcha-widget.js +2662 -0
  20. package/dist/concorde-core.bundle.js +127 -127
  21. package/dist/concorde-core.es.js +1435 -1364
  22. package/dist/docs-mock-api-sw.js +589 -0
  23. package/dist/docs-mock-api-sw.js.map +7 -0
  24. package/docs/altcha-widget.js +2662 -0
  25. package/docs/assets/index-D9pxaQYK.js +7508 -0
  26. package/docs/assets/index-t0-i22oI.css +1 -0
  27. package/docs/docs-mock-api-sw.js +589 -0
  28. package/docs/docs-mock-api-sw.js.map +7 -0
  29. package/docs/index.html +2 -2
  30. package/docs/src/core/components/functional/fetch/fetch.md +13 -11
  31. package/docs/src/core/components/functional/if/if.md +4 -11
  32. package/docs/src/core/components/functional/list/list.md +60 -194
  33. package/docs/src/core/components/functional/queue/queue.md +70 -85
  34. package/docs/src/core/components/functional/router/router.md +62 -97
  35. package/docs/src/core/components/functional/states/states.md +2 -2
  36. package/docs/src/core/components/functional/submit/submit.md +86 -55
  37. package/docs/src/core/components/ui/captcha/captcha.md +2 -2
  38. package/docs/src/core/components/ui/card/card.md +1 -1
  39. package/docs/src/core/components/ui/form/checkbox/checkbox.md +5 -32
  40. package/docs/src/core/components/ui/form/input/input.md +5 -30
  41. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +6 -4
  42. package/docs/src/core/components/ui/form/radio/radio.md +5 -32
  43. package/docs/src/core/components/ui/form/select/select.md +5 -31
  44. package/docs/src/core/components/ui/form/switch/switch.md +5 -32
  45. package/docs/src/core/components/ui/loader/loader.md +1 -13
  46. package/docs/src/core/components/ui/table/table.md +3 -3
  47. package/docs/src/docs/_core-concept/dataFlow.md +73 -0
  48. package/docs/src/docs/_core-concept/subscriber.md +9 -10
  49. package/docs/src/docs/_decorators/ancestor-attribute.md +4 -3
  50. package/docs/src/docs/_decorators/auto-subscribe.md +19 -16
  51. package/docs/src/docs/_decorators/bind.md +20 -17
  52. package/docs/src/docs/_decorators/get.md +7 -4
  53. package/docs/src/docs/_decorators/handle.md +171 -0
  54. package/docs/src/docs/_decorators/on-assign.md +99 -73
  55. package/docs/src/docs/_decorators/publish.md +2 -1
  56. package/docs/src/docs/_decorators/subscribe.md +70 -9
  57. package/docs/src/docs/_decorators/wait-for-ancestors.md +13 -10
  58. package/docs/src/docs/_directives/sub.md +91 -0
  59. package/docs/src/docs/_getting-started/ai-agents.md +56 -0
  60. package/docs/src/docs/_getting-started/concorde-manual-install.md +133 -0
  61. package/docs/src/docs/_getting-started/concorde-outside.md +13 -123
  62. package/docs/src/docs/_getting-started/create-a-component.md +2 -0
  63. package/docs/src/docs/_getting-started/my-first-component.md +236 -0
  64. package/docs/src/docs/_getting-started/my-first-subscriber.md +29 -83
  65. package/docs/src/docs/_getting-started/pubsub.md +21 -134
  66. package/docs/src/docs/_getting-started/start.md +26 -18
  67. package/docs/src/docs/_misc/api-configuration.md +79 -0
  68. package/docs/src/docs/_misc/dataProviderKey.md +38 -5
  69. package/docs/src/docs/_misc/docs-mock-api.md +60 -0
  70. package/docs/src/docs/_misc/endpoint.md +2 -1
  71. package/docs/src/docs/_misc/html-integration.md +13 -0
  72. package/docs/src/docs/search/docs-search.json +4163 -873
  73. package/docs/src/tsconfig.json +380 -317
  74. package/gitlab/job_tests.sh +55 -0
  75. package/package.json +34 -3
  76. package/public/altcha-widget.js +2662 -0
  77. package/public/docs-mock-api-sw.js +589 -0
  78. package/public/docs-mock-api-sw.js.map +7 -0
  79. package/scripts/ai-init.mjs +167 -0
  80. package/scripts/docs-mock-api-vite-plugin.ts +116 -0
  81. package/scripts/docs-open-in-editor-plugin.ts +130 -0
  82. package/scripts/pre-publish.mjs +2 -1
  83. package/src/core/components/functional/example/example.ts +1 -1
  84. package/src/core/components/functional/fetch/fetch.md +13 -11
  85. package/src/core/components/functional/if/if.md +4 -11
  86. package/src/core/components/functional/list/list.demo.ts +4 -4
  87. package/src/core/components/functional/list/list.md +60 -194
  88. package/src/core/components/functional/list/list.ts +8 -7
  89. package/src/core/components/functional/queue/queue.demo.ts +1 -1
  90. package/src/core/components/functional/queue/queue.md +70 -85
  91. package/src/core/components/functional/queue/queue.ts +4 -4
  92. package/src/core/components/functional/router/router.md +62 -97
  93. package/src/core/components/functional/router/router.ts +1 -1
  94. package/src/core/components/functional/states/states.md +2 -2
  95. package/src/core/components/functional/submit/submit.md +86 -55
  96. package/src/core/components/functional/submit/submit.ts +10 -3
  97. package/src/core/components/ui/captcha/captcha.md +2 -2
  98. package/src/core/components/ui/card/card.md +1 -1
  99. package/src/core/components/ui/form/checkbox/checkbox.md +5 -32
  100. package/src/core/components/ui/form/input/input.md +5 -30
  101. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +6 -4
  102. package/src/core/components/ui/form/radio/radio.md +5 -32
  103. package/src/core/components/ui/form/select/select.md +5 -31
  104. package/src/core/components/ui/form/switch/switch.md +5 -32
  105. package/src/core/components/ui/loader/loader.md +1 -13
  106. package/src/core/components/ui/table/table.md +3 -3
  107. package/src/core/directives/DataProvider.sub.spec.ts +96 -0
  108. package/src/core/directives/DataProvider.ts +109 -40
  109. package/src/core/utils/PublisherProxy.ts +33 -18
  110. package/src/core/utils/dataProviderKey.ts +23 -0
  111. package/src/core/utils/publisherPathKey.spec.ts +58 -0
  112. package/src/docs/_core-concept/dataFlow.md +73 -0
  113. package/src/docs/_core-concept/subscriber.md +9 -10
  114. package/src/docs/_decorators/ancestor-attribute.md +4 -3
  115. package/src/docs/_decorators/auto-subscribe.md +19 -16
  116. package/src/docs/_decorators/bind.md +19 -16
  117. package/src/docs/_decorators/get.md +7 -4
  118. package/src/docs/_decorators/handle.md +15 -13
  119. package/src/docs/_decorators/on-assign.md +53 -53
  120. package/src/docs/_decorators/publish.md +2 -1
  121. package/src/docs/_decorators/subscribe.md +70 -9
  122. package/src/docs/_decorators/wait-for-ancestors.md +13 -10
  123. package/src/docs/_directives/sub.md +91 -0
  124. package/src/docs/_getting-started/ai-agents.md +56 -0
  125. package/src/docs/_getting-started/concorde-manual-install.md +133 -0
  126. package/src/docs/_getting-started/concorde-outside.md +13 -123
  127. package/src/docs/_getting-started/create-a-component.md +2 -0
  128. package/src/docs/_getting-started/my-first-component.md +236 -0
  129. package/src/docs/_getting-started/my-first-subscriber.md +29 -83
  130. package/src/docs/_getting-started/pubsub.md +21 -134
  131. package/src/docs/_getting-started/start.md +26 -18
  132. package/src/docs/_misc/api-configuration.md +79 -0
  133. package/src/docs/_misc/dataProviderKey.md +34 -1
  134. package/src/docs/_misc/docs-mock-api.md +60 -0
  135. package/src/docs/_misc/endpoint.md +2 -1
  136. package/src/docs/_misc/html-integration.md +13 -0
  137. package/src/docs/code.ts +58 -12
  138. package/src/docs/components/docs-demo-sources.ts +397 -0
  139. package/src/docs/components/docs-lit-demo-raw.ts +28 -0
  140. package/src/docs/components/docs-lit-demo.ts +166 -0
  141. package/src/docs/components/docs-source-link.ts +72 -0
  142. package/src/docs/docs-location.ts +54 -0
  143. package/src/docs/docs.ts +12 -0
  144. package/src/docs/example/decorators-demo-bind-demos.ts +41 -46
  145. package/src/docs/example/decorators-demo-geo.ts +16 -11
  146. package/src/docs/example/decorators-demo-init.ts +2 -228
  147. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +54 -14
  148. package/src/docs/example/decorators-demo.ts +71 -70
  149. package/src/docs/example/docs-api-config-demos.ts +234 -0
  150. package/src/docs/example/docs-joke-demos.ts +297 -0
  151. package/src/docs/example/docs-list-demos.ts +179 -0
  152. package/src/docs/example/docs-provider-keys.ts +315 -0
  153. package/src/docs/example/docs-queue-demos.ts +114 -0
  154. package/src/docs/example/docs-router-demos.ts +89 -0
  155. package/src/docs/example/docs-submit-demos.ts +455 -0
  156. package/src/docs/example/docs-toggle-demos.ts +73 -0
  157. package/src/docs/example/docs-user-two-scopes.ts +37 -0
  158. package/src/docs/example/docs-users-list.ts +71 -0
  159. package/src/docs/example/users.ts +41 -24
  160. package/src/docs/mock-api/api-config-mock.ts +152 -0
  161. package/src/docs/mock-api/fixtures.ts +377 -0
  162. package/src/docs/mock-api/register.ts +25 -0
  163. package/src/docs/mock-api/router.ts +234 -0
  164. package/src/docs/mock-api/service-worker.ts +23 -0
  165. package/src/docs/mock-api/urls.ts +11 -0
  166. package/src/docs/navigation/navigation.ts +39 -7
  167. package/src/docs/search/docs-search.json +4021 -936
  168. package/src/docs/search/markdown-renderer.ts +7 -3
  169. package/src/docs/search/page.ts +11 -14
  170. package/src/docs/search/sonic-code-markdown.spec.ts +29 -0
  171. package/src/docs/search/sonic-code-markdown.ts +28 -0
  172. package/src/docs.ts +4 -0
  173. package/src/tsconfig.json +87 -0
  174. package/src/tsconfig.tsbuildinfo +1 -1
  175. package/vite.config.mts +8 -0
  176. package/docs/assets/index-CaysOMFz.js +0 -5046
  177. package/docs/assets/index-D8mGoXzF.css +0 -1
  178. package/docs/src/docs/_misc/templates-demo.md +0 -19
  179. package/src/docs/_misc/templates-demo.md +0 -19
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env bash
2
+ # Tests CI de concorde : install + vitest (sans watch).
3
+ #
4
+ # Contexte : le runner shell (ssks7, hôte manu) checkout le code dans $CI_PROJECT_DIR
5
+ # (sous /home/gitlab-runner/...), invisible depuis le conteneur nodejs.
6
+ # Le conteneur nodejs monte /usr2/sites -> /sites. On copie donc le code du runner vers
7
+ # un dossier CI DÉDIÉ et appartenant au runner : /usr2/sites/concorde-ci/<branche>
8
+ # (= /sites/concorde-ci/<branche> dans le conteneur), puis on lance yarn dans le conteneur
9
+ # nodejs existant via /scripts/cmd-yes.sh. Aucune image construite.
10
+ #
11
+ # Pré-requis (une seule fois, en root sur manu) :
12
+ # sudo mkdir -p /usr2/sites/concorde-ci
13
+ # sudo chown -R gitlab-runner:gitlab-runner /usr2/sites/concorde-ci
14
+ #
15
+ # Concorde n'est PAS un workspace -> commandes yarn directes.
16
+ #
17
+ # see also: https://docs.gitlab.com/ci/variables/predefined_variables/
18
+ #
19
+ set -euo pipefail
20
+
21
+ NODEJS_CONTAINER=nodejs
22
+ SITE_BASE="/usr2/sites/concorde-ci"
23
+
24
+ # En pipeline de Merge Request, CI_COMMIT_BRANCH est vide -> fallback sur CI_COMMIT_REF_NAME.
25
+ BRANCH="${CI_COMMIT_BRANCH:-${CI_COMMIT_REF_NAME:-ci}}"
26
+ SITE_PATH="$SITE_BASE/$BRANCH"
27
+ SITE_CONTAINER_PATH="/sites/concorde-ci/$BRANCH"
28
+
29
+ # On exécute le conteneur avec l'uid du runner (cohérence des droits en écriture).
30
+ RUN_UID="$(id -u):$(id -g)"
31
+
32
+ echo "=== Configuration ==="
33
+ echo "- CI_PROJECT_DIR '$CI_PROJECT_DIR'"
34
+ echo "- BRANCH '$BRANCH'"
35
+ echo "- SITE_PATH '$SITE_PATH'"
36
+ echo "- SITE_CONTAINER_PATH '$SITE_CONTAINER_PATH'"
37
+ echo "- RUN_UID '$RUN_UID'"
38
+ echo "- NODEJS_CONTAINER '$NODEJS_CONTAINER'"
39
+
40
+ # --------------------------------------------------------
41
+ echo "=== Copie du code vers $SITE_PATH ==="
42
+ mkdir -p "$SITE_PATH"
43
+ # node_modules conservé d'un run à l'autre (install plus rapide), .git inutile ici.
44
+ rsync -a --delete --exclude '.git' --exclude 'node_modules' "$CI_PROJECT_DIR/" "$SITE_PATH/"
45
+
46
+ # --------------------------------------------------------
47
+ echo "=== yarn install (conteneur nodejs) ==="
48
+ docker exec -u "$RUN_UID" -e HOME=/tmp "$NODEJS_CONTAINER" \
49
+ bash /scripts/cmd-yes.sh "$SITE_CONTAINER_PATH" yarn --non-interactive install --frozen-lockfile
50
+
51
+ echo "=== yarn test:ci (conteneur nodejs) ==="
52
+ docker exec -u "$RUN_UID" -e HOME=/tmp "$NODEJS_CONTAINER" \
53
+ bash /scripts/cmd-yes.sh "$SITE_CONTAINER_PATH" yarn --non-interactive test:ci
54
+
55
+ echo "=== All done. ==="
package/package.json CHANGED
@@ -1,18 +1,20 @@
1
1
  {
2
2
  "name": "@supersoniks/concorde",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "",
7
7
  "scripts": {
8
- "dev": "node scripts/create-search.js && vite --host 0.0.0.0 --port 3000",
8
+ "dev": "node scripts/create-search.js && LIB_NAME=docs vite --host 0.0.0.0 --port 3000",
9
9
  "prebuild": "node scripts/pre-build.mjs",
10
10
  "postbuild": "node scripts/post-build.mjs",
11
11
  "build": "tsc --build src/tsconfig.json && vite build",
12
12
  "build-docs": "LIB_NAME=docs vite build",
13
13
  "postbuild-docs": "node scripts/post-build-docs.js",
14
14
  "prepublishOnly": "node scripts/pre-publish.mjs",
15
- "test": "vitest --reporter verbose --watch"
15
+ "test": "vitest --reporter verbose --watch",
16
+ "test:ci": "vitest run --reporter verbose",
17
+ "ai-init": "node scripts/ai-init.mjs"
16
18
  },
17
19
  "exports": {
18
20
  "./core/components/ui/icon/icons.json": "./src/core/components/ui/icon/icons.json",
@@ -298,6 +300,7 @@
298
300
  "./decorators/subscriber/subscribe.spec": "./src/core/decorators/subscriber/subscribe.spec.ts",
299
301
  "./decorators/subscriber/subscribe": "./src/core/decorators/subscriber/subscribe.ts",
300
302
  "./decorators/subscriber/subscribe.type-test": "./src/core/decorators/subscriber/subscribe.type-test.ts",
303
+ "./directives/DataProvider.sub.spec": "./src/core/directives/DataProvider.sub.spec.ts",
301
304
  "./directives/DataProvider": "./src/core/directives/DataProvider.ts",
302
305
  "./directives/Wording": "./src/core/directives/Wording.ts",
303
306
  "./mixins/Fetcher": "./src/core/mixins/Fetcher.ts",
@@ -322,24 +325,52 @@
322
325
  "./utils/dataProviderKey": "./src/core/utils/dataProviderKey.ts",
323
326
  "./utils/endpoint.spec": "./src/core/utils/endpoint.spec.ts",
324
327
  "./utils/endpoint": "./src/core/utils/endpoint.ts",
328
+ "./utils/publisherPathKey.spec": "./src/core/utils/publisherPathKey.spec.ts",
325
329
  "./utils/route.spec": "./src/core/utils/route.spec.ts",
326
330
  "./utils/route": "./src/core/utils/route.ts",
327
331
  "./utils/url-pattern": "./src/core/utils/url-pattern.ts",
328
332
  "./code": "./src/docs/code.ts",
333
+ "./docs-demo-sources": "./src/docs/components/docs-demo-sources.ts",
334
+ "./undefined/docs-demo-sources": "./src/docs/components/docs-demo-sources.ts",
335
+ "./docs-lit-demo-raw": "./src/docs/components/docs-lit-demo-raw.ts",
336
+ "./undefined/docs-lit-demo-raw": "./src/docs/components/docs-lit-demo-raw.ts",
337
+ "./docs-lit-demo": "./src/docs/components/docs-lit-demo.ts",
338
+ "./undefined/docs-lit-demo": "./src/docs/components/docs-lit-demo.ts",
339
+ "./docs-source-link": "./src/docs/components/docs-source-link.ts",
340
+ "./undefined/docs-source-link": "./src/docs/components/docs-source-link.ts",
341
+ "./docs-location": "./src/docs/docs-location.ts",
329
342
  "./docs": "./src/docs/docs.ts",
330
343
  "./example/decorators-demo-bind-demos": "./src/docs/example/decorators-demo-bind-demos.ts",
331
344
  "./example/decorators-demo-geo": "./src/docs/example/decorators-demo-geo.ts",
332
345
  "./example/decorators-demo-init": "./src/docs/example/decorators-demo-init.ts",
333
346
  "./example/decorators-demo-subscribe-publish-get-demos": "./src/docs/example/decorators-demo-subscribe-publish-get-demos.ts",
334
347
  "./example/decorators-demo": "./src/docs/example/decorators-demo.ts",
348
+ "./example/docs-api-config-demos": "./src/docs/example/docs-api-config-demos.ts",
349
+ "./example/docs-joke-demos": "./src/docs/example/docs-joke-demos.ts",
350
+ "./example/docs-list-demos": "./src/docs/example/docs-list-demos.ts",
351
+ "./example/docs-provider-keys": "./src/docs/example/docs-provider-keys.ts",
352
+ "./example/docs-queue-demos": "./src/docs/example/docs-queue-demos.ts",
353
+ "./example/docs-router-demos": "./src/docs/example/docs-router-demos.ts",
354
+ "./example/docs-submit-demos": "./src/docs/example/docs-submit-demos.ts",
355
+ "./example/docs-toggle-demos": "./src/docs/example/docs-toggle-demos.ts",
356
+ "./example/docs-user-two-scopes": "./src/docs/example/docs-user-two-scopes.ts",
357
+ "./example/docs-users-list": "./src/docs/example/docs-users-list.ts",
335
358
  "./example/users": "./src/docs/example/users.ts",
336
359
  "./header/header": "./src/docs/header/header.ts",
337
360
  "./layout": "./src/docs/layout.ts",
361
+ "./mock-api/api-config-mock": "./src/docs/mock-api/api-config-mock.ts",
362
+ "./mock-api/fixtures": "./src/docs/mock-api/fixtures.ts",
363
+ "./mock-api/register": "./src/docs/mock-api/register.ts",
364
+ "./mock-api/router": "./src/docs/mock-api/router.ts",
365
+ "./mock-api/service-worker": "./src/docs/mock-api/service-worker.ts",
366
+ "./mock-api/urls": "./src/docs/mock-api/urls.ts",
338
367
  "./navigation/navigation": "./src/docs/navigation/navigation.ts",
339
368
  "./prism/index": "./src/docs/prism/index.ts",
340
369
  "./search/markdown-renderer": "./src/docs/search/markdown-renderer.ts",
341
370
  "./search/page": "./src/docs/search/page.ts",
342
371
  "./search/search": "./src/docs/search/search.ts",
372
+ "./search/sonic-code-markdown.spec": "./src/docs/search/sonic-code-markdown.spec.ts",
373
+ "./search/sonic-code-markdown": "./src/docs/search/sonic-code-markdown.ts",
343
374
  "./tailwind/css/tailwind.d": "./src/docs/tailwind/css/tailwind.d.ts",
344
375
  "./tailwind/css.d": "./src/docs/tailwind/css.d.ts",
345
376
  "./tailwind/index": "./src/docs/tailwind/index.ts",