Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20250228-create-npm-package-with-wasm
Search
kazto
February 28, 2025
Programming
140
1
Share
20250228-create-npm-package-with-wasm
kazto
February 28, 2025
More Decks by kazto
See All by kazto
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
530
アイカツ!から学ぶビジネスパーソンとしての姿勢 / learn-the-attitude-of-businessperson-from-aikatsu
kazto
0
770
C言語でオブジェクト指向プログラミング / object-oriented-in-c
kazto
1
950
Golangでwget劣化クローンをつくる / wget clone with golang
kazto
1
530
登壇を応援する会忘年LT_今からやぞ_.pdf
kazto
2
4.6k
Other Decks in Programming
See All in Programming
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
180
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
110
🦞OpenClaw works with AWS
licux
1
350
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
450
AI-DLC Deep Dive
yuukiyo
9
5.6k
Programming with a DJ Controller — not vibe coding
m_seki
3
800
PHPer、Cloudflare に引っ越す
suguruooki
1
140
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
370
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
220
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.9k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
1.7k
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.7k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
350
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
690
We Are The Robots
honzajavorek
0
220
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
GitHub's CSS Performance
jonrohan
1032
470k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
740
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
Faster Mobile Websites
deanohume
310
31k
Transcript
WASMをビルドして npmパッケージにする (個人的な作業進捗を添えて) 2025/02/28 新宿御苑.wasm kazto_dev
自己紹介 • 横浜のSIerで働いている多摩地区在住 • 仕事ではマルチスタックと言う名のなんでも屋 ◦ メインはサーバサイド ◦ フロントエンドちょこっと ◦
Flutterスマホアプリちょこっと ◦ AWSちょこっと • 自社で一番WASMとZigとCloudflareを語れる人になりたい
やりたいこと • 昨年末のアドベントカレンダーでこんなん書きました
やりたいこと • fzfの検索で、migemo風にローマ字で日本語検索できたら便利そう • 本丸は、CLI • npmパッケージにして、フロントエンドとかでも使えたりしないか? ◦ fzfもmigemoもGolang実装だし、WASMで配布できるのでは?
おおまかなステップ • 簡単なWASMをビルドしてnpmパッケージにする • npm installして使えることを確認する • 使いたい外部パッケージ (gomigemo, fzf)
をWASMビルドする • どれをどう呼んだら連結させられるか(たぶんここまではまだ行けない)
簡単なWASMをビルドしてnpmパッケージにする • 右のような簡単なソースをつくる • GOOS=js GOARCH=wasm go build -o add.wasm
add.go main.go
npmパッケージをつくる • ./dist/ ディレクトリに下記を置く ◦ add.wasm ◦ $(go env GOROOT)/misc/wasm/wasm_exec.js
◦ index.js (右記) • npm publish
・・・結果
時間切れ • お目汚し失礼いたしました🙇 • さきほど知ったんですが、WASMにはまだDynamic Link Libraryみたいなしくみな いらしいですね