anki/ts
Hikaru Y 779ca57660
Refactor CSS/image preloading; implement custom font preloading (#2356)
* Refactor CSS preloading

- Rename css.ts to preload.ts
- Rename type/function names
- Automatically remove style/link element on load/error event

* Refactor image preloading

- Reuse template element
- Change timeout value from 100ms to 200ms, as it often takes more than
  100ms to load even a single small image on a low-spec machine
- Refactor preloadAnswerImages():
  - Use 'new Image()' instead of <link rel=preload>
  - Stop calculating images that only appear on the answer side as
    cached images are resolved immediately

* Update tsconfig.json

es2020.string -> String.matchAll()
es2018.regexp -> RegExprMatchArray.groups

* Implement custom font preloading

Font files for some languages such as Chinese and Japanese can be as
large as 20MB, so we set the timeout value to 800ms for font preloading.
2023-05-10 13:26:02 +10:00
..
card-info Show custom data in stats screen 2023-02-07 12:27:43 +10:00
change-notetype Fix non-Latin text wrapping in deck options dropdown (#2334) 2023-01-19 20:59:27 +10:00
components Revert "Prevent MathJax editor from closing unexpectedly when selecting text (#2484)" 2023-05-01 11:17:09 +10:00
congrats Add some left/right margins to congrats page 2022-12-04 13:58:50 +10:00
deck-options Add a fully-random review order 2023-04-11 16:16:45 +10:00
domlib Fix overwrite surround (#2247) 2022-12-09 10:10:58 +10:00
editable Prevent skewing of resized images in editor (#2488) 2023-05-05 19:16:06 +10:00
editor Refactor plain/rich text input toggling code; fix focus loss (#2479) 2023-04-22 16:08:25 +10:00
fields Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
graphs Add emojis for graphs in hourly breakdown tooltip (#2464) 2023-04-17 16:16:10 +10:00
html-filter Re-enable formatting for .ts files 2022-11-28 09:33:04 +10:00
icons Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
image-occlusion fix image height issues in iOS safari (#2480) 2023-04-26 16:01:04 +10:00
import-csv Prevent the sticky from hiding in the stats page (#2457) 2023-03-26 15:23:50 +10:00
lib Feature image occlusion (#2367) 2023-03-29 12:33:19 +10:00
mathjax Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
patches Protobufjs fixed the relative path issue 2023-02-03 09:31:42 +10:00
reviewer Refactor CSS/image preloading; implement custom font preloading (#2356) 2023-05-10 13:26:02 +10:00
sql_format Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
sveltelib Avoid firing click event in floatables when user drags the mouse 2023-05-01 11:44:24 +10:00
tag-editor Allow Shift+Tab to move focus from tag area to last field (#2458) 2023-03-28 14:13:21 +10:00
.gitignore Update eslint to 4.22.0 2021-04-22 19:19:39 +02:00
bundle_svelte.mjs Add env var to enable sourcemaps 2022-12-04 11:37:16 +10:00
bundle_ts.mjs Add env var to enable sourcemaps 2022-12-04 11:37:16 +10:00
esbuild_jest.mjs Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
jest.config.js Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
licenses.json Update to the latest TypeScript version 2023-04-12 16:42:28 +10:00
page.html Load page script after body created (#1802) 2022-04-19 17:16:56 +10:00
README.md add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
transform_ts.mjs Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
tsconfig.json Refactor CSS/image preloading; implement custom font preloading (#2356) 2023-05-10 13:26:02 +10:00
yarn.sh Fix yarn.sh failing with linked out folder 2023-03-31 13:08:59 +10:00

Anki's TypeScript and Sass dependencies. Some TS/JS code is also stored separately in ../qt/aqt/data/web/.

To update all dependencies:

./update.sh

To add a new dev dependency, use something like:

./add.sh -D @rollup/plugin-alias