Vervang EOL flutter_highlight + highlight door re_highlight #1740

Closed
opened 2026-08-23 08:36:41 +00:00 by brenno · 1 comment
Owner

Achtergrond

flutter_highlight (0.7.0) en highlight (0.7.0) zijn 5 jaar niet bijgewerkt. De uploader is onverifieerd. Er is geen onderhouder meer actief. Dit is end-of-life.

Het pakket wordt gebruikt voor syntax-highlighting van codeblokken in slide previews.

Gebruik in OciDeck

Slechts 1 bestand gebruikt deze packages:

  • lib/widgets/slides/slide_preview.dart (regels 9-14) — importeert flutter_highlight en highlight voor het renderen van HighlightView widgets met taal-specifieke syntax-highlighting themas.

Het probleem

  • Geen updates meer sinds 2021
  • Onverifieerde uploader (geen publisher)
  • Geen onderhoud voor nieuwe talen, Flutter-versie compatibiliteit, of security fixes
  • pubspec.yaml heeft beide als direct dependency: flutter_highlight: ^0.7.0 en highlight: ^0.7.0

Alternatief: re_highlight

re_highlight is een actief onderhouden fork van hetzelfde project:

  • Verified publisher
  • Actief onderhouden met recente updates
  • Bevat migratiedocumentatie van highlight/flutter_highlight
  • Ondersteunt dezelfde talen en themas
  • API is grotendeels compatibel

Andere alternatieven die overwogen kunnen worden:

  • flutter_highlighting (ook actief, gebaseerd op highlighting)
  • code_highlight_view (fork met Dart 3.x support)

Aanpak

  1. Voeg re_highlight toe als dependency
  2. Verwijder flutter_highlight en highlight uit pubspec.yaml
  3. Pas lib/widgets/slides/slide_preview.dart aan naar de nieuwe API
  4. Vergelijk de rendering visueel (beeldkeuring) — de highlighting moet er hetzelfde uitzien
  5. make check groen
  6. SBOM bijwerken

Risico

Laag. Slechts 1 bestand raakt deze packages aan. De API van re_highlight is grotendeels compatibel. De rendering zou identiek moeten zijn omdat dezelfde taaldefinities en themas gebruikt worden.

## Achtergrond `flutter_highlight` (0.7.0) en `highlight` (0.7.0) zijn **5 jaar niet bijgewerkt**. De uploader is onverifieerd. Er is geen onderhouder meer actief. Dit is end-of-life. Het pakket wordt gebruikt voor syntax-highlighting van codeblokken in slide previews. ## Gebruik in OciDeck Slechts 1 bestand gebruikt deze packages: - `lib/widgets/slides/slide_preview.dart` (regels 9-14) — importeert `flutter_highlight` en `highlight` voor het renderen van `HighlightView` widgets met taal-specifieke syntax-highlighting themas. ## Het probleem - Geen updates meer sinds 2021 - Onverifieerde uploader (geen publisher) - Geen onderhoud voor nieuwe talen, Flutter-versie compatibiliteit, of security fixes - `pubspec.yaml` heeft beide als direct dependency: `flutter_highlight: ^0.7.0` en `highlight: ^0.7.0` ## Alternatief: `re_highlight` `re_highlight` is een actief onderhouden fork van hetzelfde project: - Verified publisher - Actief onderhouden met recente updates - Bevat migratiedocumentatie van `highlight`/`flutter_highlight` - Ondersteunt dezelfde talen en themas - API is grotendeels compatibel Andere alternatieven die overwogen kunnen worden: - `flutter_highlighting` (ook actief, gebaseerd op `highlighting`) - `code_highlight_view` (fork met Dart 3.x support) ## Aanpak 1. Voeg `re_highlight` toe als dependency 2. Verwijder `flutter_highlight` en `highlight` uit pubspec.yaml 3. Pas `lib/widgets/slides/slide_preview.dart` aan naar de nieuwe API 4. Vergelijk de rendering visueel (beeldkeuring) — de highlighting moet er hetzelfde uitzien 5. `make check` groen 6. SBOM bijwerken ## Risico Laag. Slechts 1 bestand raakt deze packages aan. De API van `re_highlight` is grotendeels compatibel. De rendering zou identiek moeten zijn omdat dezelfde taaldefinities en themas gebruikt worden.
Author
Owner

Licentie- en taalonderzoek

Huidige packages

Package Licentie Taal Opmerking
flutter_highlight MIT Dart (96.6%) Onderdeel van pd4d10/highlight.dart monorepo. Bevat sporen Ruby, HTML, Swift, Kotlin, Objective-C.
highlight MIT Dart (100%) Pure Dart parsing-engine voor 192 talen.

Voorgestelde vervanging: re_highlight

Package Licentie Taal Opmerking
re_highlight MIT Dart De re_highlight submodule zelf is pure Dart (getranspileerd van highlight.js). Het bredere Reqable-project bevat C/C++/Kotlin/Swift, maar dat is niet deel van dit pakket.

Overwogen alternatieven

Package Licentie Taal Opmerking
flutter_highlighting MIT Dart Akvelon-maintained port van HighlightJS. Periodiek gesynchroniseerd met JavaScript-bron via geautomatiseerd script.
highlighting MIT Dart Pure Dart port van HighlightJS (Akvelon). Kernbibliotheek voor flutter_highlighting.
code_highlight_view MIT Dart Fork van originele highlight.dart, bijgewerkt naar Dart 3.x. Hangt nog af van highlight (de EOL package).

Conclusie

Alle packages gebruiken MIT en zijn pure Dart. Geen licentie- of taalobstakels voor migratie. re_highlight en flutter_highlighting zijn beide geschikte vervangingen. code_highlight_view valt af omdat het nog afhangt van de EOL highlight-package.

## Licentie- en taalonderzoek ### Huidige packages | Package | Licentie | Taal | Opmerking | |---|---|---|---| | **flutter_highlight** | MIT | Dart (96.6%) | Onderdeel van pd4d10/highlight.dart monorepo. Bevat sporen Ruby, HTML, Swift, Kotlin, Objective-C. | | **highlight** | MIT | Dart (100%) | Pure Dart parsing-engine voor 192 talen. | ### Voorgestelde vervanging: re_highlight | Package | Licentie | Taal | Opmerking | |---|---|---|---| | **re_highlight** | MIT | Dart | De re_highlight submodule zelf is pure Dart (getranspileerd van highlight.js). Het bredere Reqable-project bevat C/C++/Kotlin/Swift, maar dat is niet deel van dit pakket. | ### Overwogen alternatieven | Package | Licentie | Taal | Opmerking | |---|---|---|---| | **flutter_highlighting** | MIT | Dart | Akvelon-maintained port van HighlightJS. Periodiek gesynchroniseerd met JavaScript-bron via geautomatiseerd script. | | **highlighting** | MIT | Dart | Pure Dart port van HighlightJS (Akvelon). Kernbibliotheek voor flutter_highlighting. | | **code_highlight_view** | MIT | Dart | Fork van originele highlight.dart, bijgewerkt naar Dart 3.x. Hangt nog af van `highlight` (de EOL package). | ### Conclusie Alle packages gebruiken **MIT** en zijn **pure Dart**. Geen licentie- of taalobstakels voor migratie. `re_highlight` en `flutter_highlighting` zijn beide geschikte vervangingen. `code_highlight_view` valt af omdat het nog afhangt van de EOL `highlight`-package.
brenno 2026-08-23 16:56:56 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1740
No description provided.