├── tests ├── .gitkeep ├── flag │ └── main.go ├── fmt │ └── main.go ├── hash │ └── main.go ├── html │ └── main.go ├── io │ └── main.go ├── log │ └── main.go ├── math │ └── main.go ├── mime │ └── main.go ├── net │ └── main.go ├── os │ └── main.go ├── path │ └── main.go ├── sort │ └── main.go ├── sync │ └── main.go ├── time │ └── main.go ├── bufio │ └── main.go ├── bytes │ └── main.go ├── crypto │ └── main.go ├── errors │ └── main.go ├── expvar │ └── main.go ├── image │ └── main.go ├── plugin │ └── main.go ├── regexp │ └── main.go ├── unsafe │ └── main.go ├── container │ └── main.go ├── context │ └── main.go ├── encoding │ └── main.go ├── hash_fnv │ └── main.go ├── image_gif │ └── main.go ├── image_png │ └── main.go ├── io_ioutil │ └── main.go ├── math_big │ └── main.go ├── math_bits │ └── main.go ├── math_rand │ └── main.go ├── net_http │ └── main.go ├── net_mail │ └── main.go ├── net_rpc │ └── main.go ├── net_smtp │ └── main.go ├── net_url │ └── main.go ├── os_exec │ └── main.go ├── os_signal │ └── main.go ├── os_user │ └── main.go ├── reflect │ └── main.go ├── runtime │ └── main.go ├── strconv │ └── main.go ├── strings │ └── main.go ├── syscall │ └── main.go ├── testing │ └── main.go ├── unicode │ └── main.go ├── archive_tar │ └── main.go ├── archive_zip │ └── main.go ├── crypto_aes │ └── main.go ├── crypto_des │ └── main.go ├── crypto_dsa │ └── main.go ├── crypto_hmac │ └── main.go ├── crypto_md5 │ └── main.go ├── crypto_rand │ └── main.go ├── crypto_rc4 │ └── main.go ├── crypto_rsa │ └── main.go ├── crypto_sha1 │ └── main.go ├── crypto_tls │ └── main.go ├── hash_crc32 │ └── main.go ├── hash_crc64 │ └── main.go ├── image_color │ └── main.go ├── image_draw │ └── main.go ├── image_jpeg │ └── main.go ├── log_syslog │ └── main.go ├── math_cmplx │ └── main.go ├── runtime_cgo │ └── main.go ├── sync_atomic │ └── main.go ├── syscall_js │ └── main.go ├── compress_bzip2 │ └── main.go ├── compress_flate │ └── main.go ├── compress_gzip │ └── main.go ├── compress_lzw │ └── main.go ├── compress_zlib │ └── main.go ├── container_heap │ └── main.go ├── container_list │ └── main.go ├── container_ring │ └── main.go ├── crypto_cipher │ └── main.go ├── crypto_ecdsa │ └── main.go ├── crypto_sha256 │ └── main.go ├── crypto_sha512 │ └── main.go ├── crypto_subtle │ └── main.go ├── database_sql │ └── main.go ├── encoding_asn1 │ └── main.go ├── encoding_csv │ └── main.go ├── encoding_gob │ └── main.go ├── encoding_hex │ └── main.go ├── encoding_json │ └── main.go ├── encoding_pem │ └── main.go ├── encoding_xml │ └── main.go ├── hash_adler32 │ └── main.go ├── html_template │ └── main.go ├── mime_multipart │ └── main.go ├── net_http_cgi │ └── main.go ├── net_http_fcgi │ └── main.go ├── net_http_pprof │ └── main.go ├── net_textproto │ └── main.go ├── path_filepath │ └── main.go ├── regexp_syntax │ └── main.go ├── runtime_debug │ └── main.go ├── runtime_msan │ └── main.go ├── runtime_pprof │ └── main.go ├── runtime_race │ └── main.go ├── runtime_trace │ └── main.go ├── testing_iotest │ └── main.go ├── testing_quick │ └── main.go ├── text_scanner │ └── main.go ├── text_tabwriter │ └── main.go ├── text_template │ └── main.go ├── unicode_utf16 │ └── main.go ├── unicode_utf8 │ └── main.go ├── crypto_elliptic │ └── main.go ├── crypto_x509_pkix │ └── main.go ├── encoding_ascii85 │ └── main.go ├── encoding_base32 │ └── main.go ├── encoding_base64 │ └── main.go ├── encoding_binary │ └── main.go ├── net_rpc_jsonrpc │ └── main.go ├── database_sql_driver │ └── main.go ├── image_color_palette │ └── main.go ├── index_suffixarray │ └── main.go ├── net_http_cookiejar │ └── main.go ├── net_http_httptest │ └── main.go ├── net_http_httptrace │ └── main.go ├── net_http_httputil │ └── main.go ├── text_template_parse │ └── main.go └── mime_quotedprintable │ └── main.go ├── .gitignore ├── Makefile ├── imports └── report.go /tests/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | wasm.wasm 2 | tinygo-import-report -------------------------------------------------------------------------------- /tests/flag/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "flag" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/fmt/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "fmt" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/hash/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "hash" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/html/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "html" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/io/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "io" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/log/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "log" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/math/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "math" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/mime/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "mime" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/os/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "os" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/path/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "path" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/sort/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "sort" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/sync/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "sync" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/time/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "time" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/bufio/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "bufio" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/bytes/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "bytes" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/errors/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "errors" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/expvar/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "expvar" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/plugin/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "plugin" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/regexp/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "regexp" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/unsafe/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "unsafe" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/container/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "container" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/context/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "context" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/hash_fnv/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "hash/fnv" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image_gif/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image/gif" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image_png/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image/png" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/io_ioutil/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "io/ioutil" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/math_big/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "math/big" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/math_bits/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "math/bits" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/math_rand/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "math/rand" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_mail/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/mail" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_rpc/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/rpc" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_smtp/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/smtp" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_url/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/url" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/os_exec/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "os/exec" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/os_signal/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "os/signal" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/os_user/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "os/user" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/reflect/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "reflect" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/strconv/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "strconv" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/strings/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "strings" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/syscall/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "syscall" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/testing/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "testing" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/unicode/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "unicode" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/archive_tar/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "archive/tar" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/archive_zip/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "archive/zip" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_aes/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/aes" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_des/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/des" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_dsa/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/dsa" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_hmac/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/hmac" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_md5/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/md5" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_rand/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/rand" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_rc4/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/rc4" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_rsa/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/rsa" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_sha1/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/sha1" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_tls/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/tls" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/hash_crc32/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "hash/crc32" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/hash_crc64/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "hash/crc64" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image_color/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image/color" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image_draw/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image/draw" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image_jpeg/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image/jpeg" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/log_syslog/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "log/syslog" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/math_cmplx/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "math/cmplx" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime_cgo/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime/cgo" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/sync_atomic/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "sync/atomic" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/syscall_js/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "syscall/js" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/compress_bzip2/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "compress/bzip2" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/compress_flate/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "compress/flate" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/compress_gzip/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "compress/gzip" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/compress_lzw/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "compress/lzw" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/compress_zlib/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "compress/zlib" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/container_heap/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "container/heap" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/container_list/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "container/list" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/container_ring/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "container/ring" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_cipher/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/cipher" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_ecdsa/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/ecdsa" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_sha256/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/sha256" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_sha512/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/sha512" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_subtle/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/subtle" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/database_sql/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "database/sql" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_asn1/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/asn1" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_csv/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/csv" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_gob/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/gob" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_hex/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/hex" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_json/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/json" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_pem/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/pem" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_xml/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/xml" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/hash_adler32/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "hash/adler32" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/html_template/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "html/template" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/mime_multipart/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "mime/multipart" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_cgi/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/cgi" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_fcgi/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/fcgi" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_pprof/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/pprof" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_textproto/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/textproto" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/path_filepath/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "path/filepath" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/regexp_syntax/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "regexp/syntax" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime_debug/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime/debug" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime_msan/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime/msan" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime_pprof/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime/pprof" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime_race/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime/race" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/runtime_trace/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "runtime/trace" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/testing_iotest/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "testing/iotest" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/testing_quick/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "testing/quick" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/text_scanner/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "text/scanner" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/text_tabwriter/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "text/tabwriter" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/text_template/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "text/template" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/unicode_utf16/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "unicode/utf16" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/unicode_utf8/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "unicode/utf8" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_elliptic/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/elliptic" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/crypto_x509_pkix/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "crypto/x509/pkix" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_ascii85/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/ascii85" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_base32/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/base32" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_base64/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/base64" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/encoding_binary/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "encoding/binary" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_rpc_jsonrpc/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/rpc/jsonrpc" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/database_sql_driver/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "database/sql/driver" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/image_color_palette/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "image/color/palette" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/index_suffixarray/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "index/suffixarray" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_cookiejar/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/cookiejar" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_httptest/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/httptest" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_httptrace/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/httptrace" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/net_http_httputil/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "net/http/httputil" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/text_template_parse/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "text/template/parse" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /tests/mime_quotedprintable/main.go: -------------------------------------------------------------------------------- 1 | 2 | package main 3 | 4 | import ( 5 | _ "mime/quotedprintable" 6 | ) 7 | 8 | func main() { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | current_dir=$(shell pwd) 2 | pkg=github.com/trashhalo/tinygo-import-report 3 | 4 | build: 5 | docker run --rm -v $(current_dir)/tests/$(target):/go/src/$(pkg) tinygo/tinygo \ 6 | build -o /go/src/$(pkg)/wasm.wasm -target wasm $(pkg) 7 | 8 | build-init: 9 | docker run --rm -v $(current_dir)/tests/$(target):/go/src/$(pkg) tinygo/tinygo \ 10 | build -initinterp -o /go/src/$(pkg)/wasm.wasm -target wasm $(pkg) -------------------------------------------------------------------------------- /imports: -------------------------------------------------------------------------------- 1 | archive/tar 2 | archive/zip 3 | bufio 4 | bytes 5 | compress/bzip2 6 | compress/flate 7 | compress/gzip 8 | compress/lzw 9 | compress/zlib 10 | container 11 | container/heap 12 | container/list 13 | container/ring 14 | context 15 | crypto 16 | crypto/aes 17 | crypto/cipher 18 | crypto/des 19 | crypto/dsa 20 | crypto/ecdsa 21 | crypto/elliptic 22 | crypto/hmac 23 | crypto/md5 24 | crypto/rand 25 | crypto/rc4 26 | crypto/rsa 27 | crypto/sha1 28 | crypto/sha256 29 | crypto/sha512 30 | crypto/subtle 31 | crypto/tls 32 | crypto/x509/pkix 33 | database/sql 34 | database/sql/driver 35 | encoding 36 | encoding/ascii85 37 | encoding/asn1 38 | encoding/base32 39 | encoding/base64 40 | encoding/binary 41 | encoding/csv 42 | encoding/gob 43 | encoding/hex 44 | encoding/json 45 | encoding/pem 46 | encoding/xml 47 | errors 48 | expvar 49 | flag 50 | fmt 51 | hash 52 | hash/adler32 53 | hash/crc32 54 | hash/crc64 55 | hash/fnv 56 | html 57 | html/template 58 | image 59 | image/color 60 | image/color/palette 61 | image/draw 62 | image/gif 63 | image/jpeg 64 | image/png 65 | index/suffixarray 66 | io 67 | io/ioutil 68 | log 69 | log/syslog 70 | math 71 | math/big 72 | math/bits 73 | math/cmplx 74 | math/rand 75 | mime 76 | mime/multipart 77 | mime/quotedprintable 78 | net 79 | net/http 80 | net/http/cgi 81 | net/http/cookiejar 82 | net/http/fcgi 83 | net/http/httptest 84 | net/http/httptrace 85 | net/http/httputil 86 | net/http/pprof 87 | net/mail 88 | net/rpc 89 | net/rpc/jsonrpc 90 | net/smtp 91 | net/textproto 92 | net/url 93 | os 94 | os/exec 95 | os/signal 96 | os/user 97 | path 98 | path/filepath 99 | plugin 100 | reflect 101 | regexp 102 | regexp/syntax 103 | runtime 104 | runtime/cgo 105 | runtime/debug 106 | runtime/msan 107 | runtime/pprof 108 | runtime/race 109 | runtime/trace 110 | sort 111 | strconv 112 | strings 113 | sync 114 | sync/atomic 115 | syscall 116 | syscall/js 117 | testing 118 | testing/iotest 119 | testing/quick 120 | text/scanner 121 | text/tabwriter 122 | text/template 123 | text/template/parse 124 | time 125 | unicode 126 | unicode/utf16 127 | unicode/utf8 128 | unsafe -------------------------------------------------------------------------------- /report.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "os" 7 | "os/exec" 8 | "sort" 9 | "strings" 10 | "sync" 11 | "text/template" 12 | ) 13 | 14 | const mainTemplate = ` 15 | package main 16 | 17 | import ( 18 | _ "{{.}}" 19 | ) 20 | 21 | func main() { 22 | } 23 | 24 | ` 25 | 26 | const readmeTemplate = ` 27 | # Tinygo Import Report 28 | This project imports each package in the stdlib and reports if it imports cleanly in tinygo. 29 | A package with a check may work a package with a x will definately not currently work. 30 | 31 | | Package | Imported? | 32 | | --- | --- |{{ range $key, $value := .}} 33 | | {{$value.Name}} | {{if $value.Imported}} :heavy_check_mark: {{else}} [:x:](#{{$value.Link}}) {{end}} | {{ end }} 34 | 35 | 36 | {{ range $key, $value := .}} 37 | ## {{$value.Name}} 38 | 39 | BTBTBT 40 | {{$value.Output}} 41 | BTBTBT 42 | 43 | {{ end }} 44 | ` 45 | 46 | type Result struct { 47 | Name string 48 | Imported bool 49 | Output string 50 | Link string 51 | } 52 | 53 | func main() { 54 | content, err := ioutil.ReadFile("imports") 55 | if err != nil { 56 | panic(err) 57 | } 58 | lines := strings.Split(string(content), "\n") 59 | maint := template.Must(template.New("main").Parse(mainTemplate)) 60 | readmet := template.Must(template.New("readme").Parse(strings.Replace(readmeTemplate, "BTBTBT", "```", -1))) 61 | results := make(chan Result) 62 | var wg sync.WaitGroup 63 | var resultsArr []Result 64 | go func() { 65 | for r := range results { 66 | resultsArr = append(resultsArr, r) 67 | println(r.Name) 68 | wg.Done() 69 | } 70 | }() 71 | for _, line := range lines { 72 | wg.Add(1) 73 | go func(line string) { 74 | noslash := strings.Replace(line, "/", "_", -1) 75 | dirsafe := fmt.Sprintf("tests/%v", noslash) 76 | os.Mkdir(dirsafe, 0755) 77 | f, err := os.Create(fmt.Sprintf("%v/main.go", dirsafe)) 78 | if err != nil { 79 | panic(err) 80 | } 81 | defer f.Close() 82 | err = maint.Execute(f, line) 83 | if err != nil { 84 | panic(err) 85 | } 86 | cmd := exec.Command("make", "build", fmt.Sprintf("target=%v", noslash)) 87 | stdoutStderr, err := cmd.CombinedOutput() 88 | results <- Result{ 89 | line, 90 | err == nil, 91 | string(stdoutStderr), 92 | strings.Replace(line, "/", "", -1), 93 | } 94 | }(line) 95 | } 96 | wg.Wait() 97 | close(results) 98 | sort.Slice(resultsArr, func(i, j int) bool { 99 | return resultsArr[i].Name < resultsArr[j].Name 100 | }) 101 | 102 | f, err := os.Create("Readme.md") 103 | if err != nil { 104 | panic(err) 105 | } 106 | defer f.Close() 107 | err = readmet.Execute(f, resultsArr) 108 | if err != nil { 109 | panic(err) 110 | } 111 | } 112 | --------------------------------------------------------------------------------