This repository was archived by the owner on Nov 13, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtodo-short-list.html
More file actions
29 lines (27 loc) · 32.6 KB
/
Copy pathtodo-short-list.html
File metadata and controls
29 lines (27 loc) · 32.6 KB
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
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Remult</title>
<meta name="description" content="Build Full-stack, End-to-end Type-safe CRUD Apps without the Boilerplate">
<meta name="generator" content="VitePress v1.6.3">
<link rel="preload stylesheet" href="/assets/style.eDsXX7d9.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.Co1ECDLo.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.JH5Qo4Cr.js">
<link rel="modulepreload" href="/assets/chunks/framework.BLY-PH98.js">
<link rel="modulepreload" href="/assets/todo-short-list.md.C6jwW9bP.lean.js">
<link href="/favicon.png" rel="icon" type="image/png">
<link href="/favicon.png" rel="apple-touch-icon" sizes="128x128">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-RBX0REXJT3"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-RBX0REXJT3");</script>
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-d8b57b2d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-fcbfc0e0></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-fcbfc0e0>Skip to content</a><!--]--><!----><header class="VPNav" data-v-d8b57b2d data-v-7ad780c2><div class="VPNavBar" data-v-7ad780c2 data-v-9fd4d1dd><div class="wrapper" data-v-9fd4d1dd><div class="container" data-v-9fd4d1dd><div class="title" data-v-9fd4d1dd><div class="VPNavBarTitle" data-v-9fd4d1dd data-v-9f43907a><a class="title" href="/" data-v-9f43907a><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/logo-white.svg" alt data-v-ab19afbb><!--]--><!--[--><img class="VPImage light logo" src="/logo-dark.svg" alt data-v-ab19afbb><!--]--><!--]--><!--]--><span data-v-9f43907a>Remult</span><!--[--><!--]--></a></div></div><div class="content" data-v-9fd4d1dd><div class="content-body" data-v-9fd4d1dd><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fd4d1dd><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fd4d1dd data-v-afb2845e><span id="main-nav-aria-label" class="visually-hidden" data-v-afb2845e> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Documentation</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-afb2845e data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-bfe7971f><span class="text" data-v-bfe7971f><!----><span data-v-bfe7971f>Tutorials</span><span class="vpi-chevron-down text-icon" data-v-bfe7971f></span></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><div class="items" data-v-20ed86d6><!--[--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/tutorials/react/" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>React</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/tutorials/angular/" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Angular</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/tutorials/vue/" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Vue</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/tutorials/sveltekit/" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>SvelteKit</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/tutorials/react-next/" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Next.js</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/tutorials/solid-start/" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>SolidStart</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-9fd4d1dd data-v-3f90c1a5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9fd4d1dd data-v-ef6192dc data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://bsky.app/profile/remult.dev" aria-label="bluesky" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-bluesky"></span></a><a class="VPSocialLink no-icon" href="https://twitter.com/RemultJs" aria-label="x" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://www.youtube.com/@remult6539" aria-label="youtube" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-youtube"></span></a><a class="VPSocialLink no-icon" href="https://discord.gg/GXHk7ZfuG5" aria-label="discord" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/remult/remult" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9fd4d1dd data-v-f953d92f data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-bfe7971f><span class="vpi-more-horizontal icon" data-v-bfe7971f></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><!----><!--[--><!--[--><!----><div class="group" data-v-f953d92f><div class="item appearance" data-v-f953d92f><p class="label" data-v-f953d92f>Appearance</p><div class="appearance-action" data-v-f953d92f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f953d92f data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f953d92f><div class="item social-links" data-v-f953d92f><div class="VPSocialLinks social-links-list" data-v-f953d92f data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://bsky.app/profile/remult.dev" aria-label="bluesky" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-bluesky"></span></a><a class="VPSocialLink no-icon" href="https://twitter.com/RemultJs" aria-label="x" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://www.youtube.com/@remult6539" aria-label="youtube" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-youtube"></span></a><a class="VPSocialLink no-icon" href="https://discord.gg/GXHk7ZfuG5" aria-label="discord" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/remult/remult" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fd4d1dd data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-9fd4d1dd><div class="divider-line" data-v-9fd4d1dd></div></div></div><!----></header><div class="VPLocalNav empty fixed" data-v-d8b57b2d data-v-2488c25a><div class="container" data-v-2488c25a><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2488c25a data-v-6b867909><button data-v-6b867909>Return to top</button><!----></div></div></div><!----><div class="VPContent" id="VPContent" data-v-d8b57b2d data-v-9a6c75ad><div class="VPDoc has-aside" data-v-9a6c75ad data-v-e6f2a212><!--[--><!--]--><div class="container" data-v-e6f2a212><div class="aside" data-v-e6f2a212><div class="aside-curtain" data-v-e6f2a212></div><div class="aside-container" data-v-e6f2a212><div class="aside-content" data-v-e6f2a212><div class="VPDocAside" data-v-e6f2a212 data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-f610f197><div class="content" data-v-f610f197><div class="outline-marker" data-v-f610f197></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-f610f197>On this page</div><ul class="VPDocOutlineItem root" data-v-f610f197 data-v-53c99d69><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e6f2a212><div class="content-container" data-v-e6f2a212><!--[--><!--]--><main class="main" data-v-e6f2a212><div style="position:relative;" class="vp-doc _todo-short-list" data-v-e6f2a212><div></div></div></main><footer class="VPDocFooter" data-v-e6f2a212 data-v-1bcd8184><!--[--><!--]--><div class="edit-info" data-v-1bcd8184><div class="edit-link" data-v-1bcd8184><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/remult/remult/edit/main/docs/todo-short-list.md" target="_blank" rel="noreferrer" data-v-1bcd8184><!--[--><span class="vpi-square-pen edit-link-icon" data-v-1bcd8184></span> Edit this page<!--]--></a></div><div class="last-updated" data-v-1bcd8184><p class="VPLastUpdated" data-v-1bcd8184 data-v-1bb0c8a8>Last updated: <time datetime="2023-06-15T15:57:27.000Z" data-v-1bb0c8a8></time></p></div></div><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter" data-v-d8b57b2d data-v-566314d4><div class="container" data-v-566314d4><p class="message" data-v-566314d4>MIT Licensed | Made by the Remult team with ❤️</p><!----></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"blog_introducing-remult-part-1.md\":\"D_c5P_Ao\",\"docs_access-control.md\":\"CQXEPbi5\",\"docs_active-record.md\":\"0XFu0N9Q\",\"docs_add-remult-to-your-app.md\":\"BsiBFfi7\",\"docs_adding-graphql.md\":\"Cs06u2WB\",\"docs_adding-react-admin.md\":\"EQncZD06\",\"docs_adding-swagger.md\":\"ysFwK2ZJ\",\"docs_admin-ui.md\":\"DnpUCm9I\",\"docs_allowed.md\":\"DGN9U6hJ\",\"docs_backendmethods.md\":\"TJBqOImX\",\"docs_creating-a-project.md\":\"sefwMdRF\",\"docs_crud-your-first-entity.md\":\"B5sNkiBo\",\"docs_custom-filter.md\":\"D_DazyJI\",\"docs_custom-options.md\":\"BMdKf8by\",\"docs_entities-codegen-from-db-schema.md\":\"cfVmHMey\",\"docs_entities.md\":\"8HhBozuc\",\"docs_entity-backend-methods.md\":\"DKCBKfYn\",\"docs_entity-relations.md\":\"MZ5tvUcF\",\"docs_entityfilter.md\":\"BD5W-WKN\",\"docs_example-apps.md\":\"jWX1WSfH\",\"docs_field-types.md\":\"C6p7MCiK\",\"docs_filtering-and-relations.md\":\"B_BF74o9\",\"docs_index.md\":\"D2RfMMJ8\",\"docs_installation_database_better-sqlite3.md\":\"B5rPA2CX\",\"docs_installation_database_bun-sqlite.md\":\"9bTmtwUP\",\"docs_installation_database_d1.md\":\"CBRmo4eI\",\"docs_installation_database_duckdb.md\":\"BztnwGVL\",\"docs_installation_database_index.md\":\"D462YEQj\",\"docs_installation_database_json.md\":\"BJeZ0AaA\",\"docs_installation_database_mongodb.md\":\"CV_F--Ws\",\"docs_installation_database_mssql.md\":\"C0RvFFqL\",\"docs_installation_database_mysql.md\":\"C9VPmsjz\",\"docs_installation_database_oracle.md\":\"BEKNQlbg\",\"docs_installation_database_postgresql.md\":\"EeNSHbvW\",\"docs_installation_database_sqlite3.md\":\"2SYnGEra\",\"docs_installation_database_sqljs.md\":\"DmVbjLIh\",\"docs_installation_database_turso.md\":\"t3uwueXO\",\"docs_installation_framework_angular.md\":\"BgEwBTwe\",\"docs_installation_framework_index.md\":\"4mjrdRMh\",\"docs_installation_framework_nextjs.md\":\"AQYr3Du2\",\"docs_installation_framework_nuxt.md\":\"Ccaqxe4y\",\"docs_installation_framework_react.md\":\"BdDVowjJ\",\"docs_installation_framework_solid.md\":\"Co4dawlN\",\"docs_installation_framework_sveltekit.md\":\"1QhilE7y\",\"docs_installation_framework_vue.md\":\"B4wv4qi5\",\"docs_installation_index.md\":\"BhoTxVxc\",\"docs_installation_server_elysia.md\":\"Buy6VT8l\",\"docs_installation_server_express.md\":\"PzAZIO06\",\"docs_installation_server_fastify.md\":\"aAwOJL8Z\",\"docs_installation_server_hapi.md\":\"LszFl9f9\",\"docs_installation_server_hono.md\":\"D5Wb9fF4\",\"docs_installation_server_index.md\":\"C-WVb3wm\",\"docs_installation_server_koa.md\":\"Bn4t7S7g\",\"docs_installation_server_nest.md\":\"CBLSKDkg\",\"docs_lazy-loading-of-related-entities.md\":\"B15uzNza\",\"docs_lifecycle-hooks.md\":\"BQETMCl-\",\"docs_llms.md\":\"fj_wjK-3\",\"docs_migrations.md\":\"qZa9MmXF\",\"docs_modules-community.md\":\"DQm98T2f\",\"docs_modules.md\":\"C4xsGR-1\",\"docs_mutable-controllers.md\":\"BPlZpBdO\",\"docs_offline-support.md\":\"Dn7T8n6c\",\"docs_quickstart.md\":\"C5mJVWG_\",\"docs_ref_apiclient.md\":\"QoSesAbH\",\"docs_ref_backendmethod.md\":\"C4obIbTj\",\"docs_ref_entity.md\":\"CIKc3oTC\",\"docs_ref_entitybase.md\":\"BykjM3Jd\",\"docs_ref_entitymetadata.md\":\"Dm5q3QFy\",\"docs_ref_entityref.md\":\"BiOClVXO\",\"docs_ref_field.md\":\"ClAB6NGZ\",\"docs_ref_fieldmetadata.md\":\"BCPRtcTU\",\"docs_ref_fieldref.md\":\"a3FBDFcu\",\"docs_ref_filter.md\":\"D0C6bbnW\",\"docs_ref_filterprecisevalues.md\":\"pK9eQPJ2\",\"docs_ref_generatemigrations.md\":\"DXxN7gqn\",\"docs_ref_getentityref.md\":\"D6TKVkst\",\"docs_ref_getfields.md\":\"Bs1Htjb5\",\"docs_ref_identity.md\":\"DaZzfvlO\",\"docs_ref_initasynchooks.md\":\"D7jqPIqO\",\"docs_ref_livequery.md\":\"BFhRTCrP\",\"docs_ref_livequerychangeinfo.md\":\"Mfi_E0zx\",\"docs_ref_migrate.md\":\"B_sZT5gB\",\"docs_ref_paginator.md\":\"CCIT3vm1\",\"docs_ref_preprocessfilterinfo.md\":\"sE39GCLJ\",\"docs_ref_queryresult.md\":\"DlBwWLdS\",\"docs_ref_relationoptions.md\":\"CVB_R9Ml\",\"docs_ref_relations.md\":\"C93zZGmS\",\"docs_ref_remult.md\":\"xEVzZOSB\",\"docs_ref_remultserveroptions.md\":\"DZMHL2kX\",\"docs_ref_repository.md\":\"DM5jtMQg\",\"docs_ref_sort.md\":\"Di1iOxAx\",\"docs_ref_sqldatabase.md\":\"BdguqtJB\",\"docs_ref_subscriptionchannel.md\":\"C7dg0kEW\",\"docs_ref_validators.md\":\"Dy0qxKby\",\"docs_ref_valueconverter.md\":\"CdJON0cR\",\"docs_rest-api.md\":\"Dj6AkDWg\",\"docs_running-sql-on-the-server.md\":\"Bi0gdrdn\",\"docs_setup-react.md\":\"CzBiCXSz\",\"docs_standard-schema.md\":\"Cor85LzO\",\"docs_using-remult-in-custom-backend-code.md\":\"CrHDgfg7\",\"docs_using-server-only-packages.md\":\"DN8s2ZQU\",\"docs_using-vue.md\":\"BUG4kEwU\",\"docs_validation.md\":\"Fsjcop4_\",\"docs_working-without-decorators.md\":\"DguVRBuC\",\"index.md\":\"BcKKsiiG\",\"misc_one-pager.md\":\"Dv7o3bhj\",\"todo-short-list.md\":\"C6jwW9bP\",\"tutorials_angular_appendix-observable-live-query.md\":\"CVmOUZq6\",\"tutorials_angular_auth.md\":\"Dp5teEBQ\",\"tutorials_angular_backend-methods.md\":\"LRDwNVtG\",\"tutorials_angular_crud.md\":\"DhUlUCKq\",\"tutorials_angular_database.md\":\"BWTeFdl3\",\"tutorials_angular_deployment.md\":\"7ds12Nf8\",\"tutorials_angular_entities.md\":\"BsY9bQ_W\",\"tutorials_angular_index.md\":\"BDkfifGh\",\"tutorials_angular_live-queries.md\":\"Del_dE3I\",\"tutorials_angular_sorting-filtering.md\":\"BuoQ3w5Y\",\"tutorials_angular_validation.md\":\"CGcnBQu4\",\"tutorials_react-next_auth.md\":\"BQhXu1L7\",\"tutorials_react-next_backend-methods.md\":\"BBHh3oWc\",\"tutorials_react-next_crud.md\":\"HlTnNAUP\",\"tutorials_react-next_database.md\":\"sClAcpOs\",\"tutorials_react-next_deployment.md\":\"CJ_YKTOT\",\"tutorials_react-next_entities.md\":\"DEXLBbZ3\",\"tutorials_react-next_index.md\":\"Di__oBo-\",\"tutorials_react-next_live-queries.md\":\"bL-jJ0Ku\",\"tutorials_react-next_sorting-filtering.md\":\"DWQgw_Y_\",\"tutorials_react-next_validation.md\":\"DaQZay5w\",\"tutorials_react_auth.md\":\"Ht9Odnqm\",\"tutorials_react_backend-methods.md\":\"BhjL41JH\",\"tutorials_react_crud.md\":\"DRgQ5aAH\",\"tutorials_react_database.md\":\"CFbUOmGi\",\"tutorials_react_deployment.md\":\"5-MEOKDB\",\"tutorials_react_entities.md\":\"CiWgSYqz\",\"tutorials_react_index.md\":\"DfOs3j-0\",\"tutorials_react_live-queries.md\":\"BgZHzfkC\",\"tutorials_react_sorting-filtering.md\":\"CtoCnzgW\",\"tutorials_react_validation.md\":\"C0hcoMjJ\",\"tutorials_solid-start_auth.md\":\"CkqAf7Fk\",\"tutorials_solid-start_backend-methods.md\":\"CTCqa8N-\",\"tutorials_solid-start_crud.md\":\"DX9EgN9V\",\"tutorials_solid-start_database.md\":\"CqT6hhSg\",\"tutorials_solid-start_deployment.md\":\"DrmNVhK6\",\"tutorials_solid-start_entities.md\":\"DBHsjF5O\",\"tutorials_solid-start_index.md\":\"Fzvoptk4\",\"tutorials_solid-start_live-queries.md\":\"1Uj7OqsK\",\"tutorials_solid-start_sorting-filtering.md\":\"CzF5l6V3\",\"tutorials_solid-start_validation.md\":\"CjkVWZf5\",\"tutorials_sveltekit_auth.md\":\"B5ZBn3bW\",\"tutorials_sveltekit_backend-methods.md\":\"P3KMOLtH\",\"tutorials_sveltekit_crud.md\":\"Pa4hYH5o\",\"tutorials_sveltekit_database.md\":\"TC2hT_fM\",\"tutorials_sveltekit_deployment.md\":\"D78GzP0V\",\"tutorials_sveltekit_entities.md\":\"CaaXg_QF\",\"tutorials_sveltekit_index.md\":\"Dc1KpkXt\",\"tutorials_sveltekit_live-queries.md\":\"B-P3enPa\",\"tutorials_sveltekit_sorting-filtering.md\":\"DZUz-Ojt\",\"tutorials_sveltekit_validation.md\":\"Shx-_SN5\",\"tutorials_vue_auth.md\":\"7VgCXnPM\",\"tutorials_vue_backend-methods.md\":\"CUmE1L9l\",\"tutorials_vue_crud.md\":\"Y3a6tk4j\",\"tutorials_vue_database.md\":\"D106IoKF\",\"tutorials_vue_deployment.md\":\"YrGs1VW4\",\"tutorials_vue_entities.md\":\"Cy6h2aQ1\",\"tutorials_vue_index.md\":\"57UjBc9-\",\"tutorials_vue_live-queries.md\":\"B6P1VjCt\",\"tutorials_vue_sorting-filtering.md\":\"CrRNmSkh\",\"tutorials_vue_validation.md\":\"Df9TmwYG\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Remult\",\"description\":\"Build Full-stack, End-to-end Type-safe CRUD Apps without the Boilerplate\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"dark\":\"/logo-white.svg\",\"light\":\"/logo-dark.svg\"},\"editLink\":{\"pattern\":\"https://github.com/remult/remult/edit/main/docs/:path\"},\"nav\":[{\"text\":\"Documentation\",\"link\":\"/docs/\"},{\"text\":\"Tutorials\",\"items\":[{\"text\":\"React\",\"link\":\"/tutorials/react/\"},{\"text\":\"Angular\",\"link\":\"/tutorials/angular/\"},{\"text\":\"Vue\",\"link\":\"/tutorials/vue/\"},{\"text\":\"SvelteKit\",\"link\":\"/tutorials/sveltekit/\"},{\"text\":\"Next.js\",\"link\":\"/tutorials/react-next/\"},{\"text\":\"SolidStart\",\"link\":\"/tutorials/solid-start/\"}]}],\"search\":{\"provider\":\"local\",\"options\":{}},\"socialLinks\":[{\"link\":\"https://bsky.app/profile/remult.dev\",\"icon\":\"bluesky\"},{\"link\":\"https://twitter.com/RemultJs\",\"icon\":\"x\"},{\"link\":\"https://www.youtube.com/@remult6539\",\"icon\":\"youtube\"},{\"link\":\"https://discord.gg/GXHk7ZfuG5\",\"icon\":\"discord\"},{\"link\":\"https://github.com/remult/remult\",\"icon\":\"github\"}],\"sidebar\":{\"/docs/\":[{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/docs/\"},{\"text\":\"Creating a project\",\"link\":\"/docs/creating-a-project\"},{\"text\":\"Quickstart\",\"link\":\"/docs/quickstart\"},{\"text\":\"Example Apps\",\"link\":\"/docs/example-apps\"}]},{\"text\":\"Entities\",\"link\":\"/docs/entities\",\"items\":[{\"text\":\"Fields\",\"link\":\"/docs/field-types\"},{\"text\":\"Relations\",\"link\":\"/docs/entity-relations\",\"collapsed\":true,\"items\":[{\"text\":\"Filtering and Relations\",\"link\":\"/docs/filtering-and-relations\"}]},{\"text\":\"Lifecycle Hooks\",\"link\":\"/docs/lifecycle-hooks\"},{\"text\":\"Migrations\",\"link\":\"/docs/migrations\"},{\"text\":\"Generate from Existing DB\",\"link\":\"/docs/entities-codegen-from-db-schema\"},{\"text\":\"Offline Support\",\"link\":\"/docs/offline-support\"},{\"text\":\"Active Record & EntityBase\",\"link\":\"/docs/active-record\",\"collapsed\":true,\"items\":[{\"text\":\"Entity Backend Methods\",\"link\":\"/docs/entity-backend-methods\"},{\"text\":\"Mutable Controllers\",\"link\":\"/docs/mutable-controllers\"}]}]},{\"text\":\"Stacks\",\"link\":\"/docs/installation/\",\"items\":[{\"text\":\"Framework\",\"link\":\"/docs/installation/framework/\",\"collapsed\":true,\"items\":[{\"text\":\"React\",\"link\":\"/docs/installation/framework/react\"},{\"text\":\"Angular\",\"link\":\"/docs/installation/framework/angular\"},{\"text\":\"Vue\",\"link\":\"/docs/installation/framework/vue\"},{\"text\":\"Sveltekit\",\"link\":\"/docs/installation/framework/sveltekit\"},{\"text\":\"Next.js\",\"link\":\"/docs/installation/framework/nextjs\"},{\"text\":\"SolidStart\",\"link\":\"/docs/installation/framework/solid\"},{\"text\":\"Nuxt\",\"link\":\"/docs/installation/framework/nuxt\"}]},{\"text\":\"Server\",\"link\":\"/docs/installation/server/\",\"collapsed\":true,\"items\":[{\"text\":\"Express\",\"link\":\"/docs/installation/server/express\"},{\"text\":\"Fastify\",\"link\":\"/docs/installation/server/fastify\"},{\"text\":\"Hono\",\"link\":\"/docs/installation/server/hono\"},{\"text\":\"Elysia\",\"link\":\"/docs/installation/server/elysia\"},{\"text\":\"Hapi\",\"link\":\"/docs/installation/server/hapi\"},{\"text\":\"Koa\",\"link\":\"/docs/installation/server/koa\"},{\"text\":\"nest\",\"link\":\"/docs/installation/server/nest\"}]},{\"text\":\"Database\",\"link\":\"/docs/installation/database/\",\"collapsed\":true,\"items\":[{\"text\":\"PostgreSQL\",\"link\":\"/docs/installation/database/postgresql\"},{\"text\":\"MySQL\",\"link\":\"/docs/installation/database/mysql\"},{\"text\":\"MongoDB\",\"link\":\"/docs/installation/database/mongodb\"},{\"text\":\"SQLite3\",\"link\":\"/docs/installation/database/sqlite3\"},{\"text\":\"Better SQLite3\",\"link\":\"/docs/installation/database/better-sqlite3\"},{\"text\":\"sqljs\",\"link\":\"/docs/installation/database/sqljs\"},{\"text\":\"MSSQL\",\"link\":\"/docs/installation/database/mssql\"},{\"text\":\"Bun SQLite\",\"link\":\"/docs/installation/database/bun-sqlite\"},{\"text\":\"Turso\",\"link\":\"/docs/installation/database/turso\"},{\"text\":\"DuckDb\",\"link\":\"/docs/installation/database/duckdb\"},{\"text\":\"Oracle\",\"link\":\"/docs/installation/database/oracle\"},{\"text\":\"D1\",\"link\":\"/docs/installation/database/d1\"},{\"text\":\"Json files\",\"link\":\"/docs/installation/database/json\"}]}]},{\"text\":\"Server-side Code\",\"items\":[{\"text\":\"Backend Methods\",\"link\":\"/docs/backendMethods\"},{\"text\":\"Server-only Dependencies\",\"link\":\"/docs/using-server-only-packages\"}]},{\"text\":\"Guides\",\"items\":[{\"text\":\"Access Control\",\"link\":\"/docs/access-control\"},{\"text\":\"Admin UI\",\"link\":\"/docs/admin-ui\"},{\"text\":\"Modules\",\"link\":\"/docs/modules\",\"collapsed\":true,\"items\":[{\"text\":\"Community modules\",\"link\":\"/docs/modules-community\"}]}]},{\"text\":\"Escape Hatches\",\"items\":[{\"text\":\"Custom/SQL Filters\",\"link\":\"/docs/custom-filter\"},{\"text\":\"Direct Database Access\",\"link\":\"/docs/running-sql-on-the-server\"},{\"text\":\"Using in Non-Remult Routes\",\"link\":\"/docs/using-remult-in-custom-backend-code\"},{\"text\":\"Avoiding Decorators\",\"link\":\"/docs/working-without-decorators\"},{\"text\":\"Extensibility\",\"link\":\"/docs/custom-options\"}]},{\"text\":\"Integrations\",\"collapsed\":true,\"items\":[{\"text\":\"Open API\",\"link\":\"/docs/adding-swagger\"},{\"text\":\"GraphQL\",\"link\":\"/docs/adding-graphql\"},{\"text\":\"Standard Schema\",\"link\":\"/docs/standard-schema\"},{\"text\":\"LLMs\",\"link\":\"/docs/llms\"}]},{\"text\":\"API Reference\",\"collapsed\":true,\"items\":[{\"text\":\"Entity\",\"link\":\"/docs/ref_entity\"},{\"text\":\"Field\",\"link\":\"/docs/ref_field\"},{\"text\":\"ValueConverter\",\"link\":\"/docs/ref_valueconverter\"},{\"text\":\"Validation\",\"link\":\"/docs/validation\"},{\"text\":\"Validators\",\"link\":\"/docs/ref_validators\"},{\"text\":\"Relations\",\"link\":\"/docs/ref_relations\"},{\"text\":\"RelationOptions\",\"link\":\"/docs/ref_relationoptions\"},{\"text\":\"Remult\",\"link\":\"/docs/ref_remult\"},{\"text\":\"ApiClient\",\"link\":\"/docs/ref_apiclient\"},{\"text\":\"Repository\",\"link\":\"/docs/ref_repository\"},{\"text\":\"RemultServerOptions\",\"link\":\"/docs/ref_remultserveroptions\"},{\"text\":\"EntityFilter\",\"link\":\"/docs/entityFilter\"},{\"text\":\"EntityMetadata\",\"link\":\"/docs/ref_entitymetadata\"},{\"text\":\"FieldMetadata\",\"link\":\"/docs/ref_fieldmetadata\"},{\"text\":\"Allowed\",\"link\":\"/docs/allowed\"},{\"text\":\"BackendMethod\",\"link\":\"/docs/ref_backendmethod\"},{\"text\":\"QueryResult\",\"link\":\"/docs/ref_queryresult\"},{\"text\":\"Paginator\",\"link\":\"/docs/ref_paginator\"},{\"text\":\"LiveQuery\",\"link\":\"/docs/ref_livequery\"},{\"text\":\"LiveQueryChangeInfo\",\"link\":\"/docs/ref_livequerychangeinfo\"},{\"text\":\"Filter\",\"link\":\"/docs/ref_filter\"},{\"text\":\"Sort\",\"link\":\"/docs/ref_sort\"},{\"text\":\"SqlDatabase\",\"link\":\"/docs/ref_sqldatabase\"},{\"text\":\"SubscriptionChannel\",\"link\":\"/docs/ref_subscriptionchannel\"},{\"text\":\"generateMigrations\",\"link\":\"/docs/ref_generatemigrations\"},{\"text\":\"migrate\",\"link\":\"/docs/ref_migrate\"},{\"text\":\"Async Hooks\",\"link\":\"/docs/ref_initasynchooks\"},{\"text\":\"REST API Spec\",\"link\":\"/docs/rest-api\"},{\"text\":\"Active Record & Mutable\",\"collapsed\":true,\"items\":[{\"text\":\"EntityBase\",\"link\":\"/docs/ref_entitybase\"},{\"link\":\"/docs/ref_identity\",\"text\":\"IdEntity\"},{\"link\":\"/docs/ref_entityref\",\"text\":\"EntityRef\"},{\"link\":\"/docs/ref_fieldref\",\"text\":\"FieldRef\"},{\"link\":\"/docs/ref_getentityref\",\"text\":\"getEntityRef\"},{\"link\":\"/docs/ref_getfields\",\"text\":\"getFields\"}]}]}],\"/blog/\":[{\"text\":\"Remult Blog\",\"items\":[{\"text\":\"Introducing Remult\",\"link\":\"/blog/introducing-remult-part-1\"}]}],\"/tutorials/react/\":[{\"text\":\"Tutorial\",\"title\":\"react\",\"path\":\"/tutorials/react/\",\"items\":[{\"text\":\"Setup\",\"link\":\"/tutorials/react/\"},{\"text\":\"Entities\",\"link\":\"/tutorials/react/entities\"},{\"text\":\"Paging, Sorting and Filtering\",\"link\":\"/tutorials/react/sorting-filtering\"},{\"text\":\"CRUD Operations\",\"link\":\"/tutorials/react/crud\"},{\"text\":\"Validation\",\"link\":\"/tutorials/react/validation\"},{\"text\":\"Live Queries\",\"link\":\"/tutorials/react/live-queries\"},{\"text\":\"Backend methods\",\"link\":\"/tutorials/react/backend-methods\"},{\"text\":\"Authentication and Authorization\",\"link\":\"/tutorials/react/auth\"},{\"text\":\"Database\",\"link\":\"/tutorials/react/database\"},{\"text\":\"Deployment\",\"link\":\"/tutorials/react/deployment\"}]}],\"/tutorials/angular/\":[{\"text\":\"Tutorial\",\"title\":\"angular\",\"path\":\"/tutorials/angular/\",\"items\":[{\"text\":\"Setup\",\"link\":\"/tutorials/angular/\"},{\"text\":\"Entities\",\"link\":\"/tutorials/angular/entities\"},{\"text\":\"Paging, Sorting and Filtering\",\"link\":\"/tutorials/angular/sorting-filtering\"},{\"text\":\"CRUD Operations\",\"link\":\"/tutorials/angular/crud\"},{\"text\":\"Validation\",\"link\":\"/tutorials/angular/validation\"},{\"text\":\"Live Queries\",\"link\":\"/tutorials/angular/live-queries\"},{\"text\":\"Backend methods\",\"link\":\"/tutorials/angular/backend-methods\"},{\"text\":\"Authentication and Authorization\",\"link\":\"/tutorials/angular/auth\"},{\"text\":\"Database\",\"link\":\"/tutorials/angular/database\"},{\"text\":\"Deployment\",\"link\":\"/tutorials/angular/deployment\"},{\"text\":\"Appendix: Observable Live Query\",\"link\":\"/tutorials/angular/appendix-observable-live-query\"}]}],\"/tutorials/vue/\":[{\"text\":\"Tutorial\",\"title\":\"vue\",\"path\":\"/tutorials/vue/\",\"items\":[{\"text\":\"Setup\",\"link\":\"/tutorials/vue/\"},{\"text\":\"Entities\",\"link\":\"/tutorials/vue/entities\"},{\"text\":\"Paging, Sorting and Filtering\",\"link\":\"/tutorials/vue/sorting-filtering\"},{\"text\":\"CRUD Operations\",\"link\":\"/tutorials/vue/crud\"},{\"text\":\"Validation\",\"link\":\"/tutorials/vue/validation\"},{\"text\":\"Live Queries\",\"link\":\"/tutorials/vue/live-queries\"},{\"text\":\"Backend methods\",\"link\":\"/tutorials/vue/backend-methods\"},{\"text\":\"Authentication and Authorization\",\"link\":\"/tutorials/vue/auth\"},{\"text\":\"Database\",\"link\":\"/tutorials/vue/database\"},{\"text\":\"Deployment\",\"link\":\"/tutorials/vue/deployment\"}]}],\"/tutorials/sveltekit/\":[{\"text\":\"Tutorial\",\"title\":\"SvelteKit\",\"path\":\"/tutorials/sveltekit/\",\"items\":[{\"text\":\"Setup\",\"link\":\"/tutorials/sveltekit/\"},{\"text\":\"Entities\",\"link\":\"/tutorials/sveltekit/entities\"},{\"text\":\"Paging, Sorting and Filtering\",\"link\":\"/tutorials/sveltekit/sorting-filtering\"},{\"text\":\"CRUD Operations\",\"link\":\"/tutorials/sveltekit/crud\"},{\"text\":\"Validation\",\"link\":\"/tutorials/sveltekit/validation\"},{\"text\":\"Live Queries\",\"link\":\"/tutorials/sveltekit/live-queries\"},{\"text\":\"Backend methods\",\"link\":\"/tutorials/sveltekit/backend-methods\"},{\"text\":\"Authentication and Authorization\",\"link\":\"/tutorials/sveltekit/auth\"},{\"text\":\"Database\",\"link\":\"/tutorials/sveltekit/database\"},{\"text\":\"Deployment\",\"link\":\"/tutorials/sveltekit/deployment\"},{\"text\":\"Go further / Extra\",\"link\":\"/docs/installation/framework/sveltekit#extra\"}]}],\"/tutorials/react-next/\":[{\"text\":\"Tutorial\",\"title\":\"Next.js\",\"path\":\"/tutorials/react-next/\",\"items\":[{\"text\":\"Setup\",\"link\":\"/tutorials/react-next/\"},{\"text\":\"Entities\",\"link\":\"/tutorials/react-next/entities\"},{\"text\":\"Paging, Sorting and Filtering\",\"link\":\"/tutorials/react-next/sorting-filtering\"},{\"text\":\"CRUD Operations\",\"link\":\"/tutorials/react-next/crud\"},{\"text\":\"Validation\",\"link\":\"/tutorials/react-next/validation\"},{\"text\":\"Live Queries\",\"link\":\"/tutorials/react-next/live-queries\"},{\"text\":\"Backend methods\",\"link\":\"/tutorials/react-next/backend-methods\"},{\"text\":\"Authentication and Authorization\",\"link\":\"/tutorials/react-next/auth\"},{\"text\":\"Database\",\"link\":\"/tutorials/react-next/database\"},{\"text\":\"Deployment\",\"link\":\"/tutorials/react-next/deployment\"}]}],\"/tutorials/solid-start/\":[{\"text\":\"Tutorial\",\"title\":\"SolidStart\",\"path\":\"/tutorials/solid-start/\",\"items\":[{\"text\":\"Setup\",\"link\":\"/tutorials/solid-start/\"},{\"text\":\"Entities\",\"link\":\"/tutorials/solid-start/entities\"},{\"text\":\"Paging, Sorting and Filtering\",\"link\":\"/tutorials/solid-start/sorting-filtering\"},{\"text\":\"CRUD Operations\",\"link\":\"/tutorials/solid-start/crud\"},{\"text\":\"Validation\",\"link\":\"/tutorials/solid-start/validation\"},{\"text\":\"Live Queries\",\"link\":\"/tutorials/solid-start/live-queries\"},{\"text\":\"Backend methods\",\"link\":\"/tutorials/solid-start/backend-methods\"},{\"text\":\"Authentication and Authorization\",\"link\":\"/tutorials/solid-start/auth\"},{\"text\":\"Database\",\"link\":\"/tutorials/solid-start/database\"},{\"text\":\"Deployment\",\"link\":\"/tutorials/solid-start/deployment\"}]}]},\"footer\":{\"message\":\"MIT Licensed | Made by the Remult team with ❤️\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>