#!/bin/sh
# Concatène les sources en un bundle unique dist/html-builder.js.
# Pas de bundler/npm : simple cat, ordre explicite (dépendances avant usage).
set -e

cd "$(dirname "$0")"

OUT=dist/html-builder.js

{
    echo '/* html-builder.js — généré par build.sh, ne pas éditer directement. Source : src/ */'
    echo '(function () {'
    echo '"use strict";'

    echo 'const EDITOR_CSS = `'
    cat src/css/editor.css
    echo '`;'

    cat src/core/escape.js
    cat src/core/registry.js
    cat src/core/theme.js
    cat src/core/blocks-builtin.js
    cat src/core/state.js
    cat src/core/snippets.js
    cat src/renderers/renderer-text.js
    cat src/renderers/renderer-email.js
    cat src/renderers/renderer-web.js
    cat src/ui/editor.template.js
    cat src/ui/editor.alpine.js
    cat src/core/widget.js

    echo '})();'
} > "$OUT"

echo "Bundle écrit : $OUT ($(wc -c < "$OUT") octets)"

# Bloc "social" : optionnel, chargé par l'hôte séparément — pas dans l'IIFE
# principale, doit pouvoir s'exécuter APRÈS html-builder.js sur la page hôte.
SOCIAL_OUT=dist/html-builder-block-social.js
{
    echo '/* html-builder-block-social.js — généré par build.sh. Source : src/blocks/social.js */'
    cat src/blocks/social.js
} > "$SOCIAL_OUT"
echo "Bundle écrit : $SOCIAL_OUT ($(wc -c < "$SOCIAL_OUT") octets)"
