✅️scrapbox-userscript-stdをjsr:@cosense/stdからimportしてscrapbox-bundlerしたらエラーが出た 2024/11/3
from @takker
scrapbox-bundlerはJSRに対応していますか?yosider.icon
scrapbox-userscript-stdをgithubからimportしているのを@cosense/stdからのimportに置き換えてみたんですが、scrapbox-bundlerがFailed to build.となりました
/takker/JSR#668cea3f1280f00000ece11d
対応してますtakker.icon
ただし、ソースファイル中にimportで指定されている場合のみです
?url=にjsr:形式のURLを直接渡した場合はエラーになります
まだ未実装
URL見せてもらえませんか
/yosider-scripts/scrapbox-bundler#67276717e5172d000039ab9d
reload=にURLPattern形式の文字列を渡すことで、reload対象を絞り込めます
これどこかに書いた気がしたけど、どこに書いたか忘れてしまった
例えばreload=*://scrapbox.io/*で、scrapbox.ioのドメインのURLのみリロードできます
/yosider-scripts/SharedUserScripts#652c3008e5172d0000f43f2aこのリンクでbundleしようとしてますyosider.icon
@cosense/stdからimportしているのはここ:/yosider-scripts/scrapbox-userscript-std
ほんとだtakker.icon
import specifierはあってそう
module同士で重複する識別子が衝突してるかも
?yosider.icon
たとえばtakker.icon
code:ts
export * from "jsr:@cosense/std";
export * from "jsr:@cosense/std/title";
train.iconすごい!takker.iconがリアルタイムでcodingしてる!bsahd.icon
は同じ識別子toTitleLcなどをexportしているので、衝突してbuild errorになります
実は@cosense/stdはこの手の重複識別子がそこそこあるので、もしかしたらその線もあるかなーと予想しましたtakker.icon
同じ人の制作物でここまで相性が悪いのはすごいbsahd.icon
グハァtakker.icon
一応、こういう設計になっているのには理由があるtakker.icon
module nameに意味を載せて、変数名を単純にしている
ソースコードを階層整理する必要はあるのか?#6226e131aff09e0000571d4d
ずっと前に同じこと書いていたの見つけた
laptopしまっちゃってconsoleみれないので、明日確認します
オナシャス🙇yosider.icon
bundle時のエラーを表示するのは未実装なのだろうか
console出力でごまかしてます……サーセンtakker.icon
それはブラウザ上で表示されるはずなんでしょうか?❌️Failed to build.としか表示されないんですが…yosider.icon
console.error()で開発コンソールに出力していますtakker.icon
ほんとだ!yosider.icon
code:console
Error: Build failed with 9 errors:
https://jsr.io/@cosense/std/0.28.4/browser/dom/edit.ts:6:24: ERROR: plugin: remote-loader InvalidPackageVersionError No version of @core/unknownutil satisfies "%5E4.0.0" (available: 4.2.0, 3.18.0, 4.1.0-pre.0, 4.0.3-pre.4, 4.0.3-pre.3, 4.0.2, 3.17.2, 4.2.1-pre.1, 4.0.3-pre.2, 4.0.3-pre.0, ... (19 more versions))
https://jsr.io/@cosense/std/0.28.4/browser/dom/edit.ts:7:25: ERROR: plugin: remote-loader InvalidPackageVersionError No version of @core/unknownutil satisfies "%5E4.0.0" (available: 4.2.0, 3.18.0, 4.1.0-pre.0, 4.0.3-pre.4, 4.0.3-pre.3, 4.0.2, 3.17.2, 4.2.1-pre.1, 4.0.3-pre.2, 4.0.3-pre.0, ... (19 more versions))
https://jsr.io/@cosense/std/0.28.4/browser/dom/edit.ts:8:25: ERROR: plugin: remote-loader InvalidPackageVersionError No version of @core/unknownutil satisfies "%5E4.0.0" (available: 4.2.0, 3.18.0, 4.1.0-pre.0, 4.0.3-pre.4, 4.0.3-pre.3, 4.0.2, 3.17.2, 4.2.1-pre.1, 4.0.3-pre.2, 4.0.3-pre.0, ... (19 more versions))
https://jsr.io/@cosense/std/0.28.4/browser/dom/node.ts:1:24: ERROR: plugin: remote-loader InvalidPackageVersionError No version of @core/unknownutil satisfies "%5E4.0.0" (available: 4.2.0, 3.18.0, 4.1.0-pre.0, 4.0.3-pre.4, 4.0.3-pre.3, 4.0.2, 3.17.2, 4.2.1-pre.1, 4.0.3-pre.2, 4.0.3-pre.0, ... (19 more versions))
https://jsr.io/@cosense/std/0.28.4/browser/dom/node.ts:2:25: ERROR: plugin: remote-loader InvalidPackageVersionError No version of @core/unknownutil satisfies "%5E4.0.0" (available: 4.2.0, 3.18.0, 4.1.0-pre.0, 4.0.3-pre.4, 4.0.3-pre.3, 4.0.2, 3.17.2, 4.2.1-pre.1, 4.0.3-pre.2, 4.0.3-pre.0, ... (19 more versions))
%5E?なにかの特殊文字がpercent encodingされてる?takker.icon
^かな?
https://jsr.io/@cosense/std/0.28.4/browser/dom/node.ts
やっぱり。^がencodeされちゃってる
明日直し方考えてみます
ちょっと時間かかるかも
ゆっくりで大丈夫ですyosider.icon
なるほどーyosider.icon
takkerさんはこの方法ではやってない?yosider.icon
思えば最近UserScript更新してなかったかもtakker.icon
それで気づかなかったのかも
何もしてないから壊れたパターン
井戸端カスタマーサポートbsahd.iconyosider.icon
2024-11-04
すみません今日対応難しそうですtakker.icon
今大学にいるのですが、laptopの電源アダプタを忘れてきてしまいました
laptopのバッテリー残量がそれほどないので、codingする時間がなさそうです
大統領選が終わった頃にやります
👍yosider.iconbsahd.icon
https://github.com/takker99/ScrapJupyter/blob/06db1984fab012f4fd3dc870e392de9d73ed218f/esbuildResolution.ts#L45
このURL変換を止めれば直るはず
2024-11-08
08:54:17 違った。esbuild_deno_loaderの仕様だった
https://github.com/takker99/ScrapJupyter/pull/61
これで直るはず
mergeする前に、scrapbox-bundlerのほうで試してみる
14:49:38 直った
ただし、cache全消去をawaitする処理を挟んでしまい、初回実行に時間がかかってしまうようにしちゃった
https://github.com/takker99/scrapbox-bundler/pull/28
もう少し修正するつもり
19:12:13 cache周り直しました!
https://github.com/takker99/scrapbox-bundler/pull/30
多分大丈夫なはずです
あとついでにエラーメッセージを表示するようにしました
ありがとうございます!無事動きましたyosider.icon*2