@greyhound
Adapter-Core ist die Schnittstelle zwischen Adaptern und ioBroker und deswegen in TypeScript geschrieben, damit die Definitionen von Adapterentwicklern gescheit genutzt werden können. Das ist mit JS+Definitionsdateien schwieriger.
Wegen Adaptern kannst du bei mir schauen. Tradfri, BLE, ZWave2, alles TypeScript.
Auf Github landet alles, wobei du dir auch überlegen kannst, nur die Sourcen hochzuladen. Dann kann allerdings nicht mehr direkt von Github installiert werden, wenn nötig.
Auf NPM landet nur das nötigste ([io-]package.json, Readme, build-Ordner, admin-Ordner ohne sources). Das geht IMO am besten mit dem "files"-Eintrag in package.json, auch wenn sich der Adapter-Checker dann unnötigerweise über eine fehlende .npmignore beschwert.