## 事象 [[🦉Silhouette.nvim]]を[[Neovim]]で起動すると以下のエラーになる。 ```error [denops] Failed to load plugin 'silhouette': TypeError: Relative import path "@tadashi-aikawa/silhouette-core" not prefixed with / or ./ or ../ and not in import map from "file:///home/tadashi-aikawa/git/github.com/tadashi-aikawa/silhouette.nvim/denops/silhouette/app/NvimTaskService.ts" [denops] at file:///home/tadashi-aikawa/git/github.com/tadashi-aikawa/silhouette.nvim/denops/silhouette/app/NvimTaskService.ts:11:44 ``` `deno.json` ```json { "imports": { "@tadashi-aikawa/silhouette-core": "jsr:@tadashi-aikawa/silhouette-core@^1.0.2" } } ``` `NvimTaskService.ts:11` ```ts import { Repetition, RepetitionTask } from "@tadashi-aikawa/silhouette-core"; ``` ### 再現環境 - [[Denops]] `3a38e08` - [[Neovim]] `v0.10.2` - [[🦉Silhouette.nvim]] `09e1aa2` ## 原因 `@tadashi-aikawa/silhouette-core`を`jsr:@tadashi-aikawa/silhouette-core@^1.0.2`と解釈できずエラーになったから。`deno.json`の`imports`が認識されていなさそう。 ## 解決方法 [[Denops]]を利用したプラグインは個別のワーカースレッドで動かしているため、解決は難しそうとのこと。 <div class="link-card"> <div class="link-card-header"> <img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/> <span class="link-card-site-name">GitHub</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">Support for import_map.json? · Issue #91 · vim-denops/denops.vim</p> <p class="link-card-description">Hey I've been using this to build my own plugin, and really enjoying it 😄 over at https://github.com/creativenull/pro ... </p> </div> <img src="https://opengraph.githubassets.com/eb2d259f9d30e2dbaffcf7a4199bad9374c55325363c99a19fecf62717b216cf/vim-denops/denops.vim/issues/91" class="link-card-image" /> </div> <a href="https://github.com/vim-denops/denops.vim/issues/91"></a> </div> [[Import Maps (Deno)|Import Maps]]を使うのではなく[[URL]]で記述し、[[udd (Deno)|udd]]を使って管理するのが推奨らしい。ただ、[[JSR]]はサポートされてなさそうなので微妙な気がする。 <div class="link-card"> <div class="link-card-header"> <img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/> <span class="link-card-site-name">GitHub</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">Support for `jsr:` · Issue #111 · hayd/deno-udd</p> <p class="link-card-description">It would be nice for UDD to support Deno's new preferred registry, JSR.</p> </div> <img src="https://opengraph.githubassets.com/0e455d657a6a9dc5dc5b901c2e25037240395f9061f9a6624965d213353629ff/hayd/deno-udd/issues/111" class="link-card-image" /> </div> <a href="https://github.com/hayd/deno-udd/issues/111"></a> </div> ### 回避策 `npm:`や`jsr:`のprefixつき[[スコープ (JSR)|スコープ]]で指定する。(URLでも可) ```diff import from "@tadashi-aikawa/silhouette-core" import from "jsr:@tadashi-aikawa/silhouette-core@^1.0.2" ```