Scala.js/Chrome拡張機能を作る
要素技術
scala-js/vite-plugin-scalajs
Viteからsbtを呼び出してScala.jsのコードをビルドするViteプラグイン CRXJS Vite Plugin
ViteでChrome拡張を作成できるようにするViteプラグイン
Content Scriptを動かす
code:Content.scala
import scala.scalajs.js
import scala.scalajs.js.annotation._
@JSExportTopLevel("Content", "content")
object Content {
println("Hello, content script!")
}
こんな感じでexport名を指定しておく
vite.config.jsでcontent scriptを見るようにする
code:vite.config.js
import { defineConfig } from "vite";
import scalaJSPlugin from "@scala-js/vite-plugin-scalajs";
import { crx, defineManifest } from "@crxjs/vite-plugin";
const manifest = defineManifest({
manifest_version: 3,
name: "Hide All",
version: "0.0.1",
action: {
default_popup: "index.html",
},
content_scripts: [
{
matches: [
]
}
],
});
export default defineConfig({
});
クッションとしてcontent.jsに以下のように書いてScala.jsにパスする
code:content.js
import 'scalajs:content.js'
選択範囲をitalicとかにする拡張を試しに作る