bigskysoftware / bigskysoftware/_hyperscript

ES Modules

Offen
#284 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
3.8k
Forks
172
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

_Feel free to convert this into a Github Discussion._

Hello, you may be stumbling upon this thinking "why isn't the ES Module the main form of distribution for hyperscript?"

I want to have a public thread of the pitfalls for this as it will likely become re-occurring as other libraries experiment with this while hyperscript grows in popularity.

ES Modules are not a drop-in replacement for classic modules, and bring their own barriers to entry:

1. ES Modules require a server environment setup because of [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS).
1. Right now, hyperscript **just works** -- You can run plain `.html` files directly off your local disk. No server setup requirement. This is a competitive advantage and makes us an easy recommendation to newcomers of web development.
2. Playing with real hyperscript is IMHO the quickest way to make a new user. Getting to that point needs to be friction free: the language is already different enough! Someone from reddit or the orange site can download a mindblowing example like `hyperwordle.html` and tweak it straight away.
3. It will be bad for growth of the language for users to get hung up on advanced topics like CORS-- We want them to see how awesome hyperscript is without putting immediate stumbling blocks in the way.
3. ES Modules will break all sites currently using hyperscript: `` 👀 (modern browsers fail with an error unless you add `type="module"`)
1. It's worth noting this gotcha and `import` are extra knowledge not always known to newcomers outside of Node or Deno in general...

Personally I think it'd be smart to rename `*.modern.js` to `*.module.js` or `*.mjs` (or another standard), because its current form is misleading- and will lead to many fun "lets go to es modules" tickets in the future.

I love that Node / Deno got ES Modules in the browser (and its great when working in those stacks), but they are not a drop in replacement as implemented in the standard as of 2022.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Überprüfe die aktuelle *.modern.js-Distribution und die bestehende Verwendung von . Vergleiche das für lokale .html-Dateien beschriebene Browserverhalten, CORS und type="module". Abgeschlossen ist eine Maintainer-Entscheidung darüber, ob eine ES-module-Distribution oder eine Namensänderung dokumentiert oder weiterverfolgt werden soll.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
web-dev
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.