npm Scripts#
This file documents the scripts available in the package.json file.
Scripts can be executed by running npm run <name>.
-
anki:css-json:writeWrites Anki structured content styling json for use when sending stuctured content dictionaries to Anki.
CSS rules are taken from
ext/css/structured-content.cssand converted into json.CSS rule overrides and exclusions can be set in
dev/data/structured-content-overrides.css. -
benchRuns performance benchmarks. -
buildBuilds packages for all of the primary build targets and outputs them to the builds folder in the root project directory. -
build:libsRebuilds all of the third-party dependencies that the extension uses. -
build:serve:firefox-androidadbandweb-extare required to be installed on your computer for this command to work!Builds for Firefox and then uses
web-extto serve the extension throughadbto Firefox for Android. Prepend the environment variables WEB_EXT_TARGET and WEB_EXT_ADB_DEVICE for the command to succeed (example:WEB_EXT_TARGET="firefox-android" WEB_EXT_ADB_DEVICE="emulator-5554" npm run build:serve:firefox-android). WEB_EXT_TARGET will be "firefox-android" for vanilla Firefox, and you can find the value for WEB_EXT_ADB_DEVICE by running the commandadb devices. -
build:serve:kiwi-browseradbis required to be installed on your computer for this command to work!Builds for Chromium and then uses
adbtopushthe built zip file over to/sdcard/yomitan. You can then open up Kiwi Browser on the target phone and install the extension through that zip file. -
testRuns all of the tests. -
test:fastRuns most of the tests that are used more frequently in the typical development process. -
test:static-analysisRuns all of the static analysis tests (excluding JSON). -
test:jsRuns eslint on all of the JavaScript and TypeScript files in the project. -
test:jsonRuns all JSON tests. -
test:json:formatRuns eslint on all of the JSON files in the project. -
test:json:typesPerforms type checking on all of the JSON files in the project. Running this script often takes a long time since it has to validate a lot of files with complex types. -
test:cssRuns stylelint on all of the CSS files in the project. -
test:htmlRuns html-validate on all of the HTML files in the project. -
test:mdRuns prettier on all of the Markdown files in the project. -
test:md:writeUses prettier to fix all issues it encounters with files. -
test:tsRuns TypeScript validation on all of the JavaScript and TypeScript files in the project. -
test:ts:mainRuns TypeScript validation on the files in the ext folder. -
test:ts:devRuns TypeScript validation on the files in the dev folder. -
test:ts:testRuns TypeScript validation on the files in the test folder. -
test:ts:benchRuns TypeScript validation on the files in the benches folder. -
test:unitRuns all of the unit tests in the project using vitest. -
test:unit:writeOverwrites the expected test output data for some of the larger tests. This usually only needs to be run when something modifies the format of dictionary entries or Anki data. -
test:unit:optionsRuns unit tests related to the extension's options and their upgrade process. -
test:buildPerforms a dry run of the build process without generating any files. -
license-report:htmlGenerates a file containing license information about the third-party dependencies the extension uses. The resulting file is located at ext/legal-npm.html. -
license-report:markdownGenerates a Markdown table containing license information about the third-party dependencies the extension uses. This table is located in the README.md file -
prepareSets up husky for some git pre-commit tasks.