aboutsummaryrefslogtreecommitdiff
path: root/docs/development/npm-scripts.md
blob: 522be174e9bb53de24aa42de610b4042c6635349 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# npm Scripts

This file documents the scripts available in the [package.json](../../package.json) file.
Scripts can be executed by running `npm run <name>`.

- `bench`
  Runs performance benchmarks.

- `build`
  Builds packages for all of the primary build targets and outputs them to the builds folder in the root project directory.

- `build:libs`
  Rebuilds all of the third-party dependencies that the extension uses.

- `test`
  Runs all of the tests.

- `test:fast`
  Runs most of the tests that are used more frequently in the typical development process.

- `test:static-analysis`
  Runs all of the static analysis tests.

- `test:js`
  Runs [eslint](https://eslint.org/) on all of the JavaScript and TypeScript files in the project.

- `test:json`
  Runs all JSON tests.

- `test:json:format`
  Runs eslint on all of the JSON files in the project.

- `test:json:types`
  Performs 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:css`
  Runs [stylelint](https://stylelint.io/) on all of the CSS files in the project.

- `test:html`
  Runs [html-validate](https://html-validate.org/) on all of the HTML files in the project.

- `test:md`
  Runs [prettier](https://prettier.io/) on all of the Markdown files in the project.

- `test:md:write`
  Uses prettier to fix all issues it encounters with files.

- `test:ts`
  Runs [TypeScript](https://www.typescriptlang.org/) validation on all of the JavaScript and TypeScript files in the project.

- `test:ts:main`
  Runs [TypeScript](https://www.typescriptlang.org/) validation on the files in the [ext](../../ext/) folder.

- `test:ts:dev`
  Runs [TypeScript](https://www.typescriptlang.org/) validation on the files in the [dev](../../dev/) folder.

- `test:ts:test`
  Runs [TypeScript](https://www.typescriptlang.org/) validation on the files in the [test](../../test/) folder.

- `test:ts:bench`
  Runs [TypeScript](https://www.typescriptlang.org/) validation on the files in the [benches](../../benches/) folder.

- `test:unit`
  Runs all of the unit tests in the project using [vitest](https://vitest.dev/).

- `test:unit:write`
  Overwrites 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:options`
  Runs unit tests related to the extension's options and their upgrade process.

- `test:build`
  Performs a dry run of the build process without generating any files.

- `license-report:html`
  Generates 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:markdown`
  Generates a Markdown table containing license information about the third-party dependencies the extension uses.
  This table is located in the [README.md](../../README.md#third-party-libraries) file

- `prepare`
  Sets up [husky](https://typicode.github.io/husky/) for some git pre-commit tasks.