graphprotocol / graphprotocol/graph-node

Synchronize AssemblyScript versions between packages

Offen
#6,044 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

area/runtime area/ts enhancement
Vorherrschende Sprache
Rust
Sterne
3.2k
Forks
1.1k
Ø Merge
4 T. 1 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Description

Environment

  • @graphprotocol/graph-cli v0.97.1, which uses assemblyscript v0.19.23
  • @graphprotocol/graph-ts v0.38.1, which uses assemblyscript v0.27.31

Problem

keywords: assemblyscript, equality, string checks, string comparison, null check, ==, ===, !=, !==

In previous versions of graph-ts, we were able to perform null checks using ==. But now, in the latest versions, we are forced to use === (otherwise, we get all sorts of errors at build time).

I wouldn't have a problem with using ===, but we are also forced to use == for string comparisons.

This is a super error-prone design where the maintainers have to remember to use slightly different operators for different types.

Solution

Upgrade to AssemblyScript v0.20, in which the === operator no longer checks for strict object equality.

https://github.com/AssemblyScript/assemblyscript/issues/621

Are you aware of any blockers that must be resolved before implementing this feature? If so, which? Link to any relevant GitHub issues.

No response

Some information to help us out
  • Tick this box if you plan on implementing this feature yourself.
  • I have searched the issue tracker to make sure this issue is not a duplicate.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Vergleiche die AssemblyScript-Abhängigkeitsdeklarationen für @graphprotocol/graph-cli und @graphprotocol/graph-ts, beginnend mit den Paketmetadaten und der Build-Konfiguration für jedes Paket. Bestätige, dass das erforderliche AssemblyScript-Upgrade mit beiden Paketen kompatibel ist, und validiere, dass Nullprüfungen und Stringvergleiche erfolgreich gebaut werden; abgeschlossen ist die Aufgabe, wenn beide Pakete die synchronisierte Version verwenden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Bereich
build-system, tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

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