| Crates.io | lindera-wasm |
| lib.rs | lindera-wasm |
| version | 1.1.0 |
| created_at | 2025-04-01 12:42:08.286082+00 |
| updated_at | 2025-09-13 14:00:17.663779+00 |
| description | A morphological analysis library for WebAssembly. |
| homepage | https://github.com/lindera/lindera-wasm |
| repository | https://github.com/lindera/lindera-wasm |
| max_upload_size | |
| id | 1614797 |
| size | 226,362 |
WebAssembly of Lindera
https://www.npmjs.com/package/lindera-wasm
Lindera WASM with CJK dictionaries (IPADIC, ko-dic, CC-CEDICT)
https://www.npmjs.com/package/lindera-wasm-ipadic
Lindera WASM with Japanese dictionary (IPADIC)
https://www.npmjs.com/package/lindera-wasm-unidic
Lindera WASM with Japanese dictionary (UniDic)
https://www.npmjs.com/package/lindera-wasm-ko-dic
Lindera WASM with Korean dictionary (ko-dic)
https://www.npmjs.com/package/lindera-wasm-cc-cedict
Lindera WASM with Chinese dictionary (CC-CEDICT)
init the wasm module before construct TokenizerBuilder:
import __wbg_init, { TokenizerBuilder } from 'lindera-wasm'
__wbg_init.then(() => {
const builder = new TokenizerBuilder()
//...
})
You should exclude this package in the optimizeDeps:
// vite.config.js
import { defineConfig } from 'vite'
export default defineConfig({
optimizeDeps: {
exclude: [
"lindera-wasm"
]
},
})
Set the cors config in vite.config.js
// vite.config.js
import { defineConfig } from 'vite'
export default defineConfig({
server: {
cors: {
origin: [
/chrome-extension:\/\//,
],
},
},
})
and set the content_security_policy to contains wasm-unsafe-eval in manifest.json:
// manifest.json
"content_security_policy": {
"extension_pages": "script-src 'self' 'wasm-unsafe-eval';"
}
# Clone lindera-py project repository
% git clone git@github.com:lindera/lindera-wasm.git
% cd lindera-wasm
% wasm-pack build --release --features=cjk --target=bundler
% cd lindera-wasm && npm install && npm run build && cp index.html dist/index.html
% cd lindera-wasm && npm run start