Das Typings-Projekt (https://github.com/typings/typings) hat sich weiterentwickelt und kann derzeit DefinitelyTyped als Teil des Ökosystems nutzen. Diese Verbesserung hat die TSD-Wartung effektiv überflüssig gemacht, und im Laufe der Zeit sollten Definitionen als externe Module mit typings.json
oder inline mit Bibliotheken konvertiert werden, damit der TypeScript-Compiler direkt konsumieren kann.
Dieses Problem wird geschlossen, wenn eine offizielle Website für Typings erstellt wird und auf eine verbesserte Dokumentation verlinkt werden kann. Derzeit dient es als Hinweis für neue oder bestehende Benutzer.
Um mit der Installation von Typdefinitionen von DefinitelyTyped fortzufahren, denken Sie daran, das Flag --ambient
verwenden (alles in DefinitelyTyped ist im Wesentlichen "global"). Wenn Sie beabsichtigen, eine Bibliothek mit Abhängigkeiten ohne Typdefinitionen zu veröffentlichen (zB Sie haben Typisierungen von DefinitelyTyped/Typings installiert), müssen Sie sicherstellen, dass es sich um Abhängigkeiten (und nicht um Ambient) handelt. Das Kernproblem bei globalen Abhängigkeiten sind Wartung und Konflikte.
typings install node --save --ambient
Auf TSD-PRs und -Probleme wird weiterhin reagiert, aber die Entwicklung ist effektiv EOL. Wenn ein anderer Entwickler die Wartung und/oder Entwicklung übernehmen möchte, können Sie gerne dazu beitragen. Bestehende Probleme sollten bereits mit Typings gelöst werden, aber wenn Sie etwas finden, das nicht funktioniert, machen Sie ein Problem in Typings.
Links: https://github.com/DefinitelyTyped/tsd/issues/150 , https://github.com/typings/discussions/issues/5 und https://github.com/typings/typings/issues/125.
Bearbeiten: Typings hat einen Upgrade-Befehl für TSD-Benutzer implementiert. Beim Aktualisieren wird nur das Format von tsd.json
in typings.json
konvertiert. Möglicherweise müssen Sie zusätzliche Anpassungen vornehmen (z. B. das Korrigieren jetzt entfernter Referenzen).
typings init --upgrade
:+1:
für Referenzen zum Upgrade von tsd
Webpack+Typoskript
https://github.com/angular/universal-starter/commit/cfb7b52b12e1da9de7ee7c2a452e7636c93aaa09
gulpjs+Typoskript
https://github.com/angular/answers-app/pull/27/files
gulpjs mit Typoskript
https://gist.github.com/gdi2290/e544407980e261acc172
Befehle
$ npm uninstall tsd
$ rm -rf typings
$ npm install typings
$ typings init --upgrade
$ rm tsd.json
$ typings install
Nur eine kleine Ergänzung zu den @gdi2290- Migrationsschritten in Bezug auf etwas, das mir gerade passiert ist.
Wenn jemand dem folgt und beim Kompilieren Hunderte von TS2300: duplicate indetifier ...
bekommt, ist die Lösung hier https://www.npmjs.com/package/typings#maindts -and-browserdts
Wie macht man tsd link
mit Eingaben?
Wie verlinken Sie tsd mit Eingaben?
Sie nicht. TSD-Link ist fehlerhaft und keine wirklich solide Langzeitlösung - da er auf Ambient-Modulen basiert, doppelte Identifikatoren verursacht und Benutzer im Allgemeinen dazu zwingt, Unterabhängigkeiten neu zu installieren. Angenommen, Sie möchten genau dasselbe, können Sie typings install npm:<library>/<path-to-d-ts> --ambient
tun. Höchstwahrscheinlich möchten Sie eine andere Lösung, bei der Unterabhängigkeiten richtig behandelt werden. Veröffentlichen Sie in diesem Fall Ihre typings.json
Datei mit Ihrer Bibliothek und machen Sie typings install npm:<library> --save
- die Abhängigkeiten in <library>/typings.json
werden aufgelöst.
Beim Installieren von Eingaben aus einem anderen Repository ist ein Problem aufgetreten. Neues Problem erstellt: https://github.com/typings/typings/issues/133
Sie fragen sich nur, was die Vision/Intention hier für DefinitelyTyped/tsd vs. Typings ist? Ich verstehe, dass Typings dezentralisiert ist und mit DefinitelyTyped kommunizieren kann, aber ich weiß auch, dass Typings auch Repos für einige beliebte Projekte hat ... daher meine Frage.
Wäre es nicht sinnvoll, zu erzwingen, dass alle typedefs in npm-Paketinstallationen zentralisiert werden, anstatt die Hälfte der Infrastruktur in unseren lokalen Projekten zu replizieren?
JSPM ist ein alarmierendes Beispiel dafür
NPM hat bereits die Fittings, um dies zu unterstützen und zu verarbeiten.
Theoretisiert überhaupt jemand die Auswirkungen vorübergehender Abhängigkeiten?
Ich würde mein Kind nicht in eine Kindertagesstätte schicken, die die Aufgabe an eine andere Kindertagesstätte woanders verlagert... irgendwas wird irgendwann die Verbindung trennen... geschweige denn eine einzelne vorübergehende Abhängigkeit, die durch das Ökosystem streift.
@nhhockeyplayer im Idealfall wäre dies der Fall, aber dafür müsste jeder Autor
Verwandt
Für Angular 2 können wir davon ausgehen, dass jedes ng2-Modul Typdefinitionen enthält, aber für die anderen Module wird dies wahrscheinlich nicht der Fall sein. Es wird also eine Community (ng2) geben, die mehr davon profitiert, dass jedes Modul in seinem Ökosystem Typdefinitionen enthält (der Idealfall).
@blakeembrey Entschuldigung, dass angestoßen habe . Ich habe gerade bemerkt, dass der Hinweis zur veralteten Datei, der hier auf github zur Readme hinzugefügt wurde, nicht auf npm liegt, was dazu führen könnte, dass Benutzer ihn immer noch verwenden, ohne zu wissen, dass das Paket veraltet ist. Dies liegt wahrscheinlich daran, dass es keine neue Version gab, seit das Paket veraltet ist.
Wenn Sie NPM installieren, wird es angezeigt.
Edit: Aber ich werde es mir ansehen und eine neue Version veröffentlichen.
Cool, dann ist es gut 👍
Könnten Sie der npm-Seite einen Hinweis zur
Erleichtert es Wiedereinsteigern, Tippfehler zu erkennen.
Es wäre cool, zuerst die vollständige und fertige Version von typings
auszuliefern und dann tsd
denn im Moment macht typings
die Dinge nur schwieriger und verwirrender mit diesem Durcheinander mit mehreren Repos IMO. 😠
Auf dieser Issues-Seite gibt es vier Ausgaben, die jetzt schon Monate alt sind und darauf hinweisen, dass tsd nicht mehr für die Installation von Basispaketen wie jquery oder response funktioniert. Die Entwicklung abzulehnen oder zu stoppen ist eine Sache, aber es scheint, dass tsd tatsächlich heruntergefahren wurde (?). Dies ist ein echtes Problem – vor allem, da es anscheinend keine Art von expliziter Ankündigung gegeben hat, dass der Dienst vollständig eingestellt wurde –, da tsd die Art von Tool ist, die Teil einer automatisierten Bereitstellung sein könnte. Ich habe gerade einen Webdienst beenden lassen, weil seine automatisierte Bereitstellung tsd ausführt, was nicht mehr funktioniert.
Es sagt, dass es bei der Installation seit über einem Jahr veraltet ist. Da TSD auf GitHub basiert, funktioniert alles noch einwandfrei. Was Sie sehen würden, sind DefinitelyTyped-Änderungen. Die TSD-Architektur kann die Änderungen nicht verarbeiten, und der Umzug war eine Entscheidung von TypeScript, NPM @types
.
Hilfreichster Kommentar
:+1:
für Referenzen zum Upgrade von tsd
Webpack+Typoskript
https://github.com/angular/universal-starter/commit/cfb7b52b12e1da9de7ee7c2a452e7636c93aaa09
gulpjs+Typoskript
https://github.com/angular/answers-app/pull/27/files
gulpjs mit Typoskript
https://gist.github.com/gdi2290/e544407980e261acc172
Befehle