概要
そのときの設定のつまずきポイントをメモした。
設定のつまづきポイント
- vendor指定忘れがち
- app/ディレクトリ作り忘れる(私が設定ミスっただけかもしれない)
- TypeScriptでかける用意する
- manifestをv2 からv3に対応
vendor指定忘れがち
"scripts": { "dev": "webextension-toolbox dev chrome", "build": "webextension-toolbox build chrome" },
manifest.jsonがないと言われる。
エラー内容
> webextension-toolbox dev chrome /node_modules/webextension-toolbox/src/utils/get-extension-info.js:22 throw new Error('You need to provide a valid \'manifest.json\'') ^ Error: You need to provide a valid 'manifest.json'
よくわからないため、Errorがもっと出るように、
node_modules/webextension-toolbox/src/utils/get-extension-info.js:22
を開いてエラーが出るようにする。
Error: Error: Cannot find module 'app/manifest.json'
解決策
app/を作った。
typescriptを入れる
manifest.json v3対応
"background" [1]: { "service_worker": "scripts/background.js" } } [1] "background" must contain at least one of [scripts, page] at Object.validate
ということで、manifest v2のバリデーションがかかっている。
issueを見た。
ということで、対応されているはず。
一旦、package.jsonの中身を変更した。
"devDependencies": { "webextension-toolbox": "github:webextension-toolbox/webextension-toolbox#main" }
すると、
> webextension-toolbox dev chrome node:internal/modules/esm/resolve:265 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module
となった。
node_modules配下の`webextension-toolbox/dist/がないのでだめっぽかった。
ということで、 cdして、npm run build
した。
結果
build通った。