UserScriptをbundleしてimportするコマンド
from /takker/takker用UserScriptのbundle設定
UserScriptをbundleするDeno scriptを実行するためのコマンドメモ
用途
個別のデカいUserScriptを/programming-notesとかからbundle形式で追加/更新する
importするUserScriptをまとめてbundleする
複数プロジェクトをまとめてやるver: scrapbox-bundle-all
0. bundle対象のscript.jsを作成する
またはimportする
1. bundleする
code:sh
PAGETITLE="SharedUserScripts-PC"
code:for-script-js.sh
deno run --allow-net --allow-read --allow-write --allow-run --allow-env --unstable https://scrapbox.io/api/code/yosider-scripts/UserScriptをbundleするDeno_script/build.ts https://scrapbox.io/api/code/yosider-scripts/$PAGETITLE/script.js --bundle --minify --charset=utf8 --outfile=script.min.js
style.cssはbundleできないぽい
@importが未定義
script.tsの場合はそのように修正する
2. scrapbox json dataに変換する
code:sh
deno run --allow-net --allow-read --allow-write --allow-run --allow-env --unstable https://scrapbox.io/api/code/yosider-scripts/UserScriptをbundleしてimportするコマンド/build.ts $PAGETITLE
3. importする
https://scrapbox.io/projects/yosider-scripts/settings/page-data
code:build.ts
const title = Deno.args0;
const script = await Deno.readTextFile('script.min.js');
const json = {pages: [{
title: for-${title}-min,
lines: [
for-${title}-min,
[/${key}]で使うUserScript,
[for-${title}]を[UserScriptをbundleするDeno script]でbundleしたもの,
via [UserScriptをbundleしてimportするコマンド],
'',
'code:script.js',
...script.split('\n').map(line => ${line}),
],
}]};
await Deno.writeTextFile('import.json', JSON.stringify(json));
https://gyazo.com/274eae2f746c500063bf5883785ce292 https://www.3dizingof.com/wp-content/uploads/2016/08/bundle-icon.jpeg