Generating TypeScript types from OpenAPI specification for improved developer experience
Ilmoni, Topi (2025)
Diplomityö
Ilmoni, Topi
2025
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe20251031104372
https://urn.fi/URN:NBN:fi-fe20251031104372
Tiivistelmä
The OpenAPI specification has become a popular tool as it can be used to generate documentation, tests and SDKs. The problem for the case company was the manual process of writing TypeScript types from OpenAPI specification which they wanted to automate for improved Developer Experience. According to previous research, Developer Experience defines how developers feel and perceive their job, and it directly influences productivity and project success. In this thesis, Design Science Research Method was used to produce a solution. Alternative approaches to producing the artifact were explored, ultimately leading to the decision to extend an open-source library. The library required various modifications to meet case application’s requirements. An explorative survey was used to evaluate the artifact’s effectiveness in improving Developer Experience. The artifact uncovered issues originating from the OpenAPI specification which were noted for future improvement. The survey indicated that Developer Experience was improved by faster feedback loops and reduction in the cognitive load. However, the survey had a small sample size and limited data collection timeframe. OpenAPI-spesifikaatiosta on tullut suosittu työkalu, koska sitä voidaan käyttää dokumentaation, testien ja SDK:iden luomiseen. Case-yrityksen ongelmana oli TypeScript-tyyppien kirjoittaminen OpenAPI-spesifikaatiosta manuaalisesti, ja he halusivat automatisoida tämän prosessin kehittäjäkokemuksen parantamiseksi. Aiemman tutkimuksen mukaan kehittäjäkokemus määrittelee, miten kehittäjät kokevat ja havaitsevat työnsä, ja se vaikuttaa suoraan tuottavuuteen ja projektien onnistumiseen. Tässä tutkielmassa käytettiin Design Science Research Method -menetelmää ratkaisun tuottamiseksi. Vaihtoehtoisia lähestymistapoja artefaktin tuottamiseen tutkittiin, mikä lopulta johti päätökseen laajentaa avoimen lähdekoodin kirjastoa. Kirjastoon tehtiin useita muutoksia, jotta se täyttäisi case-sovelluksen vaatimukset. Artefaktin tehokkuutta kehittäjäkokemuksen parantamisessa arvioitiin eksploratiivisella kyselytutkimuksella. Artefakti paljasti OpenAPI-spesifikaatiosta johtuvia ongelmia, jotka merkittiin ylös tulevaisuuden parannusta varten. Kysely paljasti, että kehittäjäkokemus parani nopeamman palautteen ja kognitiivisen kuormituksen vähenemisen ansiosta. Kyselyllä oli kuitenkin pieni otoskoko ja rajallinen tiedonkeruuaika.
