Go to file
Damien Elmes 9f55cf26fc
Switch to SvelteKit (#3077)
* Update to latest Node LTS

* Add sveltekit

* Split tslib into separate @generated and @tslib components

SvelteKit's path aliases don't support multiple locations, so our old
approach of using @tslib to refer to both ts/lib and out/ts/lib will no
longer work. Instead, all generated sources and their includes are
placed in a separate out/ts/generated folder, and imported via @generated
instead. This also allows us to generate .ts files, instead of needing
to output separate .d.ts and .js files.

* Switch package.json to module type

* Avoid usage of baseUrl

Incompatible with SvelteKit

* Move sass into ts; use relative links

SvelteKit's default sass support doesn't allow overriding loadPaths

* jest->vitest, graphs example working with yarn dev

* most pages working in dev mode

* Some fixes after rebasing

* Fix/silence some svelte-check errors

* Get image-occlusion working with Fabric types

* Post-rebase lock changes

* Editor is now checked

* SvelteKit build integrated into ninja

* Use the new SvelteKit entrypoint for pages like congrats/deck options/etc

* Run eslint once for ts/**; fix some tests

* Fix a bunch of issues introduced when rebasing over latest main

* Run eslint fix

* Fix remaining eslint+pylint issues; tests now all pass

* Fix some issues with a clean build

* Latest bufbuild no longer requires @__PURE__ hack

* Add a few missed dependencies

* Add yarn.bat to fix Windows build

* Fix pages failing to show when ANKI_API_PORT not defined

* Fix svelte-check and vitest on Windows

* Set node path in ./yarn

* Move svelte-kit output to ts/.svelte-kit

Sadly, I couldn't figure out a way to store it in out/ if out/ is
a symlink, as it breaks module resolution when SvelteKit is run.

* Allow HMR inside Anki

* Skip SvelteKit build when HMR is defined

* Fix some post-rebase issues

I should have done a normal merge instead.
2024-03-31 09:16:31 +01:00
.buildkite Fix cargo deny in CI 2024-02-24 15:22:57 +07:00
.cargo Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
.config Drop workspace-hack in favor of workspace deps 2023-06-23 17:41:31 +10:00
.github/ISSUE_TEMPLATE Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
.vscode.dist Fix Select component not reacting to changed list (#2885) 2023-12-11 09:12:34 +10:00
build Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
cargo sync-server: add option to store hashed passwords (#3083) 2024-03-26 07:39:57 +00:00
docs Refactor offline build process and add offline generation of Sphinx docs (#3082) 2024-03-27 13:51:09 +00:00
ftl Update translations 2024-03-31 13:57:06 +07:00
proto rename sm2 retention to historical retention (#3101) 2024-03-29 09:34:26 +00:00
pylib Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
python Update black for security issue 2024-03-25 16:44:07 +07:00
qt Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
rslib Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
tools Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
ts Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
.deny.toml Fix cargo deny in CI 2024-02-24 15:22:57 +07:00
.dprint.json Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
.eslintrc.cjs Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
.gitattributes try again to improve GitHub's language stats 2021-01-20 13:20:45 +10:00
.gitignore Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
.gitmodules Exclude PyOxidizer from recursive checkout 2023-07-02 18:22:44 +10:00
.isort.cfg Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
.mypy.ini Use system certificate store (#3050) 2024-03-04 05:48:16 +00:00
.pylintrc Add ability to restore a notetype to its original configuration (#2472) 2023-04-18 14:07:51 +10:00
.rustfmt-empty.toml Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
.rustfmt.toml Move ascii_percent_encoding into a separate repo 2023-04-12 08:45:23 +10:00
.version Bump version to 24.04 2024-02-28 15:37:25 +07:00
Cargo.lock sync-server: add option to store hashed passwords (#3083) 2024-03-26 07:39:57 +00:00
Cargo.toml sync-server: add option to store hashed passwords (#3083) 2024-03-26 07:39:57 +00:00
check Add a shortcut to auto-format before running checks 2023-07-02 09:59:05 +10:00
CONTRIBUTORS Improve timer interval display (#3096) (#3100) 2024-03-31 07:49:16 +01:00
LICENSE Replace css_browser_selector with our own implementation (#2854) 2023-11-30 10:57:33 +10:00
ninja Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
package.json Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
pkgkey.asc add public key for release signing 2018-09-18 10:40:45 +10:00
README.md Updated README (#2718) 2023-10-11 14:11:07 +10:00
run Fix webengine remote debugging in Qt6 2023-11-05 12:41:17 +10:00
run.bat Fix webengine remote debugging in Qt6 2023-11-05 12:41:17 +10:00
rust-toolchain.toml Update to Rust 1.75 2024-01-05 14:28:23 +10:00
SECURITY.md add SECURITY.md 2021-09-22 22:55:19 +10:00
yarn Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
yarn.bat Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
yarn.lock Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00

Anki

Build status

This repo contains the source code for the computer version of Anki.

About

Anki is a spaced repetition program. Please see the website to learn more.

Getting Started

Anki Betas

If you'd like to try development builds of Anki but don't feel comfortable building the code, please see Anki betas

Developing

For more information on building and developing, please see Development.

Contributing

Want to contribute to Anki? Check out the Contribution Guidelines.

Anki Contributors

CONTRIBUTORS

License

Anki's license: LICENSE