Gatsby schreibt unsere Kerncodebasis in TypeScript neu! Kasse des RFC: # 21798
Wir würden lieben lieben lieben Ihre Hilfe! Diese Arbeit ist unglaublich wichtig, damit Gatsby ein stabiles Produkt ist und Sie ein Teil davon sein können! Wir suchen Community-Mitglieder, die bereit wären, in Übergangsdateien von .js zu .ts in die Codebasis zu springen und die richtigen Typisierungen hinzuzufügen. Wir haben einige Richtlinien, an die wir uns dabei halten möchten:
Array<type>
anstelle der Syntax type[]
, da diese klarer ist und mit integrierten Typen wie Map
übereinstimmt.Record
, anstatt Ihre eigenen zu definieren.any
kann zum Stubben von Modultypen verwendet werden, deren Migration nicht möglich wäre. Es sollte jedoch nicht für funktionale Ein- / Ausgänge verwendet werden. Das Endziel dieser Migration besteht darin, NULL any
Typen in der Codebasis zu haben. Prüfen Sie, ob unknown
in diesem Zusammenhang sinnvoller ist. Verwenden Sie keine @ts-ignore
Kommentare.Wenn Sie daran interessiert sind, sich zu engagieren, lesen Sie die folgende Liste. Wenn Sie daran interessiert sind, etwas zu tun, antworten Sie bitte als Kommentar. Ich werde Ihren Namen in eine Datei einfügen, damit andere wissen, dass er "beansprucht" wird. Wenn die PR zusammengeführt wird, werde ich das Kontrollkästchen aktivieren.
Tipps zum Mitmachen: Lesen Sie zuerst die Beitragsdokumente und erfahren Sie , wie Sie Ihre lokale Umgebung einrichten . Nachdem Sie behauptet haben, dass die Datei bearbeitet werden soll, konvertieren Sie sie lokal und stellen Sie sicher, dass in Ihrer IDE keine Tipp- oder Flusenfehler angezeigt werden. Führen Sie yarn typecheck
und yarn lint:code
im Stammverzeichnis aus, bevor Sie den PR öffnen, der alle Fehler anzeigt. Sobald Sie fertig sind, öffnen Sie die PR und einer von uns wird sie überprüfen. Danke und viel Glück!
[x] packages / babel-plugin-remove-graphql-Abfragen
[] packages / babel-preset-gatsby
[] Pakete / Gatsby
[x] packages / gatsby-cli
[x] Pakete / Gatsby-Core-Utils
[] packages / gatsby-link ( @herecydev in # 22027)
[x] packages / gatsby-page-utils
[x] Pakete / Gatsby-Telemetrie ( @Eyas in # 22532)
[x] packages / gatsby-react-router-scroll ( @blainekasten in # 24306)
Ich werde gerne Gatsby-Link abholen. Wollte dort mehr lernen!
@herecydev Das hört sich toll an! Ich werde deinen Namen aufschreiben! Dieser ist relativ klein und isoliert, also zögern Sie nicht, das ganze Paket in einer PR zu machen, wenn Sie möchten.
@blainekasten nur ein paar vorläufige Kommentare. Es gibt einige globale / Fenstervariablen: __BASE_PATH__
, ___navigate
, ___push
, ___replace
, __PATH_PREFIX__
, ___loader
. Gibt es eine Strategie, um diese für Typoskripte verfügbar zu machen? Ich glaube, sie sind alle im Gatsby-Paket definiert.
@herecydev Diese Variablen sind auf gatsby-link
zu definieren.
Ich freue mich darauf, einen Beitrag zu leisten. Welches Paket schlagen Sie für den Start vor?
@aminkhp super !! Ich würde es lieben, wenn wir einfach anfangen könnten, einzelne Dateien in PRs abzutrennen. Willst du gatsby-core-utils
angehen? Ich würde mich freuen, wenn Sie nur eine Datei pro PR erstellen würden, da alle sehr isoliert sind.
Ich würde gerne einige Typen beisteuern. Ich könnte gatsby-page-utils
angehen.
Ich habe übrigens einen Blick auf gatsby-core-utils
geworfen, und es sieht so aus, als wäre true-case-path
nur eine leere Datei. Ich bin mir nicht sicher, ob das beabsichtigt ist, aber es könnte sich lohnen, es aus dem Repo zu löschen und von der Liste zu entfernen. https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-core-utils/src/true-case-path.js
@robertrbairdii Großartig! Wenn Sie die Arbeit aufteilen und 1 PR für jede Zeile einreichen könnten, die ich hatte, wäre das fantastisch.
Guter Punkt bezüglich der Gatsby-Core-Utils. cc @aminkhp
Ich würde gerne src/commands/build-javascript.js
ausprobieren.
ZUSATZ: Ich möchte auch babel-preset-gatsby
angehen
Ich habe vorher einige Zeit in src/redux/actions/public.js
, also denke ich, dass ich dabei helfen kann.
@blainekasten Ich habe beim Konvertieren von gatsby-page-utils
auf .babelrc
geschaut und festgestellt, dass in babel-preset-gatsby-package
kein Verweis auf @babel/plugin-transform-typescript
babel-preset-gatsby-package
(https: // github. com / gatsbyjs / gatsby / blob / master / packages / babel-preset-gatsby-package / index.js
). Beim Ausführen eines Test-Builds gelangen die konvertierten .ts
-Dateien nicht in den Ordner /dist
.
Die Babel-Konfiguration im Stammverzeichnis des Repos hat eine Überschreibung. Https://github.com/gatsbyjs/gatsby/blob/master/.babelrc.js#L12 Und diese Konfiguration scheint von anderen Paketen wie https importiert zu werden
Soweit ich weiß, können Sie die Erweiterungen nur als Argument über die CLI übergeben, daher müssten wir jeder Babel-Referenz im Skriptabschnitt aller package.json
Flag --extensions
hinzufügen der zu konvertierenden Pakete. Sie können dann entweder die Überschreibung wie im Stammverzeichnis .babelrc
bereitstellen oder @babel/plugin-transform-typescript
in babel-preset-gatsby-package
hinzufügen und zulassen, dass Werte wie isTSX
über übergebene Optionen konfiguriert werden in das Paket.
Ich denke, dies wird verhindern, dass einige der TS-Konvertierungen zusammengeführt und veröffentlicht werden.
@robertrbairdii Ich bin auf meiner PR zu denselben Ergebnissen gekommen: https://github.com/gatsbyjs/gatsby/pull/22027
Anfangs war es nicht offensichtlich, aber zum Glück gibt es im gatsby-cli
-Projekt einen Stand der Technik zu sehen. Es könnte sich lohnen, alle Pakete zu durchsuchen, um ts zu unterstützen, wodurch die Dateien insgesamt zugänglicher werden
Ich würde gerne helfen und habe keine Vorlieben. Können Sie mir einige Teile für die Migration empfehlen?
@danielkov Nach dem Kommentar von gatsby-core-utils
anfangen
@MichaelDeBoey Ich habe auch meine Augen auf gatsby-cli / src / strukturierte Fehler gerichtet, wenn niemand anderes darauf ist, und gehe dann in einer anderen PR auf gatsby-core-utils
. Hört sich das gut an?
@danielkov Das ist schon von @LekoArts in # 20597 aufgenommen
Ich sehe, dass # 22031 eine der Dateien von gatsby-core-utils
adressiert. Soll ich auf diese Zusammenführung warten oder unabhängig starten und Konflikte lösen, wenn ich fertig bin?
@danielkov Du kannst einfach anfangen daran zu arbeiten.
Die Konflikte können vor dem Zusammenführen behoben werden. 🙂
@MichaelDeBoey Meine derzeit geöffneten PRs umfassen alle derzeit geschlossenen. Wenn Sie die Zeit haben, werden Sie überprüfen, ob dies jetzt korrekt ist?
Ich würde gerne an src/utils/app-data.js
, utils/browserslist
Ich würde gerne an components/spinner.js
Wo sind wir mit der Konvertierung von Plugins in Typoskript? Dinge wie Quell-Plugins, Manifest, Offline usw.
Ich würde gerne daran arbeiten
packages/gatsby-cli/src/reporter/loggers/ink/components/messages.js
(bearbeitet)packages/gatsby-cli/src/reporter/constants.js
Wo sind wir mit der Konvertierung von Plugins in Typoskript? Dinge wie Quell-Plugins, Manifest, Offline usw.
Wir werden diese (noch) nicht konvertieren? Wie wir denken, könnte es für die Menschen schwieriger sein, dazu beizutragen. Gatsby-Kernpakete werden meistens nur von uns verwaltet, daher denken wir, dass es sich lohnt, dies zu tun, da dies unser Leben bei der Arbeit erleichtert.
@blainekasten Ich bin mir nicht 100% sicher, ob wir Browserteile wie Gatsby-Link, Gatsby-Image und unser Cache-Verzeichnis umgestalten sollen. Dies kann zu größeren Bündeln führen.
Hallo! Ich würde gerne daran arbeiten
ich würde gerne probieren
packages/gatsby/src/utils/get-cache.js
packages/gatsby/src/utils/get-latest-apis.js
packages/gatsby/src/utils/get-public-path.js
ich würde gerne probieren
packages/gatsby/src/utils/get-cache.js
packages/gatsby/src/utils/get-latest-apis.js
packages/gatsby/src/utils/get-public-path.js
@ cola119 Ich schlage vor, dass Sie zuerst eine PR für alle anderen Dateien erstellen, an denen Sie arbeiten, damit andere Leute sich diese Datei in der Zwischenzeit ansehen können, wenn sie möchten.
Denken Sie nur nicht, dass wir auf etwas warten wollen, wenn jemand anderes daran arbeiten könnte
Ich werde an stack-trace-utils.js
Ich arbeite an jobs-manager.js
Ich werde src/redux/actions/types.js
Ich würde gerne packages/gatsby-image/src/index.js
ausprobieren.
redux/actions/restricted.js
hängt auch von redux/actions/types.js
, also werde ich es nehmen.
Ich kümmere mich um den Ordner /redux
auf gatsby-cli
unter https://github.com/gatsbyjs/gatsby/pull/22292
Ich möchte mit packages/gatsby/src/utils/eslint-config.js
- # 22294 beginnen
Ich arbeite an packages/gatsby/src/utils/gatsby-dependents.js
- # 22422
Ich würde gerne dabei helfen, @blainekasten. Irgendwelche Vorschläge für einen erstmaligen Mitwirkenden?
Es gibt einige globale / Fenstervariablen: __BASE_PATH__, ___navigate, ___push, ___replace, __PATH_PREFIX__, ___loader.
Wenn niemand dagegen ist, @blainekasten , werde ich versuchen, babel-plugin-remove-graphql-queries/src/murmur.js
konvertieren.
@ zachtylr21 in Ordnung
@ parikshitgupta1 Oh, war dein vorheriger Kommentar an mich gerichtet? Bei Bedarf kann ich auch daran arbeiten.
Wenn Sie immer noch Hilfe suchen, würde ich gerne tun, was ich kann. Möchten Sie Hilfe bei der Konvertierung, die noch nicht zugewiesen wurde?
Hey @AmyShackles, danke, dass hast , obwohl von meiner Seite nichts mehr übrig ist, obwohl wir im Thread sehen wollen.
Fühlen Sie sich frei, irgendeinen Gegenstand von dieser Liste zu nehmen. Wir freuen uns über jede PR, egal ob kleine / einfache oder große / komplizierte Datei :)
Hallo @blainekasten, ich sende PRs für:
gatsby
src / load-plugins # 22504gatsby
Websocket-Manager # 22510gatsby-telemetry
# 22532gatsby-link
# 22563Einige von ihnen sind größer als ich gehofft hatte, aber ihre Abhängigkeiten waren schwer zu entwirren.
Ich würde gerne dazu beitragen! Gibt es eine kleine / einfache Datei, an der ich arbeiten kann? Ich mache mich immer noch mit Gatsby vertraut: D.
Ich bin hier um zu helfen. Jeder, der speziell um Hilfe bittet, oder ich werde einen auswählen.
@blainekasten
Ich wollte meine 2 Cent an die Community zurückgeben. Letztes Wochenende musste ich tief in die Codebasis von gatsby.js graben, weil ich dieses nervige Problem mit der Typprüfung in meinem Projekt hatte: # 22070
Also hatte ich am letzten Wochenende Zeit, mit dem großen Refactoring zu beginnen. Ich habe jetzt keine Zeit, weiterzumachen, aber ich hatte mich auf Typoskript-Gatsby-Telemetrie-Gatsby-Core-Utils und teilweise andere Projekte umgestellt.
https://github.com/gatsbyjs/gatsby/pull/22817
Ich hoffe, es gibt einige Ideen. Bei Bedarf kann ich meine Ergebnisse und Entscheidungen entweder hier oder über Skype erklären: justfly1984
Möchten Sie einen Beitrag dazu leisten, wo Sie anfangen sollen?
Ich möchte zuerst versuchen, an packages\gatsby\src\bootstrap\prefer-default.js
zu arbeiten, um mehr darüber zu erfahren, wie die Dinge funktionieren, wenn das in Ordnung ist.
Update: PR eingereicht https://github.com/gatsbyjs/gatsby/pull/22958
Ich würde wirklich gerne dazu beitragen! Könnte ich möglicherweise packages/gatsby/reducers/themes.js
konvertieren?
Morgen. Ich nehme heute Morgen einen Pass für src/schema/infer/is-file.js
. Etwas hoffentlich Kleines, um zuerst meinen Kopf herumzukriegen!
Ich probiere auch src/schema/infer/inference-metadata
. Ich denke, es ist fast geschafft, aber der Versuch, Typen hinzuzufügen, gibt mir einige Probleme hinsichtlich des erreichbaren Codes.
# 23093 für is-file
hinzugefügt. Da es sich um eine nicht getestete Änderung handelt, ist möglicherweise eine PR vor dem Start erforderlich, um zuerst Tests hinzuzufügen.
Hallo, alle miteinander!
Ich wollte nur vorbeischauen und ein HUUUUUUGE Danke sagen! Die Resonanz der Community war erstaunlich und (ein wenig) überwältigend 😅. Aber mach weiter so! Sie werden von unschätzbarem Wert sein und diese Konvertierung um das 100-fache beschleunigen.
Wir machen große Fortschritte. Lass uns weitermachen!
Ich habe eine PR für babel-plugin-remove-graphql-queries/murmur.js
, bin mir aber nicht sicher, wie ich meinen Namen anhand der Datei in der Beschreibung ermitteln kann. Kann mir jemand dabei helfen?
@ zachtylr21 Fertig! Danke für die Arbeit. Sobald Sie diese PR zusammengeführt haben und sich der Gatsby-Organisation anschließen, können Sie alles selbst erledigen !! : partying_face:
Ich habe gerade bemerkt, dass die fusselförmige Aktion nicht ausgelöst wird, wenn nur Änderungen an einer TS-Datei vorgenommen werden: https://github.com/gatsbyjs/gatsby/blob/master/package.json#L78
Hallo! Gibt es spezielle Probleme mit src/create-cli.js
in gatsby-cli
? Ich würde es gerne annehmen, wenn es in Ordnung ist
Hallo! Ich habe eine PR für gatsby/src/query/redirects-writer.js
. Kann mir jemand beim Auschecken in der Liste helfen? Vielen Dank! Übrigens, es ist meine erste PR in Gatsby, also mache ich mir Sorgen, es zu vermasseln. Jeder Rat wird mir sehr helfen.
Hallo Leute! Ich bin froh, mich den Bemühungen anzuschließen, und wenn derzeit niemand src/utils/page-data.js
versuche ich gerne, zu helfen: +1:
Hallo allerseits 👋 Habe gerade eine kleine PR für redux/reducers/webpack-compilation-hash
# 23439 gemacht. Könnte jemand es bitte zur Liste hinzufügen?
Wenn im Moment niemand drauf ist, könnte ich morgen an kleinen Reduzierstücken wie redux/reducers/webpack
, redux/reducers/status
(# 23474), redux/reducers/static-query-components
(# 23475), redux/reducers/schema
(# 23476) und so weiter :)
Ich möchte mit log-line-function.js
anfangen, ok?
Hallo! 👋
Ich würde gerne mitmachen! Kann ich mit dem src/bootstrap/remove-stale-jobs.js
am packages/gatsby
? 😄
~ Ich habe gerade die Dateiliste überprüft. Die PR für gatsby/src/utils/page-data.js
(# 23436) fehlt ~
(Ich habe gerade gesehen, dass ich die Liste jetzt selbst aktualisieren kann, danke!)
Und ich habe gerade die gatsby/src/utils/webpack.ts
Migration (# 23566) vorangetrieben.
Ich mache packages/gatsby/src/redux/reducers/config.js
(als Teil einiger Korrekturen)
@moonmeister Danke dafür! Ich sollte wahrscheinlich erwähnen, dass die PR-Nummer für murmur.js
# 22458 ist, wenn Sie diese auch neben meinen Namen setzen möchten.
Hatte ein kleines Problem mit meiner Gabel, also musste ich # 23476 schließen und stattdessen # 23591 öffnen.
Gleicher Code, aber neue PR zu überprüfen. Das tut mir leid.
Auch dieser sollte zur Überprüfung bereit sein (letzter Konflikt mit dem aktuellen master
behoben): # 23436
Ich habe ein migriertes gatsby/src/utils/tracer/jaeger-local
bereit zum Hochfahren, aber beim Lesen der Dokumente scheint es, dass die Datei als Beispiel für jemanden dient, der in gatsby zurückspeist, nicht als Teil der Anwendung selbst. Wenn es migriert und die Dokumentation aktualisiert würde, um stattdessen auf die TS-Datei zu verweisen, würde das Einspeisen dieser Datei in gatsby als Konfiguration weiterhin funktionieren?
Mir ist klar, dass ich versuchen könnte, eine Jaeger-Instanz einzurichten, um es zu versuchen, aber auch jemand, der besser informiert ist, könnte es in viel kürzerer Zeit beantworten! :) :)
@chooban In der Dokumentation verweisen wir auf das Verzeichnis dist
. dist
Verzeichnis ist eine Javascript-Datei (aus Typoskript kompiliert) - dies sollte also in Ordnung sein und die Dokumentation muss nicht geändert werden. Es ist gut zu überprüfen, ob diese Konfigurationsdateien korrekt funktionieren, aber ansonsten sollte es in Ordnung sein!
Hallo 👋 Darf ich mit page-hot-reloader.js
?
Ich freue mich darauf, Gatsby bei der Migration auf Typescript zu unterstützen
Hallo Leute!
Ich möchte auch dazu beitragen. Kann ich mit src/schema/types/pagination.js
?
@ alisson-suzigan Hallo Bruder, ich freue mich dich hier zu sehen ❤️
Ich werde die Datei src/commands/build.js
wünsche mir viel Glück 🤓
Hallo Leute!
Ich arbeite derzeit an gatsby/src/reducers/program.js
und habe eine Reihe von Fragen.
Im Moment scheint es, dass es viele Elemente aus der Quelldatei js
gibt, die nicht mit der in IGatsbyState
beschriebenen Schnittstelle übereinstimmen.
Es sollte ein IProgram
Objekt begrüßen, aber es scheint eine Reihe von fehlenden Elementen zu geben.
In der JS-Datei wird state
mit einer state
Requisite initialisiert, die ich in der IProgram
-Schnittstelle nicht finden kann. Ich habe es durch status
, das könnte ein Tippfehler sein.
Aber dann setzt die Aktion SET_PROGRAM_EXTENSIONS
eine extensions
Requisite, die in der IProgram
-Schnittstelle überhaupt nicht vorhanden ist. Haben Sie eine Idee, was der Inhalt sein würde?
Außerdem scheint das, was obligatorisch ist, nicht mit dem zu übereinstimmen, was initialisiert wurde.
@blainekasten : hätten Sie mehr Einblick in diese Oberfläche? Es scheint, als hättest du es geschaffen. Ich freue mich über einen kurzen Chat über Discord, wenn es einfacher ist :)
Hallo,
Jetzt möchte ich in diesen Dateien arbeiten:
packages/gatsby/src/redux/reducers/index.js
packages/gatsby/src/redux/reducers/nodes.js
packages/gatsby/src/redux/reducers/last-action.js
Ist das in Ordnung?
Hallo! Ich würde gerne an 🙌 arbeiten
packages/gatsby/src/schema/types/sort.js
Ich habe diese Dateien untersucht ( /babel-loader-helpers.js
und
/babel-loader.js
) kann migriert werden,
Aber es ist wahrscheinlich schwierig, weil der Babel-Loader ihren Typ nicht angibt.
src/utils/profile.js
ist in der Liste enthalten, aber der Inhalt der Datei ist vollständig auskommentiert. Ich könnte eine PR hochschieben, um sie zu löschen? ;)
Ich möchte das Paket, an dem ich gearbeitet habe, beenden und babel-plugin-remove-graphql-queries/src/index.js
konvertieren
# 23823 für Quellknoten hinzugefügt.
Ich werde die Datei src/create-cli.js
@devrchancay Hey! Entschuldigen Sie die Verwirrung, aber ich habe bereits einige erste Arbeiten daran durchgeführt: https://github.com/gatsbyjs/gatsby/pull/23650 , aber Sie können auf jeden Fall daran teilnehmen
okay, kein Problem, ich werde etwas anderes nehmen 🤔
Es ist gut, dass viele von uns einen Beitrag leisten
Ich werde an gatsby-cli/src/reporter/loggers/ipc/index.js
!
Hallo
Ich würde gerne an gatsby/src/query/queue.js
@hiwelo Arbeiten Sie noch an gatsby/redux/reducer/component.js
?
Ich habe an page-component
und es ist ziemlich verwandt. Lassen Sie mich wissen, ob ich helfen kann.
@Kornil Ich arbeite nicht in gatsby/redux/reducer/component
. Afaik, diese Datei ist momentan nicht zugeordnet :)
(Ich habe an gatsby/redux/reducer/static-query-components
, aber ich kann mich nicht erinnern, dass ich mir diese bisher überhaupt angesehen habe.)
Ich würde gerne anfangen beizutragen! Ich kann gatsby\packages\gatsby\src\redux\reducers\page-data-stats.js
, um meine Füße nass zu machen.
Ich werde versuchen, Gatsbys babelrc.js Reduzierer zu verwenden
Ich kann nodes-touched
und nodes-by-touch
Reduzierungen abholen.
@ alisson-suzigan Ich habe gatsby-cli/src/reporter/loggers/json/index.js
PR # 24140 gemacht, aber ich habe vergessen, meinen Namen in die Liste aufzunehmen. das tut mir leid
Hey @carrotderek Ich habe gesehen, dass du dich schema-customization
zugewiesen hast, ich habe es einfach getan, deinen Namen dort nicht früher gesehen, vergib mir.
Nehmen Sie requires-writer.js
von gatsby
Riesiger Meilenstein! gatsby-cli
wird zu 100% in TypeScript konvertiert! Vielen Dank an alle für Ihre unglaubliche Arbeit 💜💜💜
Da auf einige Dateien aus den Dokumenten verwiesen wird: Sollte auch eine Linkänderung in Dokumenten, die ebenfalls berücksichtigt wird, eine PR enthalten?
Gerne stechen wir in den Programmreduzierer ( src/redux/reducers/program.js
). Siehe # 24941
Ich sehe, dass diese PRs zusammengeführt werden, aber die Dateien sind immer noch deaktiviert:
index.js ( @ascorbic in # 24816)
queue.js ( @chooban in # 25389)
date.js ( @ sasurau4 in # 22430)
derivative-types.js ( @ sasurau4 in # 22442)
nur ein Vorschlag. Wie wäre es mit https://github.com/airbnb/ts-migrate ?
Einer der Kommentare (hi, @pvdz!), Die ich vor einiger Zeit zu einer PR hatte, war, Array<string>
anstelle von string[]
zu verwenden, um die Dinge mit Map, Set usw. in Einklang zu bringen. Am Ende gingen wir bei einem Arbeitsprojekt in die gleiche Richtung, und ich schrieb ein Codemod, um die Arbeit für mich zu erledigen.
Wurde diese Stilentscheidung formalisiert und möchten Sie, dass eine PR sie auf einmal ändert?
@chooban Eigentlich ja :) Aber das Fehlen eines Codemods machte es etwas schwieriger.
Enthält Ihr Codemod zufällig eine Flusenregel, um zukünftige Regressionen zu verhindern? Kannst du das Codemod posten?
function transform(file, api) {
const j = api.jscodeshift
const root = j(file.source)
root
.find(j.TSTypeAnnotation, {
typeAnnotation: {
type: 'TSArrayType',
},
})
.replaceWith(p => {
return j.tsTypeAnnotation(
j.tsTypeReference(
j.identifier(
'Array'
),
j.tsTypeParameterInstantiation([p.node.typeAnnotation.elementType])
)
)
})
return root.toSource()
}
module.exports = transform
module.exports.parser = 'tsx'
Das habe ich mir ausgedacht. Es ist das zweite Codemod, das ich geschrieben habe. Wenn also jemand darauf schaut und denkt: "Warum ist es so komplex?" dann würde ich gerne ein paar Hinweise haben!
Es gibt noch keine Flusenregel, aber es sieht nicht so aus, als wäre es zu schwierig.
Es stellt sich heraus, dass es bereits eine Regel dafür gibt, die behoben werden kann: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/array-type.md genauer als mein Codemod. Interessant. Ich muss einige dieser anderen Korrekturen in unserer Codebasis im AST-Explorer ausführen, um zu sehen, warum ich sie verpasst habe.
Ich habe # 26738 hinzugefügt.
Wie kann ich helfen?
Ich möchte einen Blick auf packages / gatsby / src / utils / api-node-helpers-docs.js und /packages/gatsby-link/src/parse-path.js werfen
packages / gatsby / src / utils / profile.js scheint eine sinnlose Änderung zu sein, obwohl ich die Erweiterung nur aktualisieren konnte, während ich mich mit anderen Dingen befasste
@LekoArts @blainekasten Daran möchte ich arbeiten
packages/gatsby/src/schema/schema-composer.js
packages/gatsby/src/schema/types/type-defs.js
Da ich neu in Typoskript bin, werde ich mit diesen Dateien beginnen.
Vielen Dank !
Es tut mir leid, wenn jemand src/redux/actions/public.js
nehmen möchte ( @jlkiri in # 22274) - Sie können es nehmen - ich habe möglicherweise keine Zeit, es für eine Weile zu beenden.
Ich möchte versuchen, gatsby/src/bootstrap/page-hot-reloader.js
Ich hätte vielleicht eine Waffe gesprungen, aber ich habe die Datei gatsby-link / src / parse-path.js schnell überarbeitet und getestet. Pr kann hier gesehen werden:
https://github.com/gatsbyjs/gatsby/pull/27264
Ich werde mit load-themes/index.js
helfen.
Ich möchte mit gatsby / packages / gatsby / src / schema / schema-composer.js arbeiten
@khushijindal Es ist bereits eine PR dafür offen :) https://github.com/gatsbyjs/gatsby/pull/27241
Bitte schauen Sie sich die vorherigen Kommentare und die PRs an, damit Sie nicht an den gleichen Dingen arbeiten :) Vielen Dank für alle Beiträge!
@khushijindal Es ist bereits eine PR dafür offen :) # 27241
Bitte schauen Sie sich die vorherigen Kommentare und die PRs an, damit Sie nicht an den gleichen Dingen arbeiten :) Vielen Dank für alle Beiträge!
Eigentlich wurde es in der obigen Datei nicht markiert, deshalb. Cool, ich suche etwas anderes XD.
Hey, ich helfe gerne bei der Migration von gatsby/src/query/query-watcher.js
Würde gerne etwas abholen, wenn es nicht schon vergeben ist. Fühlen Sie sich frei, mir zuzuweisen, was auch immer frei ist!
Ich würde mich freuen, Ihnen dabei zu helfen, aber dies wäre einer meiner ersten Open-Source-Beiträge, und ich bin mir nicht sicher, wo ich anfangen soll. Gibt es noch potenziell niedrig hängende Früchte?
@LinnJS und @neobats : Sie können jede der oben aufgeführten Dateien beanspruchen, die keinen Namen haben. Fügen Sie hier einfach einen Kommentar hinzu, der besagt, dass Sie daran arbeiten, wie es
Tipps zum Mitmachen: Lesen Sie zuerst die Beitragsdokumente und erfahren Sie , wie Sie Ihre lokale Umgebung einrichten . In den Anweisungen in dieser Ausgabe finden Sie eine Anleitung zu unserem TypeScript-Codestil. Nachdem Sie behauptet haben, dass die Datei bearbeitet werden soll, konvertieren Sie sie lokal und stellen Sie sicher, dass in Ihrer IDE keine Fehler angezeigt werden. Führen Sie yarn typecheck
und yarn lint:code
im Stammverzeichnis aus, bevor Sie den PR öffnen, der alle Fehler anzeigt. Sobald Sie fertig sind, öffnen Sie die PR und einer von uns wird sie überprüfen. Danke und viel Glück!
Die node-interface.js
-Datei wurde bereits in dieser PR migriert und zusammengeführt
Ich werde mit /src/query/file-parser.js
helfen und testen
Ich werde print.js
!
Ich werde an /src/query/graphql-errors.js
Hey, ich würde gerne an src/query/query-compiler.js
Hey, ich würde gerne an /api-node-helpers-docs.js
:)
Hallo, ich übernehme bootstrap/load-themes/index.js
Ich werde an src/schema/node-model.js
und src/schema/schema-composer.js
Ich werde an src/schema/index.js
und src/schema/infer/index.js
.
Außerdem wird src/schema/schema.js
als erledigt überprüft, aber der zugehörige PR gibt die Datei nicht ein (ändert nur eine Zeile, damit sie für eine andere typisierte Datei funktioniert).
Hallo, ich würde gerne an packages/gatsby/src/utils/babel-loader.js
.
Hey @davad Ich habe bereits an schema-compose.js hier gearbeitet https://github.com/gatsbyjs/gatsby/pull/27241 . Vielen Dank !
Hey @LekoArts Ich würde gerne an gatsby/src/utils/webpack.config.js
Danke.
Hey @LekoArts @ascorbic Ich brauche hier Hilfe https://github.com/gatsbyjs/gatsby/pull/27241 Ich bin nicht sicher, was in circleci bricht. Können Sie mir zeigen, wo das Problem liegt? Vielen Dank !
Sind entweder src/utils/api-runner-node.js
oder src/utils/api-node-helpers-docs.js
offen?
Ich würde gerne an einem von ihnen arbeiten, wenn sie es sind.
Ich werde an packages/babel-preset-gatsby/index.js + test
Hilfreichster Kommentar
Riesiger Meilenstein!
gatsby-cli
wird zu 100% in TypeScript konvertiert! Vielen Dank an alle für Ihre unglaubliche Arbeit 💜💜💜