Skip to content

Add optional SSL support for visual addon development and Bun installation#28

Open
vradosta wants to merge 1 commit intoshoptet:mainfrom
vradosta:main
Open

Add optional SSL support for visual addon development and Bun installation#28
vradosta wants to merge 1 commit intoshoptet:mainfrom
vradosta:main

Conversation

@vradosta
Copy link

Ahoj týme! 👋

Díky moc za tento skvělý nástroj, opravdu zjednodušuje práci při vývoji vizuálních addonů. Napadlo mě se podělit o pár vylepšení, která by mohla pomoct i dalším vývojářům.

Co to přidává?

1. Volitelná SSL podpora přes BrowserSync

Když už BrowserSync podporuje HTTPS, tak jsem přidal možnost to zapnout přes --ssl flag. Je to úplně opt-in, takže to nic nerozbije.

Výhody pro vývoj vizuálních addonů:

  • Plná funkcionalita košíku - přidávání produktů a notifikace fungují bez problémů
  • AJAX volání bez omezení - čistá komunikace s HTTPS API
  • Testování moderních funkcí - Service Workers a PWA features s HTTPS
  • Payment gateway integrace - spolehlivé testování platebních bran
  • Sdílení a testování v týmu - jednoduché testování na mobilech a tabletech přes síť

Co to přináší:
SSL podpora umožňuje testovat vizuální addony ve stejném prostředí jako produkce, což výrazně usnadňuje vývoj funkcí jako košík, notifikace a platební integrace.

Jak to použít:

shp-bender --remote https://classic.shoptet.cz/ --ssl
# Nebo v config.json: "ssl": true

Přístup: https://127-0-0-1.my.local-ip.co:3010

  • Žádná browser warnings (trusted certifikáty z local-ip.co)
  • Funguje na všech zařízeních v síti

2. Podpora pro Bun (volitelné)

Bun je ~60% rychlejší při instalaci balíčků, takže jsem přidal podporu. Runtime furt běží na Node.js (kvůli SSL kompatibilitě s BrowserSync), jen instalace je rychlejší.

# Instalace přes Bun (rychlejší)
bun install -g git+https://github.com/shoptet/shoptet-bender.git

# CLI běží stejně (Node.js)
shp-bender --remote https://classic.shoptet.cz/

Zpětná kompatibilita

✅ 100% backward compatible
✅ SSL je opt-in (bez --ssl funguje stejně jako předtím)
✅ Žádné breaking changes
✅ Minimální změny v kódu (4 upravené soubory, 5 nových)

Co se změnilo v kódu?

Upravené soubory:

  • cli.js - přidán --ssl flag
  • index.js - SSL konfigurace pro BrowserSync (~12 řádků)
  • package.json - upgrade commander a glob (fix deprecation warnings)
  • .gitignore - přidány lock files

Nové soubory:

  • lib/ssl-utils.js - utility pro SSL (IP detekce, cert paths)
  • certs/ - SSL certifikáty z local-ip.co
  • bunfig.toml - Bun konfigurace

Testováno

✅ Windows/macOS/Linux
✅ Node.js 18+, Bun 1.0+
✅ Chrome, Edge, Firefox, Safari
✅ HTTP režim (beze změny)
✅ HTTPS režim (--ssl)
✅ Bun instalace

Bezpečnostní poznámka

⚠️ SSL certifikáty z local-ip.co jsou veřejné a sdílené všemi uživateli. Hodí se jen pro lokální development, nikdy ne na produkci. To je jasně zdokumentováno v README a certs/README.md.


Jsem otevřený feedbacku a připraven upravit podle vašich požadavků! Cílem bylo přidat užitečné funkce s minimálními změnami a zachovat plnou zpětnou kompatibilitu.

Pokud budou další nápady na vylepšení, rád pomohu s implementací. Těším se na diskusi!

S pozdravem,
Radosta Vojtěch

Added optional HTTPS support via local-ip.co certificates and Bun package manager support for faster installations.

Features:
- SSL/HTTPS support with --ssl flag (opt-in)
- Enables full cart functionality and notifications in dev mode
- AJAX calls work without CORS errors
- Service Workers and PWA features testable locally
- Payment gateway integrations work reliably
- Team sharing via network (mobile/tablet testing)
- Bun support for faster package installation (~60% faster)

Changes:
- Added --ssl CLI flag to enable HTTPS mode
- Added lib/ssl-utils.js for SSL utilities
- Included local-ip.co SSL certificates in certs/
- Updated package.json: commander ^12.1.0, glob ^11.1.0
- Added bunfig.toml for Bun configuration
- Removed yarn.lock from tracking
- Updated .gitignore for lock files and IDE folders

Backward compatibility:
- 100% backward compatible
- SSL is opt-in (default behavior unchanged)
- No breaking changes
- Minimal code changes (4 modified files, 5 new files)

Tested:
- Windows/macOS/Linux
- Node.js 18+, Bun 1.0+
- Chrome, Edge, Firefox, Safari
- HTTP mode (no changes)
- HTTPS mode with --ssl flag
- No deprecation warnings
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