Typescript
Typescript copied to clipboard
add: menambahkan materi `Decorators` di `TypescriptBasic`
Deskripsi (Description)
Materi yang saya ingin tambahkan pada PR ini adalah materi Decorator. Materi ini masih dalam tahap pengerjaan/draft Hal-hal yang perlu diselesaikan:
- [x] mencari cara agar dapat dilakukan testing (Babel tidak dapat meng-compile decorator secara langsung)
- [ ] menuliskan comment pada file materi (
Decorators.ts
) - [ ] menuliskan README
==============================================
- [ ] saya menambahkan algoritma terbaru
- [ ] saya memperbaiki algoritma yang sudah ada
- [ ] saya memperbaiki dokumentasi
- [x] saya menambah dokumentasi
Contributor Requirements (Syarat Kontributor)
- [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
- [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat
Environment
saya menggunakan (im used):
-
os
=windows
Testing
- [x] lint testing eslint
Maintainer
maintainer typescript @bellshade/typescript-team
Untuk decorators saya baru sadar ternyata butuh dinyalakan di tsconfig.json, saya nyalakan dulu
Sayangnya, untuk di Jest sendiri belum ada cara untuk mengecek apakah Decorator berfungsi apa tidak, tapi setidaknya bisa kita coba metode ini: https://stackoverflow.com/questions/39112921/unit-testing-typescript-decorators
Setelah saya cari-cari di google, ternyata cara menggunakan @babel/plugin-proposal-decorators
di file babel.config.js
adalah dengan mengimport pluginnya (require('@babel/plugin-proposal-decorators').default
), set option legacy ke true, dan ditaruh di property plugins
(Abaikan garis merah, sepertinya TS di saya ngebug wkwkwk)
Setelah saya cari-cari di google, ternyata cara menggunakan
@babel/plugin-proposal-decorators
di filebabel.config.js
adalah dengan mengimport pluginnya (require('@babel/plugin-proposal-decorators').default
), set option legacy ke true, dan ditaruh di propertyplugins
(Abaikan garis merah, sepertinya TS di saya ngebug wkwkwk)
Untuk ini, saya sudah coba untuk melakukannya, namun sayangnya ngebug karena mesti import @babel/plugin-proposal-decorators
padahal udah dimasukkan. Bisa dicek pada commit 4055fc5425ae60037dc3c1b27d6af3ec66fd19a4 dan di sini semisal ingin referensinya.