bigskysoftware / bigskysoftware/_hyperscript

ES Modules

Aperta
#284 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
3.8k
Fork
172
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

_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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Esamina la distribuzione attuale di *.modern.js e l’uso esistente di . Confronta il comportamento del browser descritto per i file .html locali, CORS e type="module". Il risultato deve essere una decisione del maintainer sull’opportunità di documentare o perseguire una distribuzione ES-module o una modifica del nome.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
web-dev
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.