Kolumne: News.JS

News.JS: Die Geschichte vom unsicheren npm-Package, neues von ECMAScript und eine Anwendung, eine Datei
Keine Kommentare

Eine Anwendung in nur eine Datei stecken, aber keinen Monolithen bauen – das geht! Außerdem stehen weitere Features für ECMAScript 2019 fest. Und: Die Geschichte vom unsicheren npm-Package wurde bereits im Januar geschrieben. Nicht erst im September, als event-stream infiziert wurde.

Dieses Mal zum Wochenanfang statt zum Ende der Woche: Heute geht es in den News.JS darum, dass man auch ohne monolithischen Code am Ende nur eine Datei haben kann, sowie um eine Geschichte, die von der Realität eingeholt wurde. Außerdem gibt es Neuigkeiten zu ECMAScript 2019.

Die Geschichte vom unsicheren npm-Package

Es war einmal ein Autor, der beschrieb auf Hackernoon, wie leicht man Kreditkartendaten und Passwörter stehlen könne. Ein paar Zeilen Code und schon fließen ihm all die Daten zu, die er gerne hätte! Zumindest in der Theorie, da David Gilbertson natürlich ein ehrlicher Mensch ist, wie er in seinem Beitrag vom Januar ebenfalls hervorhebt. Allerdings scheint er prophetische Fähigkeiten zu haben:

„Lucky for me, we live in an age where people install npm packages like they’re popping pain killers.“

Wenn man also Schadcode in ein npm-Package einschleuse und gut verstecke, könne man damit auf recht einfache Weise eine große Zahl an Projekte infizieren.

Das kommt einem nach den Ereignissen der vergangenen Woche doch bekannt vor? Ja: Genau das ist bei event-stream passiert. Die im Januar erzählte Geschichte wurde im November von den realen Ereignissen eingeholt. Und es dauerte bis Ende November, bis es jemandem auffiel.

Das Neuste von ECMAScript

Vor wenigen Tagen ist das TC39, das Komitee hinter ECMAScript, wieder zusammengetreten. Was hat sich dort getan? Ein Meetingprotokoll gibt es leider noch nicht, aber immerhin Updates für ein paar Proposals. Neben den zwei bereits bekannten Features für ECMAScript 2019 haben es nun zwei weitere Features auf die Liste der fertigen Proposals (Stage 4) geschafft: Eines davon ist ein Proposal, das verschiedene Neuerungen an Function.prototype.toString umfasst. Die genauen Ziele des Proposals, die offenbar erreicht wurden, können in der Specification nachgelesen werden. Mehr als zwei Jahre hat es gedauert, diese Neuerungen auf die Stufe zur Aufnahme in den Standard zu bringen – und die Ziele des Proposals haben sich in der Zeit wieder und wieder verändert. Auch das zweite neue Feature war nicht schneller, ist laut Specification aber doch weniger komplex: Statt Symbol.prototype.toString zu verwenden um den internen Slot mit der Beschreibung eines Symbols zu öffnen, kann auch der direkte Weg über Symbol.prototype.description gewählt werden. Diese Option wird zu ECMAScript 2019 Eingang in den Standard finden.

Single File Component? Single File Application!

Single File Components sind inzwischen ein bekanntes Konzept, nicht nur aus Vue.js: Eine Komponente ist eine Datei und alles was darüber hinaus geht kommt in die nächste Datei. Ganz einfach, oder? NCC macht quasi das Gegenteil: Das CLI-Programm für Node.js Projekte bündelt eine ganze Anwendung in einer einzigen Datei und nimmt auch alle Dependencies gleich mit. Dabei wird den GCC-Standards gefolgt. Anhänger der Single File Components könnten sich nun fragen: Warum? Die Entwickler Guy Bedford, Guillermo Rauch, Tobias Koppers, Tim Neutkens und Igor Klopov erläutern in ihrer Vorstellung des noch jungen Projekts, dass sie ihre Inspiration aus nativen Compiler-Toolchains wie der von Go bezogen haben. Und wie haben sie das umgesetzt? Mit Webpack. Was auch sonst. Das Projekt kann auf GitHub gefunden werden. Mit dem derzeit verfügbaren initialen Release gibt es allerdings noch ein paar Probleme auszumerzen, auf die Entwickler achten sollten, die das Programm nutzen möchten.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -