Skip to content

fix(ci): bring ClientApp & SharePopup within the .astro LOC budget#51

Merged
alexsoyes merged 1 commit into
mainfrom
fix/validate-loc-budget
Jun 30, 2026
Merged

fix(ci): bring ClientApp & SharePopup within the .astro LOC budget#51
alexsoyes merged 1 commit into
mainfrom
fix/validate-loc-budget

Conversation

@alexsoyes

Copy link
Copy Markdown
Contributor

Problème

Le check Validate (required) échoue à chaque push/PR depuis #49. Cause : le budget LOC AC-6 (.astro ≤ 200) est dépassé par deux composants ayant grossi avec le share popup :

  • ClientApp.astro — 419 lignes
  • SharePopup.astro — 399 lignes
FAIL: src/components/signature/SharePopup.astro has 399 lines (> 200)
FAIL: src/components/ClientApp.astro has 419 lines (> 200)
##[error]Process completed with exit code 1.

Correctif (extraction verbatim, comportement préservé)

  • SharePopup : <style>src/styles/sections/share-popup.css, importé globalement dans Page.astro comme toutes les autres feuilles de section. Les classes sont toutes préfixées .share-popup-*, donc le scope global est équivalent au <style> scoped précédent.
  • ClientApp : la logique du <script> est déplacée dans des modules TS (pattern ~/lib/observers existant) :
    • ~/lib/share.tsinitSharePopup() (confetti, countdown, X / LinkedIn / Copy)
    • ~/lib/scroll.tsinitSmoothAnchors()
    • ~/lib/tweaks.tsinitTweaks(defaults)
  • La sentinelle /*EDITMODE-BEGIN*/…/*EDITMODE-END*/ et le littéral TWEAK_DEFAULTS restent dans ClientApp.astro verbatim, pour que l'éditeur parent-iframe continue de trouver les marqueurs.

Résultat : ClientApp.astro 419→51, SharePopup.astro 399→95.

Validation (= étapes exactes du job Validate)

  • npm run build
  • npm test — 52/52
  • bash tests/check-component-loc.sh — AC-6 PASS
  • Bundles vérifiés : logique de partage présente dans le JS client, CSS share-popup présent dans le bundle.

Note hors-scope (déploiement)

Le workflow Deploy to AIDD est indépendant de Validate et reste bloqué pour une autre raison : le runner self-hosted aidd-manifest est offline, donc les déploiements restent queued puis cancelled. Cela nécessite de relancer le service runner sur le serveur AIDD — ce n'est pas corrigeable par cette PR.

🤖 Generated with Claude Code

The Validate workflow (required check) has failed on every push/PR since
#49: the AC-6 component LOC budget (`.astro` ≤ 200) was breached by
ClientApp.astro (419) and SharePopup.astro (399).

Extract, verbatim and behavior-preserving:
- SharePopup `<style>` → src/styles/sections/share-popup.css (imported
  globally in Page.astro, mirroring every other section stylesheet). The
  classes are uniquely `.share-popup-*` prefixed, so global scope is
  equivalent to the previous scoped block.
- ClientApp script logic → ~/lib/share.ts (initSharePopup), ~/lib/scroll.ts
  (initSmoothAnchors), ~/lib/tweaks.ts (initTweaks), following the existing
  ~/lib/observers pattern.

The EDITMODE sentinel and TWEAK_DEFAULTS literal stay in ClientApp.astro
verbatim so the parent-iframe editor keeps finding the markers.

ClientApp.astro 419→51, SharePopup.astro 399→95. AC-6 passes; build + 52
unit tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alexsoyes alexsoyes merged commit d40ac4f into main Jun 30, 2026
1 check passed
@alexsoyes alexsoyes deleted the fix/validate-loc-budget branch June 30, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant