@directus/app 9.0.0-rc.98 → 9.0.0-rc.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/dist/@directus_extensions-sdk.0c1dd463.js +1 -0
  2. package/dist/assets/{active-line.21c7c188.js → active-line.48de29b0.js} +1 -1
  3. package/dist/assets/{activity.7e6818a1.js → activity.6ae38b0f.js} +1 -1
  4. package/dist/assets/{activity.afea7c8e.js → activity.9e4ec41d.js} +1 -1
  5. package/dist/assets/api-config.c76a6613.js +62 -0
  6. package/dist/assets/{api-endpoints.25b9a2cc.js → api-endpoints.2f8fd276.js} +1 -1
  7. package/dist/assets/{api-hooks.28fce97f.js → api-hooks.49e7891b.js} +4 -4
  8. package/dist/assets/{apl.e1cac8e8.js → apl.958d4757.js} +1 -1
  9. package/dist/assets/{app.a092834a.js → app.ab10f7f0.js} +1 -1
  10. package/dist/assets/{application.e4ceecf4.js → application.2534d8a1.js} +1 -1
  11. package/dist/assets/{asciiarmor.56914f72.js → asciiarmor.1f4e8811.js} +1 -1
  12. package/dist/assets/{asn.1.0d72d374.js → asn.1.320671bb.js} +1 -1
  13. package/dist/assets/{assets.7c1c7e13.js → assets.0e687e4a.js} +1 -1
  14. package/dist/assets/{asterisk.217d929c.js → asterisk.67a02b7a.js} +1 -1
  15. package/dist/assets/authentication.ad641e07.js +70 -0
  16. package/dist/assets/{authentication.0de34170.js → authentication.e8cf4d61.js} +1 -1
  17. package/dist/assets/{autorefresh.db241e38.js → autorefresh.824ac9d2.js} +1 -1
  18. package/dist/assets/{aws.216201f6.js → aws.fd25516a.js} +1 -1
  19. package/dist/assets/{backing-directus.712e9b42.js → backing-directus.58d18b0c.js} +1 -1
  20. package/dist/assets/{brainfuck.6d97691a.js → brainfuck.0d6aa963.js} +1 -1
  21. package/dist/assets/{cli.5fd3486c.js → cli.1516127d.js} +1 -1
  22. package/dist/assets/{clike.8b1d1dac.js → clike.55471781.js} +1 -1
  23. package/dist/assets/{clojure.7b24d2df.js → clojure.e88e881b.js} +1 -1
  24. package/dist/assets/{cmake.2dd9d19b.js → cmake.4a9bd2f3.js} +1 -1
  25. package/dist/assets/{cobol.aa3e3b17.js → cobol.ddfaa48e.js} +1 -1
  26. package/dist/assets/{codebase-overview.769ab809.js → codebase-overview.e20f2975.js} +1 -1
  27. package/dist/assets/{coffeescript.e1f17dcd.js → coffeescript.004ec15d.js} +1 -1
  28. package/dist/assets/{collections.52393349.js → collections.14257f29.js} +1 -1
  29. package/dist/assets/{collections.ede965e3.js → collections.bd91de7e.js} +1 -1
  30. package/dist/assets/{collections.3ab1c08a.js → collections.fdbdfe7d.js} +1 -1
  31. package/dist/assets/{command-line-interface.e1beee60.js → command-line-interface.9a2a26c1.js} +1 -1
  32. package/dist/assets/{common-issues.9900baa5.js → common-issues.b34d0ba5.js} +1 -1
  33. package/dist/assets/{commonlisp.126ea5bc.js → commonlisp.f2d9b9b1.js} +1 -1
  34. package/dist/assets/{config-files.04baaabb.js → config-files.ac74fea8.js} +1 -1
  35. package/dist/assets/{crystal.2f74eaf5.js → crystal.97856865.js} +1 -1
  36. package/dist/assets/{css.6f8a654e.js → css.7f807b17.js} +1 -1
  37. package/dist/assets/{cypher.f7b4194f.js → cypher.7cd36030.js} +3 -3
  38. package/dist/assets/{d.b2c44973.js → d.fa2b4528.js} +1 -1
  39. package/dist/assets/{dart.807118ef.js → dart.af44f108.js} +1 -1
  40. package/dist/assets/{databases.39a13c5d.js → databases.2a42b1ba.js} +1 -1
  41. package/dist/assets/{diff.df7c2507.js → diff.33d776fc.js} +1 -1
  42. package/dist/assets/{digitalocean-app-platform.6d350032.js → digitalocean-app-platform.70c21592.js} +1 -1
  43. package/dist/assets/{displays.101c9edb.js → displays.d848b491.js} +1 -1
  44. package/dist/assets/{displays.2c15a911.js → displays.ecc2c613.js} +1 -1
  45. package/dist/assets/{django.31349418.js → django.1965042d.js} +1 -1
  46. package/dist/assets/{docker.0e180ff7.js → docker.6748365e.js} +1 -1
  47. package/dist/assets/{dockerfile.9cf1b5e9.js → dockerfile.f7e82fe7.js} +1 -1
  48. package/dist/assets/{dtd.2eb8046c.js → dtd.7de198c9.js} +1 -1
  49. package/dist/assets/{dylan.4342284d.js → dylan.4e0afffa.js} +1 -1
  50. package/dist/assets/{ebnf.ac110410.js → ebnf.423e92bf.js} +1 -1
  51. package/dist/assets/{ecl.ef1a0830.js → ecl.5ceaf630.js} +1 -1
  52. package/dist/assets/{eiffel.2cdba3dc.js → eiffel.4d7ae0c0.js} +1 -1
  53. package/dist/assets/{elm.1a8ac848.js → elm.0cc8719f.js} +1 -1
  54. package/dist/assets/{email-templates.cb788cb0.js → email-templates.9cecf0b9.js} +1 -1
  55. package/dist/assets/en-au.169355d7.js +1 -0
  56. package/dist/assets/en-gb.0b977da8.js +1 -0
  57. package/dist/assets/en-nz.6296f2b6.js +1 -0
  58. package/dist/assets/environment-variables.a5b5c0aa.js +25 -0
  59. package/dist/assets/{erlang.957b37e4.js → erlang.176bea7d.js} +1 -1
  60. package/dist/assets/{error-codes.606bec58.js → error-codes.db5ba230.js} +1 -1
  61. package/dist/assets/es.c516dd05.js +1 -0
  62. package/dist/assets/{extensions.e55fc936.js → extensions.10d6f6c3.js} +1 -1
  63. package/dist/assets/{extensions.803fb88b.js → extensions.735e74b3.js} +1 -1
  64. package/dist/assets/{factor.c01980f8.js → factor.be42c791.js} +1 -1
  65. package/dist/assets/{fcl.87824263.js → fcl.879030fb.js} +1 -1
  66. package/dist/assets/{field-transforms.aac4af27.js → field-transforms.60165e8c.js} +1 -1
  67. package/dist/assets/{fields.3458f9a0.js → fields.17d2cea0.js} +1 -1
  68. package/dist/assets/{fields.f80c6966.js → fields.3f49dba2.js} +1 -1
  69. package/dist/assets/{fields.c933a3eb.js → fields.4933da97.js} +1 -1
  70. package/dist/assets/{files.cef9529d.js → files.04ffc317.js} +1 -1
  71. package/dist/assets/{files.2458c938.js → files.b8b17303.js} +1 -1
  72. package/dist/assets/{files.d6673170.js → files.f9b3fda9.js} +1 -1
  73. package/dist/assets/{filter-rules.8dda275b.js → filter-rules.780bde9f.js} +2 -2
  74. package/dist/assets/{folders.6224f87b.js → folders.a05410b5.js} +1 -1
  75. package/dist/assets/{forth.51e0131d.js → forth.fb5f114f.js} +1 -1
  76. package/dist/assets/{fortran.ccea4744.js → fortran.ba9b6719.js} +1 -1
  77. package/dist/assets/fr-FR.37e1725b.js +1 -0
  78. package/dist/assets/{gas.5613bf5b.js → gas.1bbed2b2.js} +1 -1
  79. package/dist/assets/{gfm.bc3f0591.js → gfm.149e301f.js} +1 -1
  80. package/dist/assets/{gherkin.963fa577.js → gherkin.7de0d8e2.js} +1 -1
  81. package/dist/assets/{github-ci.00b8f37e.js → github-ci.1aafd624.js} +2 -2
  82. package/dist/assets/{go.b597488d.js → go.7caf0f36.js} +1 -1
  83. package/dist/assets/{groovy.748ae778.js → groovy.607002d9.js} +1 -1
  84. package/dist/assets/haml.504050d1.js +1 -0
  85. package/dist/assets/{handlebars.d230fbb5.js → handlebars.7f84f825.js} +1 -1
  86. package/dist/assets/haskell-literate.e78773ef.js +1 -0
  87. package/dist/assets/{haskell.69e61064.js → haskell.63e1f2d3.js} +1 -1
  88. package/dist/assets/{haxe.a1958409.js → haxe.fca1efc8.js} +1 -1
  89. package/dist/assets/{htmlembedded.77d86e89.js → htmlembedded.1eb21358.js} +1 -1
  90. package/dist/assets/{htmlmixed.d2d262fe.js → htmlmixed.cb1d7158.js} +1 -1
  91. package/dist/assets/{http.0389a281.js → http.28fca87c.js} +1 -1
  92. package/dist/assets/{idl.4073e14b.js → idl.32a8e30b.js} +1 -1
  93. package/dist/assets/iis.fba7e919.js +23 -0
  94. package/dist/assets/{index.34c4ff98.js → index.07865455.js} +1 -1
  95. package/dist/assets/{index.5943c6a2.js → index.0b19be3f.js} +1 -1
  96. package/dist/assets/{index.9021855c.js → index.1010e9a5.js} +1 -1
  97. package/dist/assets/{index.12a41b75.js → index.123a36ac.js} +1 -1
  98. package/dist/assets/{index.d5b3136c.js → index.12744d3d.js} +1 -1
  99. package/dist/assets/{index.adcbf017.js → index.129fb164.js} +1 -1
  100. package/dist/assets/{index.76bf6775.js → index.13149be9.js} +1 -1
  101. package/dist/assets/{index.5d7e4388.js → index.132ba1c4.js} +1 -1
  102. package/dist/assets/{index.a65c23d0.js → index.1380be04.js} +1 -1
  103. package/dist/assets/{index.8f1b058c.js → index.156ad6a0.js} +1 -1
  104. package/dist/assets/{index.60c6f994.js → index.159d3509.js} +1 -1
  105. package/dist/assets/{index.93176038.js → index.1e395c13.js} +1 -1
  106. package/dist/assets/{index.0f421bfb.js → index.1fd08b8f.js} +1 -1
  107. package/dist/assets/{index.f6faa78c.js → index.271fc58d.js} +1 -1
  108. package/dist/assets/{index.03fcf041.js → index.2a965c68.js} +1 -1
  109. package/dist/assets/{index.adde2dbc.js → index.2ecf1365.js} +1 -1
  110. package/dist/assets/{index.13caabe3.js → index.307681c6.js} +1 -1
  111. package/dist/assets/{index.fbb4da88.js → index.32a66f8e.js} +1 -1
  112. package/dist/assets/{index.582262f3.js → index.336d2876.js} +1 -1
  113. package/dist/assets/{index.2ce5ad4e.js → index.36d21aeb.js} +1 -1
  114. package/dist/assets/{index.460c28b2.js → index.39d438a3.js} +1 -1
  115. package/dist/assets/{index.857a444d.js → index.3dfc9f28.js} +1 -1
  116. package/dist/assets/{index.3dbbdda4.js → index.3efbdb40.js} +1 -1
  117. package/dist/assets/{index.52488452.js → index.41239663.js} +1 -1
  118. package/dist/assets/{index.6dfafdb8.js → index.48d93056.js} +1 -1
  119. package/dist/assets/{index.fc96c02d.js → index.4a1a5f7b.js} +1 -1
  120. package/dist/assets/{index.3cc58479.js → index.4da7e0ab.js} +1 -1
  121. package/dist/assets/{index.cbf2ab7b.js → index.5292cb2f.js} +1 -1
  122. package/dist/assets/{index.7d7c94cc.js → index.53d2e106.js} +1 -1
  123. package/dist/assets/{index.b021cacb.js → index.54b89000.js} +1 -1
  124. package/dist/assets/{index.d19dacc2.js → index.5569aba4.js} +1 -1
  125. package/dist/assets/{index.370eb912.js → index.5e9f194d.js} +1 -1
  126. package/dist/assets/{index.86d76d87.js → index.6281d871.js} +1 -1
  127. package/dist/assets/{index.a3619cd6.js → index.634af914.js} +1 -1
  128. package/dist/assets/{index.020eeba9.js → index.63d11508.js} +1 -1
  129. package/dist/assets/{index.f3dac8ae.js → index.671541d9.js} +1 -1
  130. package/dist/assets/{index.afe1580d.js → index.6819c895.js} +1 -1
  131. package/dist/assets/{index.5ddf1c09.js → index.68748c2d.js} +1 -1
  132. package/dist/assets/{index.3886bcc9.js → index.6a792b33.js} +1 -1
  133. package/dist/assets/{index.07e02ffc.js → index.6dd016c8.js} +1 -1
  134. package/dist/assets/{index.26626da8.js → index.71f5e63c.js} +1 -1
  135. package/dist/assets/{index.12160ad1.js → index.734a95e8.js} +1 -1
  136. package/dist/assets/{index.12bc1139.js → index.759611b6.js} +1 -1
  137. package/dist/assets/{index.278f6673.js → index.76d07b62.js} +1 -1
  138. package/dist/assets/{index.dc16b5fc.js → index.7bee8c77.js} +1 -1
  139. package/dist/assets/{index.967091bd.js → index.7c0f84b2.js} +1 -1
  140. package/dist/assets/{index.8d25e37e.js → index.7d228c67.js} +1 -1
  141. package/dist/assets/{index.2bddfec0.js → index.7fbf2f6a.js} +1 -1
  142. package/dist/assets/{index.a8032304.js → index.865af0fe.js} +1 -1
  143. package/dist/assets/{index.d21606d9.js → index.872629ec.js} +1 -1
  144. package/dist/assets/{index.7c109413.js → index.87a15825.js} +1 -1
  145. package/dist/assets/{index.8d30d8ec.js → index.8d3e2c04.js} +1 -1
  146. package/dist/assets/{index.ffdce238.js → index.8e3e39ae.js} +1 -1
  147. package/dist/assets/{index.ca14dcca.js → index.8fac67f3.js} +1 -1
  148. package/dist/assets/{index.9427fe3a.js → index.944ed685.js} +1 -1
  149. package/dist/assets/{index.cdc078f5.js → index.975605c7.js} +1 -1
  150. package/dist/assets/{index.a1fba609.js → index.9bf6dfc7.js} +1 -1
  151. package/dist/assets/{index.a89c6f27.css → index.9f6c6cb3.css} +1 -1
  152. package/dist/assets/{index.cc8365dc.js → index.a1b32348.js} +1 -1
  153. package/dist/assets/{index.e6c63fd8.js → index.a2724a18.js} +1 -1
  154. package/dist/assets/{index.9e6cb9fb.js → index.ab7a9d20.js} +1 -1
  155. package/dist/assets/{index.69d51e36.js → index.ae39c45d.js} +1 -1
  156. package/dist/assets/{index.a5c459a5.js → index.b0239526.js} +2 -2
  157. package/dist/assets/{index.2e10fa0a.js → index.b22d3b87.js} +1 -1
  158. package/dist/assets/{index.b49259cd.js → index.b2ce5853.js} +1 -1
  159. package/dist/assets/{index.8642f0ef.js → index.b3861ec3.js} +1 -1
  160. package/dist/assets/{index.453b8dd4.js → index.ba6582ce.js} +1 -1
  161. package/dist/assets/{index.0cdd93eb.js → index.c16fb6fc.js} +1 -1
  162. package/dist/assets/{index.0c668002.js → index.c2c4a871.js} +1 -1
  163. package/dist/assets/{index.b8f2f91f.js → index.c38b7f79.js} +1 -1
  164. package/dist/assets/{index.dad442a6.js → index.c6b3c631.js} +1 -1
  165. package/dist/assets/{index.1441a301.js → index.c8dd9a32.js} +1 -1
  166. package/dist/assets/{index.9df43656.js → index.d01ff2fc.js} +1 -1
  167. package/dist/assets/index.d07f63e3.css +1 -0
  168. package/dist/assets/{index.10f638cf.js → index.da1f65af.js} +1 -1
  169. package/dist/assets/{index.cc6ac81f.js → index.e0a5d0dd.js} +1 -1
  170. package/dist/assets/{index.c07a0137.js → index.e7b321ba.js} +1 -1
  171. package/dist/assets/{index.a5833a30.js → index.ec71a491.js} +1 -1
  172. package/dist/assets/{index.9fa02ab0.js → index.eee4f224.js} +1 -1
  173. package/dist/assets/{index.75da7150.js → index.f3f4fbd9.js} +1 -1
  174. package/dist/assets/{index.6cf6e65c.js → index.f757af12.js} +1 -1
  175. package/dist/assets/{index.513f493e.js → index.f99b041c.js} +1 -1
  176. package/dist/assets/{index.9b9992c2.js → index.fbfd2bd6.js} +1 -1
  177. package/dist/assets/{index.3beb87d3.js → index.ffd3af80.js} +1 -1
  178. package/dist/assets/{input-rich-text-html.ae77acab.js → input-rich-text-html.e15177a6.js} +9 -9
  179. package/dist/assets/{installation.ca7cfca2.js → installation.c4bff2d4.js} +1 -1
  180. package/dist/assets/{interfaces.f0ecff97.js → interfaces.1e1a05f4.js} +1 -1
  181. package/dist/assets/{interfaces.b4c6f273.js → interfaces.4d9d8da8.js} +1 -1
  182. package/dist/assets/{introduction.56c0c1cd.js → introduction.36187581.js} +1 -1
  183. package/dist/assets/{introduction.dd1bcb44.js → introduction.5bfc6d93.js} +1 -1
  184. package/dist/assets/{introduction.5c4ec6b9.js → introduction.c36fa9ca.js} +1 -1
  185. package/dist/assets/{items.e1d7ba61.js → items.2ec3ef4a.js} +1 -1
  186. package/dist/assets/{items.2ad153eb.js → items.5eb4a489.js} +1 -1
  187. package/dist/assets/{items.9e96b56b.js → items.7db06a6b.js} +1 -1
  188. package/dist/assets/{javascript-hint.9186051b.js → javascript-hint.968a99a5.js} +1 -1
  189. package/dist/assets/{javascript.2f3ede5a.js → javascript.76216d0d.js} +1 -1
  190. package/dist/assets/{jinja2.8d7f6a8b.js → jinja2.9eba4d82.js} +1 -1
  191. package/dist/assets/{jsx.c540510b.js → jsx.2200a77c.js} +1 -1
  192. package/dist/assets/{julia.a47aef56.js → julia.15f73490.js} +1 -1
  193. package/dist/assets/{layouts.37d32d4c.js → layouts.5a85a5bc.js} +1 -1
  194. package/dist/assets/{layouts.bc85bb07.js → layouts.c52bbf71.js} +1 -1
  195. package/dist/assets/{livescript.3fc737e8.js → livescript.e919a245.js} +1 -1
  196. package/dist/assets/{lua.948ce6b7.js → lua.75eda1a9.js} +1 -1
  197. package/dist/assets/{manual.18f4f30d.js → manual.bc0f8432.js} +1 -1
  198. package/dist/assets/{mark-selection.75c4ea7c.js → mark-selection.a99b3033.js} +1 -1
  199. package/dist/assets/{match-highlighter.bdbe0955.js → match-highlighter.668a64ca.js} +1 -1
  200. package/dist/assets/{mathematica.4f5f6aa2.js → mathematica.598d20b5.js} +1 -1
  201. package/dist/assets/{mbox.122aff2c.js → mbox.5b96e107.js} +1 -1
  202. package/dist/assets/{migrating-from-v8.311cd0e1.js → migrating-from-v8.667c19d3.js} +1 -1
  203. package/dist/assets/{migrations.fb0c9784.js → migrations.33fd8fc8.js} +1 -1
  204. package/dist/assets/{mirc.a72bdc8a.js → mirc.90d37912.js} +1 -1
  205. package/dist/assets/{mllike.eb583c07.js → mllike.137d1b89.js} +1 -1
  206. package/dist/assets/{modelica.f3e06d95.js → modelica.bd73920d.js} +1 -1
  207. package/dist/assets/{modules.7140afbb.js → modules.17def569.js} +1 -1
  208. package/dist/assets/{modules.8f34db3e.js → modules.43892717.js} +1 -1
  209. package/dist/assets/{mscgen.a5bf61ad.js → mscgen.5b4ab425.js} +1 -1
  210. package/dist/assets/{multiplex.796857c0.js → multiplex.87dad2d7.js} +1 -1
  211. package/dist/assets/{mumps.0e26badd.js → mumps.61c3783e.js} +1 -1
  212. package/dist/assets/{nginx.d228fa16.js → nginx.655bc186.js} +1 -1
  213. package/dist/assets/{nsis.7f6a0f90.js → nsis.fdad0c07.js} +1 -1
  214. package/dist/assets/{ntriples.994511c8.js → ntriples.97729057.js} +1 -1
  215. package/dist/assets/{octave.32e47905.js → octave.f73b18ac.js} +1 -1
  216. package/dist/assets/{overlay.8c05baaa.js → overlay.7f1c5fa5.js} +1 -1
  217. package/dist/assets/{oz.742a2172.js → oz.809f2a14.js} +1 -1
  218. package/dist/assets/{pascal.1609d5f5.js → pascal.f8cd95cf.js} +1 -1
  219. package/dist/assets/{pegjs.5173241b.js → pegjs.5dfc390d.js} +1 -1
  220. package/dist/assets/{perl.229a0cce.js → perl.6b530f7e.js} +1 -1
  221. package/dist/assets/{permissions.144d3fdf.js → permissions.1cc1e9ac.js} +1 -1
  222. package/dist/assets/{permissions.87246e2c.js → permissions.5186b062.js} +1 -1
  223. package/dist/assets/{permissions.1d7c8608.js → permissions.f9121dc8.js} +1 -1
  224. package/dist/assets/{php.5aaf45dc.js → php.328211b9.js} +1 -1
  225. package/dist/assets/{pig.59bb21b5.js → pig.8c9bf1f9.js} +1 -1
  226. package/dist/assets/{plesk.73a68904.js → plesk.68b64f87.js} +2 -2
  227. package/dist/assets/{powershell.60297f1d.js → powershell.015ab379.js} +1 -1
  228. package/dist/assets/{presets.af59754e.js → presets.83ef1429.js} +1 -1
  229. package/dist/assets/{presets.c061427e.js → presets.ac89e285.js} +1 -1
  230. package/dist/assets/{projects.767db627.js → projects.086e4104.js} +1 -1
  231. package/dist/assets/{projects.ec4144c5.js → projects.54a55899.js} +1 -1
  232. package/dist/assets/{properties.22ba7b4b.js → properties.882f6a5f.js} +1 -1
  233. package/dist/assets/{protobuf.85730256.js → protobuf.8dfcce9b.js} +1 -1
  234. package/dist/assets/{pug.70f01632.js → pug.5b875e17.js} +1 -1
  235. package/dist/assets/{puppet.a64ec0ec.js → puppet.5aa1fc3a.js} +1 -1
  236. package/dist/assets/{python.fe50fda4.js → python.67462152.js} +1 -1
  237. package/dist/assets/{q.88cb2b8c.js → q.28cbbad3.js} +1 -1
  238. package/dist/assets/{query.699b00aa.js → query.eaa960f0.js} +1 -1
  239. package/dist/assets/{quickstart.504e6d54.js → quickstart.39d64eea.js} +1 -1
  240. package/dist/assets/{r.59023feb.js → r.fdf280db.js} +1 -1
  241. package/dist/assets/{relations.5d7fec12.js → relations.30bf1e5e.js} +1 -1
  242. package/dist/assets/{relationships.850eb59c.js → relationships.8c5c9d45.js} +1 -1
  243. package/dist/assets/{revisions.edb861a6.js → revisions.78c66006.js} +1 -1
  244. package/dist/assets/{revisions.c65244b7.js → revisions.8430c29c.js} +1 -1
  245. package/dist/assets/ro-RO.5d125b41.js +1 -0
  246. package/dist/assets/{roles.d176bda2.js → roles.a5d56e09.js} +1 -1
  247. package/dist/assets/{roles.31bb987f.js → roles.ae48ac62.js} +1 -1
  248. package/dist/assets/{roles.be39bb88.js → roles.b691aabb.js} +1 -1
  249. package/dist/assets/{rpm.5b354114.js → rpm.3b8f7e29.js} +1 -1
  250. package/dist/assets/rst.528314cf.js +1 -0
  251. package/dist/assets/{ruby.fbe69f10.js → ruby.c4d5f740.js} +1 -1
  252. package/dist/assets/{running-locally.f7f27b40.js → running-locally.6bd2f854.js} +1 -1
  253. package/dist/assets/{rust.d5f860d4.js → rust.409632ee.js} +1 -1
  254. package/dist/assets/{sas.5078cd09.js → sas.47cbda6d.js} +1 -1
  255. package/dist/assets/{sass.ad94908f.js → sass.a244c156.js} +1 -1
  256. package/dist/assets/{scheme.62ef3aac.js → scheme.163a4a3b.js} +1 -1
  257. package/dist/assets/{sdk.1fa5df01.js → sdk.c46fe226.js} +1 -1
  258. package/dist/assets/{server.517326b4.js → server.b7e67b66.js} +1 -1
  259. package/dist/assets/{settings.80fdd488.js → settings.076e3b15.js} +1 -1
  260. package/dist/assets/{shell.21000e97.js → shell.6d60921a.js} +1 -1
  261. package/dist/assets/{show-hint.4e2adb57.js → show-hint.e595bcf5.js} +1 -1
  262. package/dist/assets/{sieve.8235bc52.js → sieve.c618d5d5.js} +1 -1
  263. package/dist/assets/{simple.c600ff81.js → simple.b69582f5.js} +1 -1
  264. package/dist/assets/{slim.b09565ba.js → slim.daebda4a.js} +1 -1
  265. package/dist/assets/{smalltalk.d1bdef54.js → smalltalk.70889ef5.js} +1 -1
  266. package/dist/assets/{smarty.68c55065.js → smarty.325ff529.js} +1 -1
  267. package/dist/assets/{solr.32afafb4.js → solr.bb397dc6.js} +1 -1
  268. package/dist/assets/{soy.71a94bd3.js → soy.1584d1b4.js} +1 -1
  269. package/dist/assets/{sparql.c13a6abd.js → sparql.9bd63ffb.js} +1 -1
  270. package/dist/assets/{spreadsheet.f06b861c.js → spreadsheet.bd23b833.js} +1 -1
  271. package/dist/assets/{sql.1622b7a0.js → sql.ed54c85d.js} +1 -1
  272. package/dist/assets/sr-CS.1840c0db.js +1 -0
  273. package/dist/assets/{stex.2997e8d4.js → stex.35f42f0e.js} +1 -1
  274. package/dist/assets/{styles.f321c37a.js → styles.8f31dcd9.js} +1 -1
  275. package/dist/assets/{stylus.09700176.js → stylus.5c8637e4.js} +1 -1
  276. package/dist/assets/{support.fb5b37c6.js → support.046994af.js} +1 -1
  277. package/dist/assets/{swift.ac31530b.js → swift.6e697047.js} +1 -1
  278. package/dist/assets/{tcl.3dcc845d.js → tcl.6462ea3a.js} +1 -1
  279. package/dist/assets/{textile.40aa3a77.js → textile.b5cd484d.js} +1 -1
  280. package/dist/assets/{tiddlywiki.bc050afc.js → tiddlywiki.b1e435a4.js} +1 -1
  281. package/dist/assets/{tiki.aa5136d5.js → tiki.4013883e.js} +1 -1
  282. package/dist/assets/{toml.7d0d7ed9.js → toml.d8214748.js} +1 -1
  283. package/dist/assets/{tornado.5818c716.js → tornado.20d8d573.js} +1 -1
  284. package/dist/assets/{transition-bounce.57b56dd5.js → transition-bounce.52382bc3.js} +1 -1
  285. package/dist/assets/{transition-dialog.239bd9f5.js → transition-dialog.5f5e2d17.js} +1 -1
  286. package/dist/assets/{transition-expand.15de075e.js → transition-expand.84ad1aa8.js} +1 -1
  287. package/dist/assets/{translations.067fabb9.js → translations.8b18280d.js} +1 -1
  288. package/dist/assets/{translations.a62970f2.js → translations.d6de3905.js} +1 -1
  289. package/dist/assets/{troff.444d4397.js → troff.72228b7a.js} +1 -1
  290. package/dist/assets/{ttcn-cfg.0a78bb0d.js → ttcn-cfg.f96a99f0.js} +1 -1
  291. package/dist/assets/{ttcn.112b0d67.js → ttcn.0e972000.js} +1 -1
  292. package/dist/assets/{turtle.4816436c.js → turtle.8ab64def.js} +1 -1
  293. package/dist/assets/{twig.d9de9f9a.js → twig.7589b410.js} +1 -1
  294. package/dist/assets/{types.78caa1da.js → types.48124f27.js} +1 -1
  295. package/dist/assets/{ubuntu.78911058.js → ubuntu.36ee13da.js} +1 -1
  296. package/dist/assets/{use-sync.25413196.js → use-sync.fa2fe3b0.js} +1 -1
  297. package/dist/assets/{users.aded52e8.js → users.adf2a2c8.js} +1 -1
  298. package/dist/assets/{users.b66610cf.js → users.d2e45508.js} +1 -1
  299. package/dist/assets/{users.fdd31e5b.js → users.d8f130a3.js} +1 -1
  300. package/dist/assets/{utilities.4cd9b9f2.js → utilities.4d891c04.js} +1 -1
  301. package/dist/assets/{v-avatar.7672b4c4.js → v-avatar.00e9b8eb.js} +1 -1
  302. package/dist/assets/{v-badge.c90c82e6.js → v-badge.7fc3bab4.js} +1 -1
  303. package/dist/assets/{v-breadcrumb.b77e4f18.js → v-breadcrumb.a2a2f370.js} +1 -1
  304. package/dist/assets/{v-button.6f71192d.js → v-button.36e765a2.js} +1 -1
  305. package/dist/assets/{v-card-actions.f7038c5a.js → v-card-actions.12455b5d.js} +1 -1
  306. package/dist/assets/{v-card-subtitle.64d51a7f.js → v-card-subtitle.b7280bd9.js} +2 -2
  307. package/dist/assets/{v-card-text.18cb0f11.js → v-card-text.095779dd.js} +2 -2
  308. package/dist/assets/v-card-title.78e39c82.js +4 -0
  309. package/dist/assets/{v-card.a3d24ca4.js → v-card.e9191679.js} +1 -1
  310. package/dist/assets/{v-checkbox.2a883e5d.js → v-checkbox.f755b3db.js} +1 -1
  311. package/dist/assets/{v-chip.9a1d06bd.js → v-chip.5f8fdbe9.js} +1 -1
  312. package/dist/assets/{v-detail.08081d02.js → v-detail.70d83e7f.js} +1 -1
  313. package/dist/assets/{v-dialog.429d7b8a.js → v-dialog.5e7fff0c.js} +2 -2
  314. package/dist/assets/{v-divider.d65da562.js → v-divider.9db45406.js} +2 -2
  315. package/dist/assets/{v-drawer.c3209884.js → v-drawer.9b03749d.js} +1 -1
  316. package/dist/assets/{v-error.e5cdff60.js → v-error.fb66a9e6.js} +2 -2
  317. package/dist/assets/{v-fancy-select.5f18b1f3.js → v-fancy-select.b54085b1.js} +1 -1
  318. package/dist/assets/{v-field-select.32fb1d44.js → v-field-select.dd25033c.js} +2 -2
  319. package/dist/assets/{v-field-template.929a86e7.js → v-field-template.9e342040.js} +1 -1
  320. package/dist/assets/{v-form.4f15ff0f.js → v-form.e08a28c3.js} +2 -2
  321. package/dist/assets/{v-hover.2765134e.js → v-hover.a44a3be2.js} +1 -1
  322. package/dist/assets/{v-icon.0f49dcdf.js → v-icon.4709fb88.js} +1 -1
  323. package/dist/assets/{v-info.b1cb42be.js → v-info.73d1c44b.js} +2 -2
  324. package/dist/assets/{v-input.8c2d8d91.js → v-input.fda37db3.js} +1 -1
  325. package/dist/assets/{v-item-group.06ee487a.js → v-item-group.76391fb0.js} +1 -1
  326. package/dist/assets/{v-item.db377719.js → v-item.38e2a78e.js} +1 -1
  327. package/dist/assets/{v-list-group.c058dd0e.js → v-list-group.e39085f1.js} +2 -2
  328. package/dist/assets/{v-list-item-content.fb662398.js → v-list-item-content.79e3ccea.js} +1 -1
  329. package/dist/assets/{v-list-item-hint.b3e2809b.js → v-list-item-hint.b72017df.js} +1 -1
  330. package/dist/assets/{v-list-item-icon.7c917677.js → v-list-item-icon.a4d86111.js} +1 -1
  331. package/dist/assets/{v-list-item.4062ea0e.js → v-list-item.aeb5be7e.js} +1 -1
  332. package/dist/assets/{v-list.52d7c7ae.js → v-list.f09d5055.js} +1 -1
  333. package/dist/assets/{v-menu.78d16370.js → v-menu.672ad2ec.js} +1 -1
  334. package/dist/assets/{v-notice.3c4dcb0c.js → v-notice.ca244793.js} +2 -2
  335. package/dist/assets/{v-overlay.9ee2a4ea.js → v-overlay.b2e5ff6e.js} +1 -1
  336. package/dist/assets/{v-pagination.1bcaff37.js → v-pagination.dc840ce8.js} +1 -1
  337. package/dist/assets/{v-progress-circular.b1271d61.js → v-progress-circular.822f61bb.js} +2 -2
  338. package/dist/assets/{v-progress-linear.40057ac3.js → v-progress-linear.33cf976d.js} +1 -1
  339. package/dist/assets/{v-radio.9ce87d06.js → v-radio.1aa97b7b.js} +1 -1
  340. package/dist/assets/{v-select.ad82a076.js → v-select.27ac4bef.js} +1 -1
  341. package/dist/assets/{v-sheet.5acc0a85.js → v-sheet.c6ba4912.js} +1 -1
  342. package/dist/assets/{v-skeleton-loader.c5b2acac.js → v-skeleton-loader.52915dd8.js} +1 -1
  343. package/dist/assets/{v-slider.6fe18dea.js → v-slider.b989ae59.js} +1 -1
  344. package/dist/assets/{v-switch.3839f607.js → v-switch.de111eb9.js} +1 -1
  345. package/dist/assets/{v-tab-item.2ab69292.js → v-tab-item.de7c0a28.js} +1 -1
  346. package/dist/assets/{v-tab.c4390cdb.js → v-tab.40afffbf.js} +1 -1
  347. package/dist/assets/{v-table.fc66e91c.js → v-table.9a5b33ab.js} +1 -1
  348. package/dist/assets/{v-tabs-items.23a4d028.js → v-tabs-items.15506baf.js} +1 -1
  349. package/dist/assets/{v-tabs.8cb6f20c.js → v-tabs.c9489007.js} +1 -1
  350. package/dist/assets/{v-text-overflow.674dc510.js → v-text-overflow.92c20f66.js} +1 -1
  351. package/dist/assets/{v-textarea.02bee531.js → v-textarea.4cced1c0.js} +2 -2
  352. package/dist/assets/{v-upload.685df91f.js → v-upload.ffe73a75.js} +1 -1
  353. package/dist/assets/{vb.4da8219a.js → vb.86e493cb.js} +1 -1
  354. package/dist/assets/{vbscript.b340075d.js → vbscript.74f96813.js} +1 -1
  355. package/dist/assets/{velocity.64e51bc5.js → velocity.a679c97c.js} +1 -1
  356. package/dist/assets/vendor.a626ab9c.js +2039 -0
  357. package/dist/assets/vendor.fe7856f0.css +1 -0
  358. package/dist/assets/{verilog.1bc5f3a3.js → verilog.e437b30d.js} +1 -1
  359. package/dist/assets/{vhdl.3c2ba104.js → vhdl.1c239e80.js} +1 -1
  360. package/dist/assets/{vue.fa209324.js → vue.b668d00e.js} +1 -1
  361. package/dist/assets/{wast.54b48569.js → wast.82d9b15b.js} +1 -1
  362. package/dist/assets/{webhooks.4f7eaa96.js → webhooks.439c510a.js} +1 -1
  363. package/dist/assets/{webhooks.e51fba7a.js → webhooks.4bdd0741.js} +1 -1
  364. package/dist/assets/{webidl.2374e180.js → webidl.5aceeff1.js} +1 -1
  365. package/dist/assets/{xquery.750a7cd1.js → xquery.900a45f6.js} +1 -1
  366. package/dist/assets/{yacas.6eba3f7b.js → yacas.56dd7cb2.js} +1 -1
  367. package/dist/assets/yaml-frontmatter.bdb5ae8b.js +1 -0
  368. package/dist/assets/{yaml.622de393.js → yaml.d877d25f.js} +1 -1
  369. package/dist/assets/{z80.f493b48f.js → z80.807d7c5a.js} +1 -1
  370. package/dist/index.514c2a9a.js +48 -0
  371. package/dist/index.html +5 -5
  372. package/dist/vue-i18n.c5bba31b.js +1 -0
  373. package/dist/vue-router.ba0fd454.js +1 -0
  374. package/dist/vue.010be4a3.js +1 -0
  375. package/package.json +17 -15
  376. package/dist/@directus_extensions-sdk.caa1292f.js +0 -1
  377. package/dist/assets/api-config.d4a334b4.js +0 -53
  378. package/dist/assets/authentication.2962910f.js +0 -54
  379. package/dist/assets/en-au.175fcb2b.js +0 -1
  380. package/dist/assets/en-gb.018f9a21.js +0 -1
  381. package/dist/assets/en-nz.2f0f7e5c.js +0 -1
  382. package/dist/assets/environment-variables.41ac3cc1.js +0 -25
  383. package/dist/assets/es.18d3cc7b.js +0 -1
  384. package/dist/assets/fr-FR.13498131.js +0 -1
  385. package/dist/assets/haml.071df27c.js +0 -1
  386. package/dist/assets/haskell-literate.d4663d82.js +0 -1
  387. package/dist/assets/iis.8d5a89ca.js +0 -23
  388. package/dist/assets/index.3339c532.css +0 -1
  389. package/dist/assets/ro-RO.381b685b.js +0 -1
  390. package/dist/assets/rst.dab09e05.js +0 -1
  391. package/dist/assets/sr-CS.f7a42011.js +0 -1
  392. package/dist/assets/v-card-title.37498457.js +0 -4
  393. package/dist/assets/vendor.62143b15.js +0 -1582
  394. package/dist/assets/vendor.de5758fd.css +0 -1
  395. package/dist/assets/yaml-frontmatter.f29f4a8c.js +0 -1
  396. package/dist/index.9cda602b.js +0 -48
  397. package/dist/vue-i18n.12eba70a.js +0 -1
  398. package/dist/vue-router.72dfb5ae.js +0 -1
  399. package/dist/vue.c17340c4.js +0 -1
@@ -1 +1 @@
1
- import{r,p as c,q as l,w as a,B as e,t as o,P as t}from"./vendor.62143b15.js";const u={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"The Directus platform is primarily comprised of an API and App, working in concert to \u201Cmirror\u201D the schema and content of your SQL database.")],-1),p=e("h2",{id:"database-mirroring"},[t("Database Mirroring "),e("a",{class:"header-anchor",href:"#database-mirroring"},"#")],-1),m=e("p",null,[e("strong",null,"Instead of using a predefined \u201Cone-size-fits-all\u201D data model to store your content, Directus \u201Cmirrors\u201D your actual SQL database in real-time."),t(" The principle is akin to a database client (like "),e("em",null,"phpMyAdmin"),t("), but includes far more advanced tools, and is safe and intuitive enough for non-technical users. This approach has many unique advantages:")],-1),_=e("ul",null,[e("li",null,"A custom (pure) SQL database schema, tailored to your exact requirements"),e("li",null,"Significant performance improvements through optimizations and indexing"),e("li",null,"Complete transparency, portability, and security for your data"),e("li",null,"Direct database access and the full power of raw/complex SQL queries"),e("li",null,"Allows importing existing databases, unaltered and without any migrations")],-1),f=e("h2",{id:"dynamic-api"},[t("Dynamic API "),e("a",{class:"header-anchor",href:"#dynamic-api"},"#")],-1),b=t("The Directus API uses "),y=e("em",null,"Database Mirroring",-1),g=t(" to dynamically generate REST endpoints and a GraphQL schema based on the connected database\u2019s architecture. It is written in "),v=e("a",{href:"https://nodejs.dev",target:"_blank",rel:"noopener noreferrer"},"Node.js",-1),D=t(" and uses database abstraction to support most "),w=t("SQL database vendors"),S=t("."),k=e("h4",{id:"relevant-docs"},[t("Relevant Docs "),e("a",{class:"header-anchor",href:"#relevant-docs"},"#")],-1),L=t("API Reference"),Q=t("API Extensions"),x=e("h2",{id:"database-abstraction"},[t("Database Abstraction "),e("a",{class:"header-anchor",href:"#database-abstraction"},"#")],-1),A=e("p",null,"Directus supports mirroring all the most widely used SQL databases. There are many different SQL database vendors, including popular choices such as MySQL, PostgreSQL, and SQLite. Each vendor has subtle (and sometimes not so subtle) differences in how they function, so Directus includes an abstraction layer that helps it avoid writing different code for each different type.",-1),T=e("p",null,[t("This means there is the possiblility of supporting other datastores in the future, such as NoSQL options like MongoDB, or even third-party data services like Firebase or Heroku. However these options are "),e("em",null,"fundamentally"),t(" different from the relational SQL databases we currently support, and so more research is needed.")],-1),M={setup(I,{expose:i}){const n={title:"Databases",modularExtension:!1};return i({frontmatter:n}),(P,q)=>{const s=r("router-link"),d=r("DocsWrapper");return c(),l(d,{frontmatter:n},{default:a(()=>[e("div",u,[h,p,m,_,f,e("p",null,[b,y,g,v,D,o(s,{to:"/docs/guides/installation/cli/#_1-confirm-minimum-requirements"},{default:a(()=>[w]),_:1}),S]),k,e("ul",null,[e("li",null,[o(s,{to:"/docs/reference/api/introduction/"},{default:a(()=>[L]),_:1})]),e("li",null,[o(s,{to:"/docs/concepts/extensions/#api-extensions"},{default:a(()=>[Q]),_:1})])]),x,A,T])]),_:1})}}};export{M as default};
1
+ import{r,p as c,q as l,w as a,B as e,t as o,P as t}from"./vendor.a626ab9c.js";const u={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"The Directus platform is primarily comprised of an API and App, working in concert to \u201Cmirror\u201D the schema and content of your SQL database.")],-1),p=e("h2",{id:"database-mirroring"},[t("Database Mirroring "),e("a",{class:"header-anchor",href:"#database-mirroring"},"#")],-1),m=e("p",null,[e("strong",null,"Instead of using a predefined \u201Cone-size-fits-all\u201D data model to store your content, Directus \u201Cmirrors\u201D your actual SQL database in real-time."),t(" The principle is akin to a database client (like "),e("em",null,"phpMyAdmin"),t("), but includes far more advanced tools, and is safe and intuitive enough for non-technical users. This approach has many unique advantages:")],-1),_=e("ul",null,[e("li",null,"A custom (pure) SQL database schema, tailored to your exact requirements"),e("li",null,"Significant performance improvements through optimizations and indexing"),e("li",null,"Complete transparency, portability, and security for your data"),e("li",null,"Direct database access and the full power of raw/complex SQL queries"),e("li",null,"Allows importing existing databases, unaltered and without any migrations")],-1),f=e("h2",{id:"dynamic-api"},[t("Dynamic API "),e("a",{class:"header-anchor",href:"#dynamic-api"},"#")],-1),b=t("The Directus API uses "),y=e("em",null,"Database Mirroring",-1),g=t(" to dynamically generate REST endpoints and a GraphQL schema based on the connected database\u2019s architecture. It is written in "),v=e("a",{href:"https://nodejs.dev",target:"_blank",rel:"noopener noreferrer"},"Node.js",-1),D=t(" and uses database abstraction to support most "),w=t("SQL database vendors"),S=t("."),k=e("h4",{id:"relevant-docs"},[t("Relevant Docs "),e("a",{class:"header-anchor",href:"#relevant-docs"},"#")],-1),L=t("API Reference"),Q=t("API Extensions"),x=e("h2",{id:"database-abstraction"},[t("Database Abstraction "),e("a",{class:"header-anchor",href:"#database-abstraction"},"#")],-1),A=e("p",null,"Directus supports mirroring all the most widely used SQL databases. There are many different SQL database vendors, including popular choices such as MySQL, PostgreSQL, and SQLite. Each vendor has subtle (and sometimes not so subtle) differences in how they function, so Directus includes an abstraction layer that helps it avoid writing different code for each different type.",-1),T=e("p",null,[t("This means there is the possiblility of supporting other datastores in the future, such as NoSQL options like MongoDB, or even third-party data services like Firebase or Heroku. However these options are "),e("em",null,"fundamentally"),t(" different from the relational SQL databases we currently support, and so more research is needed.")],-1),M={setup(I,{expose:i}){const n={title:"Databases",modularExtension:!1};return i({frontmatter:n}),(P,q)=>{const s=r("router-link"),d=r("DocsWrapper");return c(),l(d,{frontmatter:n},{default:a(()=>[e("div",u,[h,p,m,_,f,e("p",null,[b,y,g,v,D,o(s,{to:"/docs/guides/installation/cli/#_1-confirm-minimum-requirements"},{default:a(()=>[w]),_:1}),S]),k,e("ul",null,[e("li",null,[o(s,{to:"/docs/reference/api/introduction/"},{default:a(()=>[L]),_:1})]),e("li",null,[o(s,{to:"/docs/concepts/extensions/#api-extensions"},{default:a(()=>[Q]),_:1})])]),x,A,T])]),_:1})}}};export{M as default};
@@ -1 +1 @@
1
- import{bA as u}from"./vendor.62143b15.js";function p(o,f){return f.forEach(function(t){Object.keys(t).forEach(function(r){if(r!=="default"&&!(r in o)){var e=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(o,r,e.get?e:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(o)}var i={exports:{}};(function(o,f){(function(t){t(u.exports)})(function(t){t.defineMode("diff",function(){var r={"+":"positive","-":"negative","@":"meta"};return{token:function(e){var n=e.string.search(/[\t ]+?$/);if(!e.sol()||n===0)return e.skipToEnd(),("error "+(r[e.string.charAt(0)]||"")).replace(/ $/,"");var c=r[e.peek()]||e.skipToEnd();return n===-1?e.skipToEnd():e.pos=n,c}}}),t.defineMIME("text/x-diff","diff")})})();var d=i.exports,s=Object.freeze(p({__proto__:null,[Symbol.toStringTag]:"Module",default:d},[i.exports]));export{s as d};
1
+ import{bE as u}from"./vendor.a626ab9c.js";function p(o,f){return f.forEach(function(t){Object.keys(t).forEach(function(r){if(r!=="default"&&!(r in o)){var e=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(o,r,e.get?e:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(o)}var i={exports:{}};(function(o,f){(function(t){t(u.exports)})(function(t){t.defineMode("diff",function(){var r={"+":"positive","-":"negative","@":"meta"};return{token:function(e){var n=e.string.search(/[\t ]+?$/);if(!e.sol()||n===0)return e.skipToEnd(),("error "+(r[e.string.charAt(0)]||"")).replace(/ $/,"");var c=r[e.peek()]||e.skipToEnd();return n===-1?e.skipToEnd():e.pos=n,c}}}),t.defineMIME("text/x-diff","diff")})})();var a=i.exports,s=Object.freeze(p({__proto__:null,[Symbol.toStringTag]:"Module",default:a},[i.exports]));export{s as d};
@@ -1,3 +1,3 @@
1
- import{r,p as d,q as l,w as a,B as e,t as n,P as t}from"./vendor.62143b15.js";const u={class:"markdown-body"},h=e("h2",{id:"1.-setup-a-repo-on-github"},[t("1. Setup a repo on GitHub "),e("a",{class:"header-anchor",href:"#1.-setup-a-repo-on-github"},"#")],-1),p=t("See the doc on "),_=t("installing Directus manually"),m=t(" to learn how to configure this repo."),f=e("h2",{id:"2.-sign-up-for-a-digitalocean-account"},[t("2. Sign up for a DigitalOcean account "),e("a",{class:"header-anchor",href:"#2.-sign-up-for-a-digitalocean-account"},"#")],-1),b=e("p",null,[t("Create your DigitalOcean account \u2014 "),e("a",{href:"https://m.do.co/c/4c0b6062c16e",target:"_blank",rel:"noopener noreferrer"},"get $100 of free credit"),t(" by using our referral link.")],-1),g=e("h2",{id:"3.-create-a-managed-database-instance"},[t("3. Create a Managed Database instance "),e("a",{class:"header-anchor",href:"#3.-create-a-managed-database-instance"},"#")],-1),v=e("p",null,"We recommend using Postgres 12. The exact size and need for a replica depends on your usage and project requirements.",-1),y=e("h2",{id:"4.-create-a-new-app-using-your-previously-created-repo"},[t("4. Create a new App using your previously created repo "),e("a",{class:"header-anchor",href:"#4.-create-a-new-app-using-your-previously-created-repo"},"#")],-1),w=e("p",null,"Make sure to select the database you created in step 2 during the configuration wizard.",-1),D=e("h2",{id:"5.-setup-the-build-step"},[t("5. Setup the build-step "),e("a",{class:"header-anchor",href:"#5.-setup-the-build-step"},"#")],-1),S=t("While Directus itself doesn\u2019t have to be built from source in order to use it on App Platform, we do recommend adding "),C=e("code",null,"npx directus bootstrap",-1),k=t(" as the \u201Cbuild\u201D step for DigitalOcean. This will automatically provision the database if it\u2019s empty, and migrate it to the latest version in case of upgrades. See "),x=t("Command Line Interface"),O=t(" for more information."),T=e("h2",{id:"6.-configure-the-environment-variables"},[t("6. Configure the environment variables "),e("a",{class:"header-anchor",href:"#6.-configure-the-environment-variables"},"#")],-1),A=t("See "),B=t("Environment Variables"),E=t(" for all available environment variables."),L=e("p",null,"DigitalOcean requires you to use SSL connections to managed databases. DigitalOcean provides a bunch of aliases to often used database properties that can be injected when the database is a component of your app. To enable SSL connections, set the following environment variables:",-1),j=e("pre",null,[e("code",null,`DB_SSL__REJECT_UNAUTHORIZED=true
1
+ import{r,p as d,q as l,w as a,B as e,t as n,P as t}from"./vendor.a626ab9c.js";const u={class:"markdown-body"},h=e("h2",{id:"1.-setup-a-repo-on-github"},[t("1. Setup a repo on GitHub "),e("a",{class:"header-anchor",href:"#1.-setup-a-repo-on-github"},"#")],-1),p=t("See the doc on "),_=t("installing Directus manually"),m=t(" to learn how to configure this repo."),f=e("h2",{id:"2.-sign-up-for-a-digitalocean-account"},[t("2. Sign up for a DigitalOcean account "),e("a",{class:"header-anchor",href:"#2.-sign-up-for-a-digitalocean-account"},"#")],-1),b=e("p",null,[t("Create your DigitalOcean account \u2014 "),e("a",{href:"https://m.do.co/c/4c0b6062c16e",target:"_blank",rel:"noopener noreferrer"},"get $100 of free credit"),t(" by using our referral link.")],-1),g=e("h2",{id:"3.-create-a-managed-database-instance"},[t("3. Create a Managed Database instance "),e("a",{class:"header-anchor",href:"#3.-create-a-managed-database-instance"},"#")],-1),v=e("p",null,"We recommend using Postgres 12. The exact size and need for a replica depends on your usage and project requirements.",-1),y=e("h2",{id:"4.-create-a-new-app-using-your-previously-created-repo"},[t("4. Create a new App using your previously created repo "),e("a",{class:"header-anchor",href:"#4.-create-a-new-app-using-your-previously-created-repo"},"#")],-1),w=e("p",null,"Make sure to select the database you created in step 2 during the configuration wizard.",-1),D=e("h2",{id:"5.-setup-the-build-step"},[t("5. Setup the build-step "),e("a",{class:"header-anchor",href:"#5.-setup-the-build-step"},"#")],-1),S=t("While Directus itself doesn\u2019t have to be built from source in order to use it on App Platform, we do recommend adding "),C=e("code",null,"npx directus bootstrap",-1),k=t(" as the \u201Cbuild\u201D step for DigitalOcean. This will automatically provision the database if it\u2019s empty, and migrate it to the latest version in case of upgrades. See "),x=t("Command Line Interface"),O=t(" for more information."),T=e("h2",{id:"6.-configure-the-environment-variables"},[t("6. Configure the environment variables "),e("a",{class:"header-anchor",href:"#6.-configure-the-environment-variables"},"#")],-1),A=t("See "),B=t("Environment Variables"),E=t(" for all available environment variables."),L=e("p",null,"DigitalOcean requires you to use SSL connections to managed databases. DigitalOcean provides a bunch of aliases to often used database properties that can be injected when the database is a component of your app. To enable SSL connections, set the following environment variables:",-1),j=e("pre",null,[e("code",null,`DB_SSL__REJECT_UNAUTHORIZED=true
2
2
  DB_SSL__CA=\${my-database-component-name.CA_CERT}
3
3
  `)],-1),N=e("div",{class:"warning hint"},[e("p",null,[t("Make sure to replace "),e("code",null,"my-database-component-name"),t(" with your actual database component name in the above env vars")])],-1),M={setup(P,{expose:i}){const s={title:"DigitalOcean App Platform",modularExtension:!1};return i({frontmatter:s}),(V,W)=>{const o=r("router-link"),c=r("DocsWrapper");return d(),l(c,{frontmatter:s},{default:a(()=>[e("div",u,[h,e("p",null,[p,n(o,{to:"/docs/guides/installation/manual"},{default:a(()=>[_]),_:1}),m]),f,b,g,v,y,w,D,e("p",null,[S,C,k,n(o,{to:"/docs/reference/command-line-interface/#bootstrap-a-project"},{default:a(()=>[x]),_:1}),O]),T,e("p",null,[A,n(o,{to:"/docs/reference/environment-variables"},{default:a(()=>[B]),_:1}),E]),L,j,N])]),_:1})}}};export{M as default};
@@ -1 +1 @@
1
- import{r as o,p as i,q as u,w as a,B as e,t as d,P as l}from"./vendor.62143b15.js";const c={class:"markdown-body"},p=e("blockquote",null,[e("p",null,"Displays are the smaller, read-only counterpart to Interfaces, defining how a field\u2019s data will be displayed inline throughout the App.")],-1),m=e("p",null,[l("For example, you may have a \u201CStatus\u201D field that uses a "),e("em",null,"Dropdown"),l(" Interface on the Item Detail page, and a smaller "),e("em",null,"Badge"),l(" Display when the field is referenced throughout the rest of the App. Directus includes many Displays out-of-the-box, below are the some key examples:")],-1),h=e("ul",null,[e("li",null,[e("strong",null,"Raw"),l(" \u2014 The exact value, straight from the API")]),e("li",null,[e("strong",null,"Formatted Value"),l(" \u2014 Provides options for string formatting")]),e("li",null,[e("strong",null,"Boolean"),l(" \u2014 Customizable True/False icons")]),e("li",null,[e("strong",null,"Color"),l(" \u2014 A color swatch preview")]),e("li",null,[e("strong",null,"DateTime"),l(" \u2014 Formatted or relative datetimes")]),e("li",null,[e("strong",null,"Image"),l(" \u2014 Thumbnail previews")]),e("li",null,[e("strong",null,"Labels"),l(" \u2014 Small, custom colored badges")]),e("li",null,[e("strong",null,"Rating"),l(" \u2014 Customizable stars")]),e("li",null,[e("strong",null,"Related Values"),l(" \u2014 Displays relational display titles")]),e("li",null,[e("strong",null,"User"),l(" \u2014 Avatar and name of a system user")])],-1),g=e("p",null,"In addition to the included core displays, custom displays allow for creating new and/or proprietary ways to view or represent field data. For example, you could create progress indicators, tooltips for relational data, specific formatting styles, or anything else.",-1),_=e("h3",{id:"relevant-guides"},[l("Relevant Guides "),e("a",{class:"header-anchor",href:"#relevant-guides"},"#")],-1),f=l("Creating a Custom Display"),b={setup(y,{expose:s}){const t={title:"Displays",modularExtension:!0};return s({frontmatter:t}),(w,v)=>{const n=o("router-link"),r=o("DocsWrapper");return i(),u(r,{frontmatter:t},{default:a(()=>[e("div",c,[p,m,h,g,_,e("ul",null,[e("li",null,[d(n,{to:"/docs/guides/displays"},{default:a(()=>[f]),_:1})])])])]),_:1})}}};export{b as default};
1
+ import{r as o,p as i,q as u,w as a,B as e,t as d,P as l}from"./vendor.a626ab9c.js";const c={class:"markdown-body"},p=e("blockquote",null,[e("p",null,"Displays are the smaller, read-only counterpart to Interfaces, defining how a field\u2019s data will be displayed inline throughout the App.")],-1),m=e("p",null,[l("For example, you may have a \u201CStatus\u201D field that uses a "),e("em",null,"Dropdown"),l(" Interface on the Item Detail page, and a smaller "),e("em",null,"Badge"),l(" Display when the field is referenced throughout the rest of the App. Directus includes many Displays out-of-the-box, below are the some key examples:")],-1),h=e("ul",null,[e("li",null,[e("strong",null,"Raw"),l(" \u2014 The exact value, straight from the API")]),e("li",null,[e("strong",null,"Formatted Value"),l(" \u2014 Provides options for string formatting")]),e("li",null,[e("strong",null,"Boolean"),l(" \u2014 Customizable True/False icons")]),e("li",null,[e("strong",null,"Color"),l(" \u2014 A color swatch preview")]),e("li",null,[e("strong",null,"DateTime"),l(" \u2014 Formatted or relative datetimes")]),e("li",null,[e("strong",null,"Image"),l(" \u2014 Thumbnail previews")]),e("li",null,[e("strong",null,"Labels"),l(" \u2014 Small, custom colored badges")]),e("li",null,[e("strong",null,"Rating"),l(" \u2014 Customizable stars")]),e("li",null,[e("strong",null,"Related Values"),l(" \u2014 Displays relational display titles")]),e("li",null,[e("strong",null,"User"),l(" \u2014 Avatar and name of a system user")])],-1),g=e("p",null,"In addition to the included core displays, custom displays allow for creating new and/or proprietary ways to view or represent field data. For example, you could create progress indicators, tooltips for relational data, specific formatting styles, or anything else.",-1),_=e("h3",{id:"relevant-guides"},[l("Relevant Guides "),e("a",{class:"header-anchor",href:"#relevant-guides"},"#")],-1),f=l("Creating a Custom Display"),b={setup(y,{expose:s}){const t={title:"Displays",modularExtension:!0};return s({frontmatter:t}),(w,v)=>{const n=o("router-link"),r=o("DocsWrapper");return i(),u(r,{frontmatter:t},{default:a(()=>[e("div",c,[p,m,h,g,_,e("ul",null,[e("li",null,[d(n,{to:"/docs/guides/displays"},{default:a(()=>[f]),_:1})])])])]),_:1})}}};export{b as default};
@@ -1,4 +1,4 @@
1
- import{r as l,p as d,q as r,w as n,B as s,t as a,P as e}from"./vendor.62143b15.js";const p={class:"markdown-body"},u=e("Displays are small inline components that allow you to create new ways of viewing field values throughout the App. "),h=e("Learn more about Displays"),_=e("."),y=s("h2",{id:"1.-setup-the-boilerplate"},[e("1. Setup the Boilerplate "),s("a",{class:"header-anchor",href:"#1.-setup-the-boilerplate"},"#")],-1),f=s("p",null,"Every display is a standalone \u201Cpackage\u201D that contains at least a metadata file and a Vue component. We recommend using the following file structure:",-1),m=s("pre",null,[s("code",null,`src/
1
+ import{r as l,p as d,q as r,w as n,B as s,t as a,P as e}from"./vendor.a626ab9c.js";const p={class:"markdown-body"},u=e("Displays are small inline components that allow you to create new ways of viewing field values throughout the App. "),h=e("Learn more about Displays"),_=e("."),y=s("h2",{id:"1.-setup-the-boilerplate"},[e("1. Setup the Boilerplate "),s("a",{class:"header-anchor",href:"#1.-setup-the-boilerplate"},"#")],-1),f=s("p",null,"Every display is a standalone \u201Cpackage\u201D that contains at least a metadata file and a Vue component. We recommend using the following file structure:",-1),m=s("pre",null,[s("code",null,`src/
2
2
  index.js
3
3
  display.vue
4
4
  `)],-1),g=s("h3",{id:"src%2Findex.js"},[e("src/index.js "),s("a",{class:"header-anchor",href:"#src%2Findex.js"},"#")],-1),j=s("pre",null,[s("code",{class:"language-js"},[s("span",{class:"hljs-keyword"},"import"),e(" DisplayComponent "),s("span",{class:"hljs-keyword"},"from"),e(),s("span",{class:"hljs-string"},"'./display.vue'"),e(`;
@@ -1 +1 @@
1
- import{bA as x}from"./vendor.62143b15.js";import{a as s}from"./htmlmixed.d2d262fe.js";import{o as y}from"./overlay.8c05baaa.js";function j(f,d){return d.forEach(function(n){Object.keys(n).forEach(function(i){if(i!=="default"&&!(i in f)){var t=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(f,i,t.get?t:{enumerable:!0,get:function(){return n[i]}})}})}),Object.freeze(f)}var m={exports:{}};(function(f,d){(function(n){n(x.exports,s.exports,y.exports)})(function(n){n.defineMode("django:inner",function(){var i=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],t=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],o=["==","!=","<",">","<=",">="],p=["in","not","or","and"];i=new RegExp("^\\b("+i.join("|")+")\\b"),t=new RegExp("^\\b("+t.join("|")+")\\b"),o=new RegExp("^\\b("+o.join("|")+")\\b"),p=new RegExp("^\\b("+p.join("|")+")\\b");function a(r,e){if(r.match("{{"))return e.tokenize=h,"tag";if(r.match("{%"))return e.tokenize=w,"tag";if(r.match("{#"))return e.tokenize=b,"comment";for(;r.next()!=null&&!r.match(/\{[{%#]/,!1););return null}function c(r,e){return function(l,u){if(!u.escapeNext&&l.eat(r))u.tokenize=e;else{u.escapeNext&&(u.escapeNext=!1);var k=l.next();k=="\\"&&(u.escapeNext=!0)}return"string"}}function h(r,e){if(e.waitDot){if(e.waitDot=!1,r.peek()!=".")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("."))return e.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(e.waitPipe){if(e.waitPipe=!1,r.peek()!="|")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("|"))return e.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return e.waitProperty&&(e.waitProperty=!1,r.match(/\b(\w+)\b/))?(e.waitDot=!0,e.waitPipe=!0,"property"):e.waitFilter&&(e.waitFilter=!1,r.match(t))?"variable-2":r.eatSpace()?(e.waitProperty=!1,"null"):r.match(/\b\d+(\.\d+)?\b/)?"number":r.match("'")?(e.tokenize=c("'",e.tokenize),"string"):r.match('"')?(e.tokenize=c('"',e.tokenize),"string"):r.match(/\b(\w+)\b/)&&!e.foundVariable?(e.waitDot=!0,e.waitPipe=!0,"variable"):r.match("}}")?(e.waitProperty=null,e.waitFilter=null,e.waitDot=null,e.waitPipe=null,e.tokenize=a,"tag"):(r.next(),"null")}function w(r,e){if(e.waitDot){if(e.waitDot=!1,r.peek()!=".")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("."))return e.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(e.waitPipe){if(e.waitPipe=!1,r.peek()!="|")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("|"))return e.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(e.waitProperty&&(e.waitProperty=!1,r.match(/\b(\w+)\b/)))return e.waitDot=!0,e.waitPipe=!0,"property";if(e.waitFilter&&(e.waitFilter=!1,r.match(t)))return"variable-2";if(r.eatSpace())return e.waitProperty=!1,"null";if(r.match(/\b\d+(\.\d+)?\b/))return"number";if(r.match("'"))return e.tokenize=c("'",e.tokenize),"string";if(r.match('"'))return e.tokenize=c('"',e.tokenize),"string";if(r.match(o))return"operator";if(r.match(p))return"keyword";var l=r.match(i);return l?(l[0]=="comment"&&(e.blockCommentTag=!0),"keyword"):r.match(/\b(\w+)\b/)?(e.waitDot=!0,e.waitPipe=!0,"variable"):r.match("%}")?(e.waitProperty=null,e.waitFilter=null,e.waitDot=null,e.waitPipe=null,e.blockCommentTag?(e.blockCommentTag=!1,e.tokenize=g):e.tokenize=a,"tag"):(r.next(),"null")}function b(r,e){return r.match(/^.*?#\}/)?e.tokenize=a:r.skipToEnd(),"comment"}function g(r,e){return r.match(/\{%\s*endcomment\s*%\}/,!1)?(e.tokenize=w,r.match("{%"),"tag"):(r.next(),"comment")}return{startState:function(){return{tokenize:a}},token:function(r,e){return e.tokenize(r,e)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),n.defineMode("django",function(i){var t=n.getMode(i,"text/html"),o=n.getMode(i,"django:inner");return n.overlayMode(t,o)}),n.defineMIME("text/x-django","django")})})();var z=m.exports,E=Object.freeze(j({__proto__:null,[Symbol.toStringTag]:"Module",default:z},[m.exports]));export{E as d};
1
+ import{bE as x}from"./vendor.a626ab9c.js";import{a as s}from"./htmlmixed.cb1d7158.js";import{o as y}from"./overlay.7f1c5fa5.js";function j(f,d){return d.forEach(function(n){Object.keys(n).forEach(function(i){if(i!=="default"&&!(i in f)){var t=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(f,i,t.get?t:{enumerable:!0,get:function(){return n[i]}})}})}),Object.freeze(f)}var m={exports:{}};(function(f,d){(function(n){n(x.exports,s.exports,y.exports)})(function(n){n.defineMode("django:inner",function(){var i=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],t=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],o=["==","!=","<",">","<=",">="],p=["in","not","or","and"];i=new RegExp("^\\b("+i.join("|")+")\\b"),t=new RegExp("^\\b("+t.join("|")+")\\b"),o=new RegExp("^\\b("+o.join("|")+")\\b"),p=new RegExp("^\\b("+p.join("|")+")\\b");function a(r,e){if(r.match("{{"))return e.tokenize=h,"tag";if(r.match("{%"))return e.tokenize=w,"tag";if(r.match("{#"))return e.tokenize=b,"comment";for(;r.next()!=null&&!r.match(/\{[{%#]/,!1););return null}function c(r,e){return function(l,u){if(!u.escapeNext&&l.eat(r))u.tokenize=e;else{u.escapeNext&&(u.escapeNext=!1);var k=l.next();k=="\\"&&(u.escapeNext=!0)}return"string"}}function h(r,e){if(e.waitDot){if(e.waitDot=!1,r.peek()!=".")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("."))return e.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(e.waitPipe){if(e.waitPipe=!1,r.peek()!="|")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("|"))return e.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return e.waitProperty&&(e.waitProperty=!1,r.match(/\b(\w+)\b/))?(e.waitDot=!0,e.waitPipe=!0,"property"):e.waitFilter&&(e.waitFilter=!1,r.match(t))?"variable-2":r.eatSpace()?(e.waitProperty=!1,"null"):r.match(/\b\d+(\.\d+)?\b/)?"number":r.match("'")?(e.tokenize=c("'",e.tokenize),"string"):r.match('"')?(e.tokenize=c('"',e.tokenize),"string"):r.match(/\b(\w+)\b/)&&!e.foundVariable?(e.waitDot=!0,e.waitPipe=!0,"variable"):r.match("}}")?(e.waitProperty=null,e.waitFilter=null,e.waitDot=null,e.waitPipe=null,e.tokenize=a,"tag"):(r.next(),"null")}function w(r,e){if(e.waitDot){if(e.waitDot=!1,r.peek()!=".")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("."))return e.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(e.waitPipe){if(e.waitPipe=!1,r.peek()!="|")return"null";if(r.match(/\.\W+/))return"error";if(r.eat("|"))return e.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(e.waitProperty&&(e.waitProperty=!1,r.match(/\b(\w+)\b/)))return e.waitDot=!0,e.waitPipe=!0,"property";if(e.waitFilter&&(e.waitFilter=!1,r.match(t)))return"variable-2";if(r.eatSpace())return e.waitProperty=!1,"null";if(r.match(/\b\d+(\.\d+)?\b/))return"number";if(r.match("'"))return e.tokenize=c("'",e.tokenize),"string";if(r.match('"'))return e.tokenize=c('"',e.tokenize),"string";if(r.match(o))return"operator";if(r.match(p))return"keyword";var l=r.match(i);return l?(l[0]=="comment"&&(e.blockCommentTag=!0),"keyword"):r.match(/\b(\w+)\b/)?(e.waitDot=!0,e.waitPipe=!0,"variable"):r.match("%}")?(e.waitProperty=null,e.waitFilter=null,e.waitDot=null,e.waitPipe=null,e.blockCommentTag?(e.blockCommentTag=!1,e.tokenize=g):e.tokenize=a,"tag"):(r.next(),"null")}function b(r,e){return r.match(/^.*?#\}/)?e.tokenize=a:r.skipToEnd(),"comment"}function g(r,e){return r.match(/\{%\s*endcomment\s*%\}/,!1)?(e.tokenize=w,r.match("{%"),"tag"):(r.next(),"comment")}return{startState:function(){return{tokenize:a}},token:function(r,e){return e.tokenize(r,e)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),n.defineMode("django",function(i){var t=n.getMode(i,"text/html"),o=n.getMode(i,"django:inner");return n.overlayMode(t,o)}),n.defineMIME("text/x-django","django")})})();var z=m.exports,E=Object.freeze(j({__proto__:null,[Symbol.toStringTag]:"Module",default:z},[m.exports]));export{E as d};
@@ -1,4 +1,4 @@
1
- import{r as l,p as r,q as c,w as o,B as s,P as e}from"./vendor.62143b15.js";const i=s("div",{class:"markdown-body"},[s("p",null,[e("Directus is published to both "),s("a",{href:"https://hub.docker.com/r/directus/directus",target:"_blank",rel:"noopener noreferrer"},"DockerHub"),e(" and "),s("a",{href:"https://github.com/orgs/directus/packages/container/package/directus",target:"_blank",rel:"noopener noreferrer"},"GitHub Packages"),e(" under "),s("code",null,"directus/directus"),e(". To use the Directus image from DockerHub, run:")]),s("pre",null,[s("code",{class:"language-bash"},[s("span",{class:"hljs-comment"},"# Make sure to change sensitive values (KEY, SECRET, ...) in production"),e(`
1
+ import{r as l,p as r,q as c,w as o,B as s,P as e}from"./vendor.a626ab9c.js";const i=s("div",{class:"markdown-body"},[s("p",null,[e("Directus is published to both "),s("a",{href:"https://hub.docker.com/r/directus/directus",target:"_blank",rel:"noopener noreferrer"},"DockerHub"),e(" and "),s("a",{href:"https://github.com/orgs/directus/packages/container/package/directus",target:"_blank",rel:"noopener noreferrer"},"GitHub Packages"),e(" under "),s("code",null,"directus/directus"),e(". To use the Directus image from DockerHub, run:")]),s("pre",null,[s("code",{class:"language-bash"},[s("span",{class:"hljs-comment"},"# Make sure to change sensitive values (KEY, SECRET, ...) in production"),e(`
2
2
  docker run -p 8055:8055 -e KEY=255d861b-5ea1-5996-9aa3-922530ec40b1 -e SECRET=6116487b-cda1-52c2-b5b5-c8022c45e263 directus/directus
3
3
  `)])]),s("h3",{id:"installing-specific-versions"},[e("Installing Specific Versions "),s("a",{class:"header-anchor",href:"#installing-specific-versions"},"#")]),s("p",null,"Each released version is available under its own tag (e.g. 9.0.0-rc.96). To use a specific version of Directus, run:"),s("pre",null,[s("code",{class:"language-bash"},[s("span",{class:"hljs-comment"},"# Make sure to change sensitive values (KEY, SECRET, ...) in production"),e(`
4
4
  docker run -p 8055:8055 -e KEY=255d861b-5ea1-5996-9aa3-922530ec40b1 -e SECRET=6116487b-cda1-52c2-b5b5-c8022c45e263 directus/directus:9.0.0-rc.96
@@ -1 +1 @@
1
- import{bA as m}from"./vendor.62143b15.js";import{s as f}from"./simple.c600ff81.js";function d(r,o){return o.forEach(function(e){Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(r)}var u={exports:{}};(function(r,o){(function(e){e(m.exports,f.exports)})(function(e){var t="from",n=new RegExp("^(\\s*)\\b("+t+")\\b","i"),s=["run","cmd","entrypoint","shell"],i=new RegExp("^(\\s*)("+s.join("|")+")(\\s+\\[)","i"),l="expose",g=new RegExp("^(\\s*)("+l+")(\\s+)","i"),a=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],k=[t,l].concat(s).concat(a),x="("+k.join("|")+")",c=new RegExp("^(\\s*)"+x+"(\\s*)(#.*)?$","i"),p=new RegExp("^(\\s*)"+x+"(\\s+)","i");e.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:n,token:[null,"keyword"],sol:!0,next:"from"},{regex:c,token:[null,"keyword",null,"error"],sol:!0},{regex:i,token:[null,"keyword",null],sol:!0,next:"array"},{regex:g,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:p,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),e.defineMIME("text/x-dockerfile","dockerfile")})})();var b=u.exports,h=Object.freeze(d({__proto__:null,[Symbol.toStringTag]:"Module",default:b},[u.exports]));export{h as d};
1
+ import{bE as m}from"./vendor.a626ab9c.js";import{s as d}from"./simple.b69582f5.js";function f(r,o){return o.forEach(function(e){Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(r)}var u={exports:{}};(function(r,o){(function(e){e(m.exports,d.exports)})(function(e){var t="from",n=new RegExp("^(\\s*)\\b("+t+")\\b","i"),s=["run","cmd","entrypoint","shell"],i=new RegExp("^(\\s*)("+s.join("|")+")(\\s+\\[)","i"),l="expose",g=new RegExp("^(\\s*)("+l+")(\\s+)","i"),a=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],k=[t,l].concat(s).concat(a),x="("+k.join("|")+")",c=new RegExp("^(\\s*)"+x+"(\\s*)(#.*)?$","i"),p=new RegExp("^(\\s*)"+x+"(\\s+)","i");e.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:n,token:[null,"keyword"],sol:!0,next:"from"},{regex:c,token:[null,"keyword",null,"error"],sol:!0},{regex:i,token:[null,"keyword",null],sol:!0,next:"array"},{regex:g,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:p,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),e.defineMIME("text/x-dockerfile","dockerfile")})})();var b=u.exports,h=Object.freeze(f({__proto__:null,[Symbol.toStringTag]:"Module",default:b},[u.exports]));export{h as d};
@@ -1 +1 @@
1
- import{bA as b}from"./vendor.62143b15.js";function v(c,s){return s.forEach(function(u){Object.keys(u).forEach(function(o){if(o!=="default"&&!(o in c)){var f=Object.getOwnPropertyDescriptor(u,o);Object.defineProperty(c,o,f.get?f:{enumerable:!0,get:function(){return u[o]}})}})}),Object.freeze(c)}var k={exports:{}};(function(c,s){(function(u){u(b.exports)})(function(u){u.defineMode("dtd",function(o){var f=o.indentUnit,r;function l(i,e){return r=e,i}function a(i,e){var n=i.next();if(n=="<"&&i.eat("!")){if(i.eatWhile(/[\-]/))return e.tokenize=h,h(i,e);if(i.eatWhile(/[\w]/))return l("keyword","doindent")}else{if(n=="<"&&i.eat("?"))return e.tokenize=p("meta","?>"),l("meta",n);if(n=="#"&&i.eatWhile(/[\w]/))return l("atom","tag");if(n=="|")return l("keyword","separator");if(n.match(/[\(\)\[\]\-\.,\+\?>]/))return l(null,n);if(n.match(/[\[\]]/))return l("rule",n);if(n=='"'||n=="'")return e.tokenize=g(n),e.tokenize(i,e);if(i.eatWhile(/[a-zA-Z\?\+\d]/)){var t=i.current();return t.substr(t.length-1,t.length).match(/\?|\+/)!==null&&i.backUp(1),l("tag","tag")}else return n=="%"||n=="*"?l("number","number"):(i.eatWhile(/[\w\\\-_%.{,]/),l(null,null))}}function h(i,e){for(var n=0,t;(t=i.next())!=null;){if(n>=2&&t==">"){e.tokenize=a;break}n=t=="-"?n+1:0}return l("comment","comment")}function g(i){return function(e,n){for(var t=!1,d;(d=e.next())!=null;){if(d==i&&!t){n.tokenize=a;break}t=!t&&d=="\\"}return l("string","tag")}}function p(i,e){return function(n,t){for(;!n.eol();){if(n.match(e)){t.tokenize=a;break}n.next()}return i}}return{startState:function(i){return{tokenize:a,baseIndent:i||0,stack:[]}},token:function(i,e){if(i.eatSpace())return null;var n=e.tokenize(i,e),t=e.stack[e.stack.length-1];return i.current()=="["||r==="doindent"||r=="["?e.stack.push("rule"):r==="endtag"?e.stack[e.stack.length-1]="endtag":i.current()=="]"||r=="]"||r==">"&&t=="rule"?e.stack.pop():r=="["&&e.stack.push("["),n},indent:function(i,e){var n=i.stack.length;return e.charAt(0)==="]"?n--:e.substr(e.length-1,e.length)===">"&&(e.substr(0,1)==="<"||r=="doindent"&&e.length>1||(r=="doindent"?n--:r==">"&&e.length>1||r=="tag"&&e!==">"||(r=="tag"&&i.stack[i.stack.length-1]=="rule"?n--:r=="tag"?n++:e===">"&&i.stack[i.stack.length-1]=="rule"&&r===">"?n--:e===">"&&i.stack[i.stack.length-1]=="rule"||(e.substr(0,1)!=="<"&&e.substr(0,1)===">"?n=n-1:e===">"||(n=n-1)))),(r==null||r=="]")&&n--),i.baseIndent+n*f},electricChars:"]>"}}),u.defineMIME("application/xml-dtd","dtd")})})();var z=k.exports,m=Object.freeze(v({__proto__:null,[Symbol.toStringTag]:"Module",default:z},[k.exports]));export{m as d};
1
+ import{bE as b}from"./vendor.a626ab9c.js";function v(c,s){return s.forEach(function(u){Object.keys(u).forEach(function(o){if(o!=="default"&&!(o in c)){var f=Object.getOwnPropertyDescriptor(u,o);Object.defineProperty(c,o,f.get?f:{enumerable:!0,get:function(){return u[o]}})}})}),Object.freeze(c)}var k={exports:{}};(function(c,s){(function(u){u(b.exports)})(function(u){u.defineMode("dtd",function(o){var f=o.indentUnit,r;function l(i,e){return r=e,i}function a(i,e){var n=i.next();if(n=="<"&&i.eat("!")){if(i.eatWhile(/[\-]/))return e.tokenize=h,h(i,e);if(i.eatWhile(/[\w]/))return l("keyword","doindent")}else{if(n=="<"&&i.eat("?"))return e.tokenize=p("meta","?>"),l("meta",n);if(n=="#"&&i.eatWhile(/[\w]/))return l("atom","tag");if(n=="|")return l("keyword","separator");if(n.match(/[\(\)\[\]\-\.,\+\?>]/))return l(null,n);if(n.match(/[\[\]]/))return l("rule",n);if(n=='"'||n=="'")return e.tokenize=g(n),e.tokenize(i,e);if(i.eatWhile(/[a-zA-Z\?\+\d]/)){var t=i.current();return t.substr(t.length-1,t.length).match(/\?|\+/)!==null&&i.backUp(1),l("tag","tag")}else return n=="%"||n=="*"?l("number","number"):(i.eatWhile(/[\w\\\-_%.{,]/),l(null,null))}}function h(i,e){for(var n=0,t;(t=i.next())!=null;){if(n>=2&&t==">"){e.tokenize=a;break}n=t=="-"?n+1:0}return l("comment","comment")}function g(i){return function(e,n){for(var t=!1,d;(d=e.next())!=null;){if(d==i&&!t){n.tokenize=a;break}t=!t&&d=="\\"}return l("string","tag")}}function p(i,e){return function(n,t){for(;!n.eol();){if(n.match(e)){t.tokenize=a;break}n.next()}return i}}return{startState:function(i){return{tokenize:a,baseIndent:i||0,stack:[]}},token:function(i,e){if(i.eatSpace())return null;var n=e.tokenize(i,e),t=e.stack[e.stack.length-1];return i.current()=="["||r==="doindent"||r=="["?e.stack.push("rule"):r==="endtag"?e.stack[e.stack.length-1]="endtag":i.current()=="]"||r=="]"||r==">"&&t=="rule"?e.stack.pop():r=="["&&e.stack.push("["),n},indent:function(i,e){var n=i.stack.length;return e.charAt(0)==="]"?n--:e.substr(e.length-1,e.length)===">"&&(e.substr(0,1)==="<"||r=="doindent"&&e.length>1||(r=="doindent"?n--:r==">"&&e.length>1||r=="tag"&&e!==">"||(r=="tag"&&i.stack[i.stack.length-1]=="rule"?n--:r=="tag"?n++:e===">"&&i.stack[i.stack.length-1]=="rule"&&r===">"?n--:e===">"&&i.stack[i.stack.length-1]=="rule"||(e.substr(0,1)!=="<"&&e.substr(0,1)===">"?n=n-1:e===">"||(n=n-1)))),(r==null||r=="]")&&n--),i.baseIndent+n*f},electricChars:"]>"}}),u.defineMIME("application/xml-dtd","dtd")})})();var z=k.exports,m=Object.freeze(v({__proto__:null,[Symbol.toStringTag]:"Module",default:z},[k.exports]));export{m as d};
@@ -1 +1 @@
1
- import{bA as P}from"./vendor.62143b15.js";function O(b,k){return k.forEach(function(a){Object.keys(a).forEach(function(f){if(f!=="default"&&!(f in b)){var p=Object.getOwnPropertyDescriptor(a,f);Object.defineProperty(b,f,p.get?p:{enumerable:!0,get:function(){return a[f]}})}})}),Object.freeze(b)}var D={exports:{}};(function(b,k){(function(a){a(P.exports)})(function(a){function f(d,t){for(var r=0;r<d.length;r++)t(d[r],r)}function p(d,t){for(var r=0;r<d.length;r++)if(t(d[r],r))return!0;return!1}a.defineMode("dylan",function(d){var t={unnamedDefinition:["interface"],namedDefinition:["module","library","macro","C-struct","C-union","C-function","C-callable-wrapper"],typeParameterizedDefinition:["class","C-subtype","C-mapped-subtype"],otherParameterizedDefinition:["method","function","C-variable","C-address"],constantSimpleDefinition:["constant"],variableSimpleDefinition:["variable"],otherSimpleDefinition:["generic","domain","C-pointer-type","table"],statement:["if","block","begin","method","case","for","select","when","unless","until","while","iterate","profiling","dynamic-bind"],separator:["finally","exception","cleanup","else","elseif","afterwards"],other:["above","below","by","from","handler","in","instance","let","local","otherwise","slot","subclass","then","to","keyed-by","virtual"],signalingCalls:["signal","error","cerror","break","check-type","abort"]};t.otherDefinition=t.unnamedDefinition.concat(t.namedDefinition).concat(t.otherParameterizedDefinition),t.definition=t.typeParameterizedDefinition.concat(t.otherDefinition),t.parameterizedDefinition=t.typeParameterizedDefinition.concat(t.otherParameterizedDefinition),t.simpleDefinition=t.constantSimpleDefinition.concat(t.variableSimpleDefinition).concat(t.otherSimpleDefinition),t.keyword=t.statement.concat(t.separator).concat(t.other);var r="[-_a-zA-Z?!*@<>$%]+",C=new RegExp("^"+r),u={symbolKeyword:r+":",symbolClass:"<"+r+">",symbolGlobal:"\\*"+r+"\\*",symbolConstant:"\\$"+r},z={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variable-2",symbolConstant:"variable-3"};for(var y in u)u.hasOwnProperty(y)&&(u[y]=new RegExp("^"+u[y]));u.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var s={};s.keyword="keyword",s.definition="def",s.simpleDefinition="def",s.signalingCalls="builtin";var v={},g={};f(["keyword","definition","simpleDefinition","signalingCalls"],function(e){f(t[e],function(i){v[i]=e,g[i]=s[e]})});function h(e,i,n){return i.tokenize=n,n(e,i)}function x(e,i){var n=e.peek();if(n=="'"||n=='"')return e.next(),h(e,i,m(n,"string"));if(n=="/"){if(e.next(),e.eat("*"))return h(e,i,S);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}else if(/[+\-\d\.]/.test(n)){if(e.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||e.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||e.match(/^[+-]?\d+/))return"number"}else{if(n=="#")return e.next(),n=e.peek(),n=='"'?(e.next(),h(e,i,m('"',"string"))):n=="b"?(e.next(),e.eatWhile(/[01]/),"number"):n=="x"?(e.next(),e.eatWhile(/[\da-f]/i),"number"):n=="o"?(e.next(),e.eatWhile(/[0-7]/),"number"):n=="#"?(e.next(),"punctuation"):n=="["||n=="("?(e.next(),"bracket"):e.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(e.eatWhile(/[-a-zA-Z]/),"error");if(n=="~")return e.next(),n=e.peek(),n=="="?(e.next(),n=e.peek(),n=="="&&e.next(),"operator"):"operator";if(n==":"){if(e.next(),n=e.peek(),n=="=")return e.next(),"operator";if(n==":")return e.next(),"punctuation"}else{if("[](){}".indexOf(n)!=-1)return e.next(),"bracket";if(".,".indexOf(n)!=-1)return e.next(),"punctuation";if(e.match("end"))return"keyword"}}for(var c in u)if(u.hasOwnProperty(c)){var o=u[c];if(o instanceof Array&&p(o,function(l){return e.match(l)})||e.match(o))return z[c]}return/[+\-*\/^=<>&|]/.test(n)?(e.next(),"operator"):e.match("define")?"def":(e.eatWhile(/[\w\-]/),v.hasOwnProperty(e.current())?g[e.current()]:e.current().match(C)?"variable":(e.next(),"variable-2"))}function S(e,i){for(var n=!1,c=!1,o=0,l;l=e.next();){if(l=="/"&&n)if(o>0)o--;else{i.tokenize=x;break}else l=="*"&&c&&o++;n=l=="*",c=l=="/"}return"comment"}function m(e,i){return function(n,c){for(var o=!1,l,w=!1;(l=n.next())!=null;){if(l==e&&!o){w=!0;break}o=!o&&l=="\\"}return(w||!o)&&(c.tokenize=x),i}}return{startState:function(){return{tokenize:x,currentIndent:0}},token:function(e,i){if(e.eatSpace())return null;var n=i.tokenize(e,i);return n},blockCommentStart:"/*",blockCommentEnd:"*/"}}),a.defineMIME("text/x-dylan","dylan")})})();var E=D.exports,j=Object.freeze(O({__proto__:null,[Symbol.toStringTag]:"Module",default:E},[D.exports]));export{j as d};
1
+ import{bE as P}from"./vendor.a626ab9c.js";function O(b,k){return k.forEach(function(a){Object.keys(a).forEach(function(f){if(f!=="default"&&!(f in b)){var p=Object.getOwnPropertyDescriptor(a,f);Object.defineProperty(b,f,p.get?p:{enumerable:!0,get:function(){return a[f]}})}})}),Object.freeze(b)}var D={exports:{}};(function(b,k){(function(a){a(P.exports)})(function(a){function f(d,t){for(var r=0;r<d.length;r++)t(d[r],r)}function p(d,t){for(var r=0;r<d.length;r++)if(t(d[r],r))return!0;return!1}a.defineMode("dylan",function(d){var t={unnamedDefinition:["interface"],namedDefinition:["module","library","macro","C-struct","C-union","C-function","C-callable-wrapper"],typeParameterizedDefinition:["class","C-subtype","C-mapped-subtype"],otherParameterizedDefinition:["method","function","C-variable","C-address"],constantSimpleDefinition:["constant"],variableSimpleDefinition:["variable"],otherSimpleDefinition:["generic","domain","C-pointer-type","table"],statement:["if","block","begin","method","case","for","select","when","unless","until","while","iterate","profiling","dynamic-bind"],separator:["finally","exception","cleanup","else","elseif","afterwards"],other:["above","below","by","from","handler","in","instance","let","local","otherwise","slot","subclass","then","to","keyed-by","virtual"],signalingCalls:["signal","error","cerror","break","check-type","abort"]};t.otherDefinition=t.unnamedDefinition.concat(t.namedDefinition).concat(t.otherParameterizedDefinition),t.definition=t.typeParameterizedDefinition.concat(t.otherDefinition),t.parameterizedDefinition=t.typeParameterizedDefinition.concat(t.otherParameterizedDefinition),t.simpleDefinition=t.constantSimpleDefinition.concat(t.variableSimpleDefinition).concat(t.otherSimpleDefinition),t.keyword=t.statement.concat(t.separator).concat(t.other);var r="[-_a-zA-Z?!*@<>$%]+",C=new RegExp("^"+r),u={symbolKeyword:r+":",symbolClass:"<"+r+">",symbolGlobal:"\\*"+r+"\\*",symbolConstant:"\\$"+r},z={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variable-2",symbolConstant:"variable-3"};for(var y in u)u.hasOwnProperty(y)&&(u[y]=new RegExp("^"+u[y]));u.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var s={};s.keyword="keyword",s.definition="def",s.simpleDefinition="def",s.signalingCalls="builtin";var v={},g={};f(["keyword","definition","simpleDefinition","signalingCalls"],function(e){f(t[e],function(i){v[i]=e,g[i]=s[e]})});function h(e,i,n){return i.tokenize=n,n(e,i)}function x(e,i){var n=e.peek();if(n=="'"||n=='"')return e.next(),h(e,i,m(n,"string"));if(n=="/"){if(e.next(),e.eat("*"))return h(e,i,S);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}else if(/[+\-\d\.]/.test(n)){if(e.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||e.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||e.match(/^[+-]?\d+/))return"number"}else{if(n=="#")return e.next(),n=e.peek(),n=='"'?(e.next(),h(e,i,m('"',"string"))):n=="b"?(e.next(),e.eatWhile(/[01]/),"number"):n=="x"?(e.next(),e.eatWhile(/[\da-f]/i),"number"):n=="o"?(e.next(),e.eatWhile(/[0-7]/),"number"):n=="#"?(e.next(),"punctuation"):n=="["||n=="("?(e.next(),"bracket"):e.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(e.eatWhile(/[-a-zA-Z]/),"error");if(n=="~")return e.next(),n=e.peek(),n=="="?(e.next(),n=e.peek(),n=="="&&e.next(),"operator"):"operator";if(n==":"){if(e.next(),n=e.peek(),n=="=")return e.next(),"operator";if(n==":")return e.next(),"punctuation"}else{if("[](){}".indexOf(n)!=-1)return e.next(),"bracket";if(".,".indexOf(n)!=-1)return e.next(),"punctuation";if(e.match("end"))return"keyword"}}for(var c in u)if(u.hasOwnProperty(c)){var o=u[c];if(o instanceof Array&&p(o,function(l){return e.match(l)})||e.match(o))return z[c]}return/[+\-*\/^=<>&|]/.test(n)?(e.next(),"operator"):e.match("define")?"def":(e.eatWhile(/[\w\-]/),v.hasOwnProperty(e.current())?g[e.current()]:e.current().match(C)?"variable":(e.next(),"variable-2"))}function S(e,i){for(var n=!1,c=!1,o=0,l;l=e.next();){if(l=="/"&&n)if(o>0)o--;else{i.tokenize=x;break}else l=="*"&&c&&o++;n=l=="*",c=l=="/"}return"comment"}function m(e,i){return function(n,c){for(var o=!1,l,w=!1;(l=n.next())!=null;){if(l==e&&!o){w=!0;break}o=!o&&l=="\\"}return(w||!o)&&(c.tokenize=x),i}}return{startState:function(){return{tokenize:x,currentIndent:0}},token:function(e,i){if(e.eatSpace())return null;var n=i.tokenize(e,i);return n},blockCommentStart:"/*",blockCommentEnd:"*/"}}),a.defineMIME("text/x-dylan","dylan")})})();var E=D.exports,j=Object.freeze(O({__proto__:null,[Symbol.toStringTag]:"Module",default:E},[D.exports]));export{j as d};
@@ -1 +1 @@
1
- import{bA as s}from"./vendor.62143b15.js";function k(f,p){return p.forEach(function(c){Object.keys(c).forEach(function(i){if(i!=="default"&&!(i in f)){var t=Object.getOwnPropertyDescriptor(c,i);Object.defineProperty(f,i,t.get?t:{enumerable:!0,get:function(){return c[i]}})}})}),Object.freeze(f)}var b={exports:{}};(function(f,p){(function(c){c(s.exports)})(function(c){c.defineMode("ebnf",function(i){var t={slash:0,parenthesis:1},r={comment:0,_string:1,characterClass:2},l=null;return i.bracesMode&&(l=c.getMode(i,i.bracesMode)),{startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(e,n){if(!!e){switch(n.stack.length===0&&(e.peek()=='"'||e.peek()=="'"?(n.stringType=e.peek(),e.next(),n.stack.unshift(r._string)):e.match("/*")?(n.stack.unshift(r.comment),n.commentType=t.slash):e.match("(*")&&(n.stack.unshift(r.comment),n.commentType=t.parenthesis)),n.stack[0]){case r._string:for(;n.stack[0]===r._string&&!e.eol();)e.peek()===n.stringType?(e.next(),n.stack.shift()):e.peek()==="\\"?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property string":"string";case r.comment:for(;n.stack[0]===r.comment&&!e.eol();)n.commentType===t.slash&&e.match("*/")||n.commentType===t.parenthesis&&e.match("*)")?(n.stack.shift(),n.commentType=null):e.match(/^.[^\*]*/);return"comment";case r.characterClass:for(;n.stack[0]===r.characterClass&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(".")||n.stack.shift();return"operator"}var u=e.peek();if(l!==null&&(n.braced||u==="{")){n.localState===null&&(n.localState=c.startState(l));var a=l.token(e,n.localState),h=e.current();if(!a)for(var o=0;o<h.length;o++)h[o]==="{"?(n.braced===0&&(a="matchingbracket"),n.braced++):h[o]==="}"&&(n.braced--,n.braced===0&&(a="matchingbracket"));return a}switch(u){case"[":return e.next(),n.stack.unshift(r.characterClass),"bracket";case":":case"|":case";":return e.next(),"operator";case"%":if(e.match("%%"))return"header";if(e.match(/[%][A-Za-z]+/))return"keyword";if(e.match(/[%][}]/))return"matchingbracket";break;case"/":if(e.match(/[\/][A-Za-z]+/))return"keyword";case"\\":if(e.match(/[\][a-z]+/))return"string-2";case".":if(e.match("."))return"atom";case"*":case"-":case"+":case"^":if(e.match(u))return"atom";case"$":if(e.match("$$"))return"builtin";if(e.match(/[$][0-9]+/))return"variable-3";case"<":if(e.match(/<<[a-zA-Z_]+>>/))return"builtin"}return e.match("//")?(e.skipToEnd(),"comment"):e.match("return")?"operator":e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?e.match(/(?=[\(.])/)?"variable":e.match(/(?=[\s\n]*[:=])/)?"def":"variable-2":["[","]","(",")"].indexOf(e.peek())!=-1?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}}),c.defineMIME("text/x-ebnf","ebnf")})})();var d=b.exports,g=Object.freeze(k({__proto__:null,[Symbol.toStringTag]:"Module",default:d},[b.exports]));export{g as e};
1
+ import{bE as s}from"./vendor.a626ab9c.js";function k(f,p){return p.forEach(function(c){Object.keys(c).forEach(function(i){if(i!=="default"&&!(i in f)){var t=Object.getOwnPropertyDescriptor(c,i);Object.defineProperty(f,i,t.get?t:{enumerable:!0,get:function(){return c[i]}})}})}),Object.freeze(f)}var b={exports:{}};(function(f,p){(function(c){c(s.exports)})(function(c){c.defineMode("ebnf",function(i){var t={slash:0,parenthesis:1},r={comment:0,_string:1,characterClass:2},a=null;return i.bracesMode&&(a=c.getMode(i,i.bracesMode)),{startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(e,n){if(!!e){switch(n.stack.length===0&&(e.peek()=='"'||e.peek()=="'"?(n.stringType=e.peek(),e.next(),n.stack.unshift(r._string)):e.match("/*")?(n.stack.unshift(r.comment),n.commentType=t.slash):e.match("(*")&&(n.stack.unshift(r.comment),n.commentType=t.parenthesis)),n.stack[0]){case r._string:for(;n.stack[0]===r._string&&!e.eol();)e.peek()===n.stringType?(e.next(),n.stack.shift()):e.peek()==="\\"?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property string":"string";case r.comment:for(;n.stack[0]===r.comment&&!e.eol();)n.commentType===t.slash&&e.match("*/")||n.commentType===t.parenthesis&&e.match("*)")?(n.stack.shift(),n.commentType=null):e.match(/^.[^\*]*/);return"comment";case r.characterClass:for(;n.stack[0]===r.characterClass&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(".")||n.stack.shift();return"operator"}var u=e.peek();if(a!==null&&(n.braced||u==="{")){n.localState===null&&(n.localState=c.startState(a));var l=a.token(e,n.localState),h=e.current();if(!l)for(var o=0;o<h.length;o++)h[o]==="{"?(n.braced===0&&(l="matchingbracket"),n.braced++):h[o]==="}"&&(n.braced--,n.braced===0&&(l="matchingbracket"));return l}switch(u){case"[":return e.next(),n.stack.unshift(r.characterClass),"bracket";case":":case"|":case";":return e.next(),"operator";case"%":if(e.match("%%"))return"header";if(e.match(/[%][A-Za-z]+/))return"keyword";if(e.match(/[%][}]/))return"matchingbracket";break;case"/":if(e.match(/[\/][A-Za-z]+/))return"keyword";case"\\":if(e.match(/[\][a-z]+/))return"string-2";case".":if(e.match("."))return"atom";case"*":case"-":case"+":case"^":if(e.match(u))return"atom";case"$":if(e.match("$$"))return"builtin";if(e.match(/[$][0-9]+/))return"variable-3";case"<":if(e.match(/<<[a-zA-Z_]+>>/))return"builtin"}return e.match("//")?(e.skipToEnd(),"comment"):e.match("return")?"operator":e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?e.match(/(?=[\(.])/)?"variable":e.match(/(?=[\s\n]*[:=])/)?"def":"variable-2":["[","]","(",")"].indexOf(e.peek())!=-1?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}}),c.defineMIME("text/x-ebnf","ebnf")})})();var d=b.exports,g=Object.freeze(k({__proto__:null,[Symbol.toStringTag]:"Module",default:d},[b.exports]));export{g as e};
@@ -1 +1 @@
1
- import{bA as L}from"./vendor.62143b15.js";function S(p,v){return v.forEach(function(c){Object.keys(c).forEach(function(u){if(u!=="default"&&!(u in p)){var a=Object.getOwnPropertyDescriptor(c,u);Object.defineProperty(p,u,a.get?a:{enumerable:!0,get:function(){return c[u]}})}})}),Object.freeze(p)}var E={exports:{}};(function(p,v){(function(c){c(L.exports)})(function(c){c.defineMode("ecl",function(u){function a(n){for(var t={},e=n.split(" "),r=0;r<e.length;++r)t[e[r]]=!0;return t}function z(n,t){return t.startOfLine?(n.skipToEnd(),"meta"):!1}var h=u.indentUnit,I=a("abs acos allnodes ascii asin asstring atan atan2 ave case choose choosen choosesets clustersize combine correlation cos cosh count covariance cron dataset dedup define denormalize distribute distributed distribution ebcdic enth error evaluate event eventextra eventname exists exp failcode failmessage fetch fromunicode getisvalid global graph group hash hash32 hash64 hashcrc hashmd5 having if index intformat isvalid iterate join keyunicode length library limit ln local log loop map matched matchlength matchposition matchtext matchunicode max merge mergejoin min nolocal nonempty normalize parse pipe power preload process project pull random range rank ranked realformat recordof regexfind regexreplace regroup rejected rollup round roundup row rowdiff sample set sin sinh sizeof soapcall sort sorted sqrt stepped stored sum table tan tanh thisnode topn tounicode transfer trim truncate typeof ungroup unicodeorder variance which workunit xmldecode xmlencode xmltext xmlunicode"),_=a("apply assert build buildindex evaluate fail keydiff keypatch loadxml nothor notify output parallel sequential soapcall wait"),j=a("__compressed__ all and any as atmost before beginc++ best between case const counter csv descend encrypt end endc++ endmacro except exclusive expire export extend false few first flat from full function group header heading hole ifblock import in interface joined keep keyed last left limit load local locale lookup macro many maxcount maxlength min skew module named nocase noroot noscan nosort not of only opt or outer overwrite packed partition penalty physicallength pipe quote record relationship repeat return right scan self separator service shared skew skip sql store terminator thor threshold token transform trim true type unicodeorder unsorted validate virtual whole wild within xml xpath"),b=a("ascii big_endian boolean data decimal ebcdic integer pattern qstring real record rule set of string token udecimal unicode unsigned varstring varunicode"),O=a("checkpoint deprecated failcode failmessage failure global independent onwarning persist priority recovery stored success wait when"),s=a("catch class do else finally for if switch try while"),C=a("true false null"),y={"#":z},g=/[+\-*&%=<>!?|\/]/,i;function d(n,t){var e=n.next();if(y[e]){var r=y[e](n,t);if(r!==!1)return r}if(e=='"'||e=="'")return t.tokenize=q(e),t.tokenize(n,t);if(/[\[\]{}\(\),;\:\.]/.test(e))return i=e,null;if(/\d/.test(e))return n.eatWhile(/[\w\.]/),"number";if(e=="/"){if(n.eat("*"))return t.tokenize=x,x(n,t);if(n.eat("/"))return n.skipToEnd(),"comment"}if(g.test(e))return n.eatWhile(g),"operator";n.eatWhile(/[\w\$_]/);var o=n.current().toLowerCase();if(I.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"keyword";if(_.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"variable";if(j.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"variable-2";if(b.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"variable-3";if(O.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"builtin";for(var l=o.length-1;l>=0&&(!isNaN(o[l])||o[l]=="_");)--l;if(l>0){var k=o.substr(0,l+1);if(b.propertyIsEnumerable(k))return s.propertyIsEnumerable(k)&&(i="newstatement"),"variable-3"}return C.propertyIsEnumerable(o)?"atom":null}function q(n){return function(t,e){for(var r=!1,o,l=!1;(o=t.next())!=null;){if(o==n&&!r){l=!0;break}r=!r&&o=="\\"}return(l||!r)&&(e.tokenize=d),"string"}}function x(n,t){for(var e=!1,r;r=n.next();){if(r=="/"&&e){t.tokenize=d;break}e=r=="*"}return"comment"}function w(n,t,e,r,o){this.indented=n,this.column=t,this.type=e,this.align=r,this.prev=o}function m(n,t,e){return n.context=new w(n.indented,t,e,null,n.context)}function f(n){var t=n.context.type;return(t==")"||t=="]"||t=="}")&&(n.indented=n.context.indented),n.context=n.context.prev}return{startState:function(n){return{tokenize:null,context:new w((n||0)-h,0,"top",!1),indented:0,startOfLine:!0}},token:function(n,t){var e=t.context;if(n.sol()&&(e.align==null&&(e.align=!1),t.indented=n.indentation(),t.startOfLine=!0),n.eatSpace())return null;i=null;var r=(t.tokenize||d)(n,t);if(r=="comment"||r=="meta")return r;if(e.align==null&&(e.align=!0),(i==";"||i==":")&&e.type=="statement")f(t);else if(i=="{")m(t,n.column(),"}");else if(i=="[")m(t,n.column(),"]");else if(i=="(")m(t,n.column(),")");else if(i=="}"){for(;e.type=="statement";)e=f(t);for(e.type=="}"&&(e=f(t));e.type=="statement";)e=f(t)}else i==e.type?f(t):(e.type=="}"||e.type=="top"||e.type=="statement"&&i=="newstatement")&&m(t,n.column(),"statement");return t.startOfLine=!1,r},indent:function(n,t){if(n.tokenize!=d&&n.tokenize!=null)return 0;var e=n.context,r=t&&t.charAt(0);e.type=="statement"&&r=="}"&&(e=e.prev);var o=r==e.type;return e.type=="statement"?e.indented+(r=="{"?0:h):e.align?e.column+(o?0:1):e.indented+(o?0:h)},electricChars:"{}"}}),c.defineMIME("text/x-ecl","ecl")})})();var M=E.exports,P=Object.freeze(S({__proto__:null,[Symbol.toStringTag]:"Module",default:M},[E.exports]));export{P as e};
1
+ import{bE as L}from"./vendor.a626ab9c.js";function S(p,v){return v.forEach(function(c){Object.keys(c).forEach(function(u){if(u!=="default"&&!(u in p)){var a=Object.getOwnPropertyDescriptor(c,u);Object.defineProperty(p,u,a.get?a:{enumerable:!0,get:function(){return c[u]}})}})}),Object.freeze(p)}var E={exports:{}};(function(p,v){(function(c){c(L.exports)})(function(c){c.defineMode("ecl",function(u){function a(n){for(var t={},e=n.split(" "),r=0;r<e.length;++r)t[e[r]]=!0;return t}function z(n,t){return t.startOfLine?(n.skipToEnd(),"meta"):!1}var h=u.indentUnit,I=a("abs acos allnodes ascii asin asstring atan atan2 ave case choose choosen choosesets clustersize combine correlation cos cosh count covariance cron dataset dedup define denormalize distribute distributed distribution ebcdic enth error evaluate event eventextra eventname exists exp failcode failmessage fetch fromunicode getisvalid global graph group hash hash32 hash64 hashcrc hashmd5 having if index intformat isvalid iterate join keyunicode length library limit ln local log loop map matched matchlength matchposition matchtext matchunicode max merge mergejoin min nolocal nonempty normalize parse pipe power preload process project pull random range rank ranked realformat recordof regexfind regexreplace regroup rejected rollup round roundup row rowdiff sample set sin sinh sizeof soapcall sort sorted sqrt stepped stored sum table tan tanh thisnode topn tounicode transfer trim truncate typeof ungroup unicodeorder variance which workunit xmldecode xmlencode xmltext xmlunicode"),_=a("apply assert build buildindex evaluate fail keydiff keypatch loadxml nothor notify output parallel sequential soapcall wait"),j=a("__compressed__ all and any as atmost before beginc++ best between case const counter csv descend encrypt end endc++ endmacro except exclusive expire export extend false few first flat from full function group header heading hole ifblock import in interface joined keep keyed last left limit load local locale lookup macro many maxcount maxlength min skew module named nocase noroot noscan nosort not of only opt or outer overwrite packed partition penalty physicallength pipe quote record relationship repeat return right scan self separator service shared skew skip sql store terminator thor threshold token transform trim true type unicodeorder unsorted validate virtual whole wild within xml xpath"),b=a("ascii big_endian boolean data decimal ebcdic integer pattern qstring real record rule set of string token udecimal unicode unsigned varstring varunicode"),O=a("checkpoint deprecated failcode failmessage failure global independent onwarning persist priority recovery stored success wait when"),s=a("catch class do else finally for if switch try while"),C=a("true false null"),y={"#":z},g=/[+\-*&%=<>!?|\/]/,i;function d(n,t){var e=n.next();if(y[e]){var r=y[e](n,t);if(r!==!1)return r}if(e=='"'||e=="'")return t.tokenize=q(e),t.tokenize(n,t);if(/[\[\]{}\(\),;\:\.]/.test(e))return i=e,null;if(/\d/.test(e))return n.eatWhile(/[\w\.]/),"number";if(e=="/"){if(n.eat("*"))return t.tokenize=x,x(n,t);if(n.eat("/"))return n.skipToEnd(),"comment"}if(g.test(e))return n.eatWhile(g),"operator";n.eatWhile(/[\w\$_]/);var o=n.current().toLowerCase();if(I.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"keyword";if(_.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"variable";if(j.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"variable-2";if(b.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"variable-3";if(O.propertyIsEnumerable(o))return s.propertyIsEnumerable(o)&&(i="newstatement"),"builtin";for(var l=o.length-1;l>=0&&(!isNaN(o[l])||o[l]=="_");)--l;if(l>0){var k=o.substr(0,l+1);if(b.propertyIsEnumerable(k))return s.propertyIsEnumerable(k)&&(i="newstatement"),"variable-3"}return C.propertyIsEnumerable(o)?"atom":null}function q(n){return function(t,e){for(var r=!1,o,l=!1;(o=t.next())!=null;){if(o==n&&!r){l=!0;break}r=!r&&o=="\\"}return(l||!r)&&(e.tokenize=d),"string"}}function x(n,t){for(var e=!1,r;r=n.next();){if(r=="/"&&e){t.tokenize=d;break}e=r=="*"}return"comment"}function w(n,t,e,r,o){this.indented=n,this.column=t,this.type=e,this.align=r,this.prev=o}function m(n,t,e){return n.context=new w(n.indented,t,e,null,n.context)}function f(n){var t=n.context.type;return(t==")"||t=="]"||t=="}")&&(n.indented=n.context.indented),n.context=n.context.prev}return{startState:function(n){return{tokenize:null,context:new w((n||0)-h,0,"top",!1),indented:0,startOfLine:!0}},token:function(n,t){var e=t.context;if(n.sol()&&(e.align==null&&(e.align=!1),t.indented=n.indentation(),t.startOfLine=!0),n.eatSpace())return null;i=null;var r=(t.tokenize||d)(n,t);if(r=="comment"||r=="meta")return r;if(e.align==null&&(e.align=!0),(i==";"||i==":")&&e.type=="statement")f(t);else if(i=="{")m(t,n.column(),"}");else if(i=="[")m(t,n.column(),"]");else if(i=="(")m(t,n.column(),")");else if(i=="}"){for(;e.type=="statement";)e=f(t);for(e.type=="}"&&(e=f(t));e.type=="statement";)e=f(t)}else i==e.type?f(t):(e.type=="}"||e.type=="top"||e.type=="statement"&&i=="newstatement")&&m(t,n.column(),"statement");return t.startOfLine=!1,r},indent:function(n,t){if(n.tokenize!=d&&n.tokenize!=null)return 0;var e=n.context,r=t&&t.charAt(0);e.type=="statement"&&r=="}"&&(e=e.prev);var o=r==e.type;return e.type=="statement"?e.indented+(r=="{"?0:h):e.align?e.column+(o?0:1):e.indented+(o?0:h)},electricChars:"{}"}}),c.defineMIME("text/x-ecl","ecl")})})();var M=E.exports,P=Object.freeze(S({__proto__:null,[Symbol.toStringTag]:"Module",default:M},[E.exports]));export{P as e};
@@ -1 +1 @@
1
- import{bA as x}from"./vendor.62143b15.js";function v(u,c){return c.forEach(function(i){Object.keys(i).forEach(function(o){if(o!=="default"&&!(o in u)){var a=Object.getOwnPropertyDescriptor(i,o);Object.defineProperty(u,o,a.get?a:{enumerable:!0,get:function(){return i[o]}})}})}),Object.freeze(u)}var s={exports:{}};(function(u,c){(function(i){i(x.exports)})(function(i){i.defineMode("eiffel",function(){function o(e){for(var r={},t=0,n=e.length;t<n;++t)r[e[t]]=!0;return r}var a=o(["note","across","when","variant","until","unique","undefine","then","strip","select","retry","rescue","require","rename","reference","redefine","prefix","once","old","obsolete","loop","local","like","is","inspect","infix","include","if","frozen","from","external","export","ensure","end","elseif","else","do","creation","create","check","alias","agent","separate","invariant","inherit","indexing","feature","expanded","deferred","class","Void","True","Result","Precursor","False","Current","create","attached","detachable","as","and","implies","not","or"]),p=o([":=","and then","and","or","<<",">>"]);function d(e,r,t){return t.tokenize.push(e),e(r,t)}function b(e,r){if(e.eatSpace())return null;var t=e.next();return t=='"'||t=="'"?d(h(t,"string"),e,r):t=="-"&&e.eat("-")?(e.skipToEnd(),"comment"):t==":"&&e.eat("=")?"operator":/[0-9]/.test(t)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"ident"):/[a-zA-Z_0-9]/.test(t)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"ident"):/[=+\-\/*^%<>~]/.test(t)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}function h(e,r,t){return function(n,g){for(var f=!1,l;(l=n.next())!=null;){if(l==e&&(t||!f)){g.tokenize.pop();break}f=!f&&l=="%"}return r}}return{startState:function(){return{tokenize:[b]}},token:function(e,r){var t=r.tokenize[r.tokenize.length-1](e,r);if(t=="ident"){var n=e.current();t=a.propertyIsEnumerable(e.current())?"keyword":p.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(n)?"tag":/^0[bB][0-1]+$/g.test(n)||/^0[cC][0-7]+$/g.test(n)||/^0[xX][a-fA-F0-9]+$/g.test(n)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(n)||/^[0-9]+$/g.test(n)?"number":"variable"}return t},lineComment:"--"}}),i.defineMIME("text/x-eiffel","eiffel")})})();var y=s.exports,k=Object.freeze(v({__proto__:null,[Symbol.toStringTag]:"Module",default:y},[s.exports]));export{k as e};
1
+ import{bE as x}from"./vendor.a626ab9c.js";function v(u,c){return c.forEach(function(i){Object.keys(i).forEach(function(o){if(o!=="default"&&!(o in u)){var a=Object.getOwnPropertyDescriptor(i,o);Object.defineProperty(u,o,a.get?a:{enumerable:!0,get:function(){return i[o]}})}})}),Object.freeze(u)}var s={exports:{}};(function(u,c){(function(i){i(x.exports)})(function(i){i.defineMode("eiffel",function(){function o(e){for(var r={},t=0,n=e.length;t<n;++t)r[e[t]]=!0;return r}var a=o(["note","across","when","variant","until","unique","undefine","then","strip","select","retry","rescue","require","rename","reference","redefine","prefix","once","old","obsolete","loop","local","like","is","inspect","infix","include","if","frozen","from","external","export","ensure","end","elseif","else","do","creation","create","check","alias","agent","separate","invariant","inherit","indexing","feature","expanded","deferred","class","Void","True","Result","Precursor","False","Current","create","attached","detachable","as","and","implies","not","or"]),p=o([":=","and then","and","or","<<",">>"]);function d(e,r,t){return t.tokenize.push(e),e(r,t)}function b(e,r){if(e.eatSpace())return null;var t=e.next();return t=='"'||t=="'"?d(h(t,"string"),e,r):t=="-"&&e.eat("-")?(e.skipToEnd(),"comment"):t==":"&&e.eat("=")?"operator":/[0-9]/.test(t)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"ident"):/[a-zA-Z_0-9]/.test(t)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"ident"):/[=+\-\/*^%<>~]/.test(t)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}function h(e,r,t){return function(n,g){for(var f=!1,l;(l=n.next())!=null;){if(l==e&&(t||!f)){g.tokenize.pop();break}f=!f&&l=="%"}return r}}return{startState:function(){return{tokenize:[b]}},token:function(e,r){var t=r.tokenize[r.tokenize.length-1](e,r);if(t=="ident"){var n=e.current();t=a.propertyIsEnumerable(e.current())?"keyword":p.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(n)?"tag":/^0[bB][0-1]+$/g.test(n)||/^0[cC][0-7]+$/g.test(n)||/^0[xX][a-fA-F0-9]+$/g.test(n)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(n)||/^[0-9]+$/g.test(n)?"number":"variable"}return t},lineComment:"--"}}),i.defineMIME("text/x-eiffel","eiffel")})})();var y=s.exports,k=Object.freeze(v({__proto__:null,[Symbol.toStringTag]:"Module",default:y},[s.exports]));export{k as e};
@@ -1 +1 @@
1
- import{bA as O}from"./vendor.62143b15.js";function _(l,m){return m.forEach(function(f){Object.keys(f).forEach(function(r){if(r!=="default"&&!(r in l)){var o=Object.getOwnPropertyDescriptor(f,r);Object.defineProperty(l,r,o.get?o:{enumerable:!0,get:function(){return f[r]}})}})}),Object.freeze(l)}var x={exports:{}};(function(l,m){(function(f){f(O.exports)})(function(f){f.defineMode("elm",function(){function r(t,n,e){return n(e),e(t,n)}var o=/[a-z]/,d=/[A-Z]/,h=/[a-zA-Z0-9_]/,p=/[0-9]/,g=/[0-9A-Fa-f]/,u=/[-&*+.\\/<>=?^|:]/,w=/[(),[\]{}]/,b=/[ \v\f]/;function i(){return function(t,n){if(t.eatWhile(b))return null;var e=t.next();if(w.test(e))return e==="{"&&t.eat("-")?r(t,n,v(1)):e==="["&&t.match("glsl|")?r(t,n,k):"builtin";if(e==="'")return r(t,n,W);if(e==='"')return t.eat('"')?t.eat('"')?r(t,n,E):"string":r(t,n,y);if(d.test(e))return t.eatWhile(h),"variable-2";if(o.test(e)){var a=t.pos===1;return t.eatWhile(h),a?"def":"variable"}if(p.test(e)){if(e==="0"){if(t.eat(/[xX]/))return t.eatWhile(g),"number"}else t.eatWhile(p);return t.eat(".")&&t.eatWhile(p),t.eat(/[eE]/)&&(t.eat(/[-+]/),t.eatWhile(p)),"number"}return u.test(e)?e==="-"&&t.eat("-")?(t.skipToEnd(),"comment"):(t.eatWhile(u),"keyword"):e==="_"?"keyword":"error"}}function v(t){return t==0?i():function(n,e){for(;!n.eol();){var a=n.next();if(a=="{"&&n.eat("-"))++t;else if(a=="-"&&n.eat("}")&&(--t,t===0))return e(i()),"comment"}return e(v(t)),"comment"}}function E(t,n){for(;!t.eol();){var e=t.next();if(e==='"'&&t.eat('"')&&t.eat('"'))return n(i()),"string"}return"string"}function y(t,n){for(;t.skipTo('\\"');)t.next(),t.next();return t.skipTo('"')?(t.next(),n(i()),"string"):(t.skipToEnd(),n(i()),"error")}function W(t,n){for(;t.skipTo("\\'");)t.next(),t.next();return t.skipTo("'")?(t.next(),n(i()),"string"):(t.skipToEnd(),n(i()),"error")}function k(t,n){for(;!t.eol();){var e=t.next();if(e==="|"&&t.eat("]"))return n(i()),"string"}return"string"}var R={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};return{startState:function(){return{f:i()}},copyState:function(t){return{f:t.f}},token:function(t,n){var e=n.f(t,function(T){n.f=T}),a=t.current();return R.hasOwnProperty(a)?"keyword":e}}}),f.defineMIME("text/x-elm","elm")})})();var j=x.exports,c=Object.freeze(_({__proto__:null,[Symbol.toStringTag]:"Module",default:j},[x.exports]));export{c as e};
1
+ import{bE as O}from"./vendor.a626ab9c.js";function _(l,m){return m.forEach(function(a){Object.keys(a).forEach(function(r){if(r!=="default"&&!(r in l)){var o=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(l,r,o.get?o:{enumerable:!0,get:function(){return a[r]}})}})}),Object.freeze(l)}var x={exports:{}};(function(l,m){(function(a){a(O.exports)})(function(a){a.defineMode("elm",function(){function r(t,n,e){return n(e),e(t,n)}var o=/[a-z]/,d=/[A-Z]/,h=/[a-zA-Z0-9_]/,p=/[0-9]/,g=/[0-9A-Fa-f]/,u=/[-&*+.\\/<>=?^|:]/,w=/[(),[\]{}]/,E=/[ \v\f]/;function i(){return function(t,n){if(t.eatWhile(E))return null;var e=t.next();if(w.test(e))return e==="{"&&t.eat("-")?r(t,n,v(1)):e==="["&&t.match("glsl|")?r(t,n,k):"builtin";if(e==="'")return r(t,n,W);if(e==='"')return t.eat('"')?t.eat('"')?r(t,n,b):"string":r(t,n,y);if(d.test(e))return t.eatWhile(h),"variable-2";if(o.test(e)){var f=t.pos===1;return t.eatWhile(h),f?"def":"variable"}if(p.test(e)){if(e==="0"){if(t.eat(/[xX]/))return t.eatWhile(g),"number"}else t.eatWhile(p);return t.eat(".")&&t.eatWhile(p),t.eat(/[eE]/)&&(t.eat(/[-+]/),t.eatWhile(p)),"number"}return u.test(e)?e==="-"&&t.eat("-")?(t.skipToEnd(),"comment"):(t.eatWhile(u),"keyword"):e==="_"?"keyword":"error"}}function v(t){return t==0?i():function(n,e){for(;!n.eol();){var f=n.next();if(f=="{"&&n.eat("-"))++t;else if(f=="-"&&n.eat("}")&&(--t,t===0))return e(i()),"comment"}return e(v(t)),"comment"}}function b(t,n){for(;!t.eol();){var e=t.next();if(e==='"'&&t.eat('"')&&t.eat('"'))return n(i()),"string"}return"string"}function y(t,n){for(;t.skipTo('\\"');)t.next(),t.next();return t.skipTo('"')?(t.next(),n(i()),"string"):(t.skipToEnd(),n(i()),"error")}function W(t,n){for(;t.skipTo("\\'");)t.next(),t.next();return t.skipTo("'")?(t.next(),n(i()),"string"):(t.skipToEnd(),n(i()),"error")}function k(t,n){for(;!t.eol();){var e=t.next();if(e==="|"&&t.eat("]"))return n(i()),"string"}return"string"}var R={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};return{startState:function(){return{f:i()}},copyState:function(t){return{f:t.f}},token:function(t,n){var e=n.f(t,function(T){n.f=T}),f=t.current();return R.hasOwnProperty(f)?"keyword":e}}}),a.defineMIME("text/x-elm","elm")})})();var j=x.exports,M=Object.freeze(_({__proto__:null,[Symbol.toStringTag]:"Module",default:j},[x.exports]));export{M as e};
@@ -1,2 +1,2 @@
1
- import{r as s,p as o,q as n,w as i,B as e,P as t}from"./vendor.62143b15.js";const u=e("div",{class:"markdown-body"},[e("blockquote",null,[e("p",null,"Templates can be used to add custom templates for your emails, or to override the system emails used for things like resetting a password or inviting a user.")]),e("h2",{id:"1.-create-a-template-file"},[t("1. Create a template file "),e("a",{class:"header-anchor",href:"#1.-create-a-template-file"},"#")]),e("p",null,[t("Custom email templates are stored in the "),e("code",null,"templates"),t(" folder in your extensions folder. Every template is a "),e("a",{href:"https://liquidjs.com",target:"_blank",rel:"noopener noreferrer"},[e("code",null,"liquid")]),t(" file that can render whatever you want!")]),e("pre",null,[e("code",null,`/extensions/templates/<template-name>.liquid
1
+ import{r as s,p as o,q as n,w as i,B as e,P as t}from"./vendor.a626ab9c.js";const u=e("div",{class:"markdown-body"},[e("blockquote",null,[e("p",null,"Templates can be used to add custom templates for your emails, or to override the system emails used for things like resetting a password or inviting a user.")]),e("h2",{id:"1.-create-a-template-file"},[t("1. Create a template file "),e("a",{class:"header-anchor",href:"#1.-create-a-template-file"},"#")]),e("p",null,[t("Custom email templates are stored in the "),e("code",null,"templates"),t(" folder in your extensions folder. Every template is a "),e("a",{href:"https://liquidjs.com",target:"_blank",rel:"noopener noreferrer"},[e("code",null,"liquid")]),t(" file that can render whatever you want!")]),e("pre",null,[e("code",null,`/extensions/templates/<template-name>.liquid
2
2
  `)]),e("p",null,[t("To replace a system template with your own, simply name it "),e("code",null,"password-reset"),t(" or "),e("code",null,"user-invitation"),t(" for the password reset or user invite emails respectively.")]),e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Variables"),e("p",null,[t("When overriding the default email templates, make sure to include the "),e("code",null,"{{ url }}"),t(" variable somewhere. A password reset email wouldn\u2019t be that useful without the link to go reset your password!")])])],-1),h={setup(p,{expose:r}){const a={title:"Email Templates",modularExtension:!0};return r({frontmatter:a}),(d,m)=>{const l=s("DocsWrapper");return o(),n(l,{frontmatter:a},{default:i(()=>[u]),_:1})}}};export{h as default};
@@ -0,0 +1 @@
1
+ function a(e,u){return u.forEach(function(r){Object.keys(r).forEach(function(t){if(t!=="default"&&!(t in e)){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})}),Object.freeze(e)}var n={};Object.defineProperty(n,"__esModule",{value:!0});var i={code:"en-au",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(e){return`Show ${e} more event${e===1?"":"s"}`}},c=n.default=i,f=Object.freeze(a({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[n]));export{f as e};
@@ -0,0 +1 @@
1
+ function u(e,i){return i.forEach(function(r){Object.keys(r).forEach(function(t){if(t!=="default"&&!(t in e)){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})}),Object.freeze(e)}var n={};Object.defineProperty(n,"__esModule",{value:!0});var a={code:"en-gb",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(e){return`Show ${e} more event${e===1?"":"s"}`}},c=n.default=a,f=Object.freeze(u({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[n]));export{f as e};
@@ -0,0 +1 @@
1
+ function u(e,i){return i.forEach(function(r){Object.keys(r).forEach(function(t){if(t!=="default"&&!(t in e)){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})}),Object.freeze(e)}var n={};Object.defineProperty(n,"__esModule",{value:!0});var a={code:"en-nz",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(e){return`Show ${e} more event${e===1?"":"s"}`}},c=n.default=a,f=Object.freeze(u({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[n]));export{f as e};
@@ -0,0 +1,25 @@
1
+ import{r as d,p as s,q as i,w as n,B as l,t as o,P as e}from"./vendor.a626ab9c.js";const c={class:"markdown-body"},h=l("blockquote",null,[l("p",null,[e("Environment variables are used for all configuration within Directus projects. They can either be defined as plain environment variables or via the "),l("code",null,".env"),e(" file in the root directory, which is created during the installation process.")])],-1),_=l("p",null,[l("div",{class:"table-of-contents"},[l("ul",null,[l("li",null,[l("a",{href:"#general"},"General")]),l("li",null,[l("a",{href:"#database"},"Database")]),l("li",null,[l("a",{href:"#security"},"Security")]),l("li",null,[l("a",{href:"#cors"},"CORS")]),l("li",null,[l("a",{href:"#rate-limiting"},"Rate Limiting")]),l("li",null,[l("a",{href:"#cache"},"Cache")]),l("li",null,[l("a",{href:"#file-storage"},"File Storage")]),l("li",null,[l("a",{href:"#assets"},"Assets")]),l("li",null,[l("a",{href:"#auth"},"Auth")]),l("li",null,[l("a",{href:"#extensions"},"Extensions")]),l("li",null,[l("a",{href:"#email"},"Email")]),l("li",null,[l("a",{href:"#admin-account"},"Admin Account")]),l("li",null,[l("a",{href:"#telemetry"},"Telemetry")]),l("li",null,[l("a",{href:"#type-casting-and-nesting"},"Type Casting and Nesting")]),l("li",null,[l("a",{href:"#environment-syntax-prefix"},"Environment Syntax Prefix")]),l("li",null,[l("a",{href:"#file-based-environment-variables-(docker-secrets)"},"File Based Environment Variables (Docker Secrets)")])])])],-1),f=l("h2",{id:"general"},[e("General "),l("a",{class:"header-anchor",href:"#general"},"#")],-1),p=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),m=l("td",null,[l("code",null,"CONFIG_PATH")],-1),E=e("Where your config file is located. See "),A=e("Config Files"),g=l("td",null,[l("code",null,".env")],-1),R=l("tr",null,[l("td",null,[l("code",null,"PORT")]),l("td",null,"What port to run the API under."),l("td",null,[l("code",null,"8055")])],-1),T=l("tr",null,[l("td",null,[l("code",null,"PUBLIC_URL"),l("sup",null,"[1]")]),l("td",null,"URL where your API can be reached on the web."),l("td",null,[l("code",null,"/")])],-1),b=l("tr",null,[l("td",null,[l("code",null,"LOG_LEVEL")]),l("td",null,[e("What level of detail to log. One of "),l("code",null,"fatal"),e(", "),l("code",null,"error"),e(", "),l("code",null,"warn"),e(", "),l("code",null,"info"),e(", "),l("code",null,"debug"),e(", "),l("code",null,"trace"),e(" or "),l("code",null,"silent"),e(".")]),l("td",null,[l("code",null,"info")])],-1),O=l("tr",null,[l("td",null,[l("code",null,"LOG_STYLE")]),l("td",null,[e("Render the logs human readable (pretty) or as JSON. One of "),l("code",null,"pretty"),e(", "),l("code",null,"raw"),e(".")]),l("td",null,[l("code",null,"pretty")])],-1),S=l("tr",null,[l("td",null,[l("code",null,"MAX_PAYLOAD_SIZE")]),l("td",null,"Controls the maximum request body size. Accepts number of bytes, or human readable string."),l("td",null,[l("code",null,"100kb")])],-1),y=l("tr",null,[l("td",null,[l("code",null,"ROOT_REDIRECT")]),l("td",null,[e("Where to redirect to when navigating to "),l("code",null,"/"),e(". Accepts a relative path, absolute URL, or "),l("code",null,"false"),e(" to disable.")]),l("td",null,[l("code",null,"./admin")])],-1),I=l("tr",null,[l("td",null,[l("code",null,"SERVE_APP")]),l("td",null,[e("Whether or not to serve the Admin App under "),l("code",null,"/admin"),e(".")]),l("td",null,[l("code",null,"true")])],-1),D=l("p",null,[l("sup",null,"[1]"),e(" The PUBLIC_URL value is used for things like oAuth redirects, forgot-password emails, and logos that needs to be publicly available on the internet.")],-1),C=l("h2",{id:"database"},[e("Database "),l("a",{class:"header-anchor",href:"#database"},"#")],-1),L=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"DB_CLIENT")]),l("td",null,[l("strong",null,"Required"),e(". What database client to use. One of "),l("code",null,"pg"),e(" or "),l("code",null,"postgres"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", "),l("code",null,"mssql"),e(", or "),l("code",null,"sqlite3"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_HOST")]),l("td",null,[e("Database host. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_PORT")]),l("td",null,[e("Database port. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_DATABASE")]),l("td",null,[e("Database name. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_USER")]),l("td",null,[e("Database user. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_PASSWORD")]),l("td",null,[e("Database user\u2019s password. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_FILENAME")]),l("td",null,[e("Where to read/write the SQLite database. "),l("strong",null,"Required"),e(" when using "),l("code",null,"sqlite3"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_CONNECTION_STRING")]),l("td",null,[e("When using "),l("code",null,"pg"),e(", you can submit a connection string instead of individual properties. Using this will ignore any of the other connection settings.")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_POOL_*")]),l("td",null,[e("Pooling settings. Passed on to "),l("a",{href:"https://github.com/vincit/tarn.js#usage",target:"_blank",rel:"noopener noreferrer"},[e("the "),l("code",null,"tarn.js")]),e(" library.")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_EXCLUDE_TABLES")]),l("td",null,"CSV of tables you want Directus to ignore completely"),l("td",null,[l("code",null,"spatial_ref_sys")])]),l("tr",null,[l("td",null,[l("code",null,"DB_CHARSET")]),l("td",null,"Charset/collation to use in the connection to MySQL/MariaDB"),l("td",null,[l("code",null,"UTF8_GENERAL_CI")])])])],-1),v=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Additional Database Variables"),l("p",null,[e("All "),l("code",null,"DB_*"),e(" environment variables are passed to the "),l("code",null,"connection"),e(" configuration of a "),l("a",{href:"http://knexjs.org",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"Knex"),e(" instance")]),e(". Based on your project\u2019s needs, you can extend the "),l("code",null,"DB_*"),e(" environment variables with any config you need to pass to the database instance.")])],-1),N=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Pooling"),l("p",null,[e("All the "),l("code",null,"DB_POOL_"),e(" prefixed options are passed "),l("a",{href:"https://github.com/vincit/tarn.js#usage",target:"_blank",rel:"noopener noreferrer"},[e("to "),l("code",null,"tarn.js")]),e(" through "),l("a",{href:"http://knexjs.org/#Installation-pooling",target:"_blank",rel:"noopener noreferrer"},"Knex")])],-1),w=l("h2",{id:"security"},[e("Security "),l("a",{class:"header-anchor",href:"#security"},"#")],-1),V=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),M=l("tr",null,[l("td",null,[l("code",null,"KEY")]),l("td",null,"Unique identifier for the project."),l("td",null,"\u2013")],-1),H=l("tr",null,[l("td",null,[l("code",null,"SECRET")]),l("td",null,"Secret string for the project."),l("td",null,"\u2013")],-1),P=l("tr",null,[l("td",null,[l("code",null,"ACCESS_TOKEN_TTL")]),l("td",null,"The duration that the access token is valid."),l("td",null,[l("code",null,"15m")])],-1),x=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_TTL")]),l("td",null,"The duration that the refresh token is valid, and also how long users stay logged-in to the App."),l("td",null,[l("code",null,"7d")])],-1),U=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_DOMAIN")]),l("td",null,"Which domain to use for the refresh cookie. Useful for development mode."),l("td",null,"\u2013")],-1),k=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_SECURE")]),l("td",null,"Whether or not to use a secure cookie for the refresh token in cookie mode."),l("td",null,[l("code",null,"false")])],-1),B=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_SAME_SITE")]),l("td",null,[e("Value for "),l("code",null,"sameSite"),e(" in the refresh token cookie when in cookie mode.")]),l("td",null,[l("code",null,"lax")])],-1),G=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_NAME")]),l("td",null,"Name of refresh token cookie ."),l("td",null,[l("code",null,"directus_refresh_token")])],-1),W=l("td",null,[l("code",null,"PASSWORD_RESET_URL_ALLOW_LIST")],-1),q=e("List of URLs that can be used "),F=e("as "),K=l("code",null,"reset_url",-1),Y=e(" in /password/request"),z=l("td",null,"\u2013",-1),j=l("td",null,[l("code",null,"USER_INVITE_URL_ALLOW_LIST")],-1),X=e("List of URLs that can be used "),$=e("as "),Q=l("code",null,"invite_url",-1),Z=e(" in /users/invite"),J=l("td",null,"\u2013",-1),ll=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Cookie Strictness"),l("p",null,[e("Browser are pretty strict when it comes to third-party cookies. If you\u2019re running into unexpected problems when running your project and API on different domains, make sure to verify your configuration for "),l("code",null,"REFRESH_TOKEN_COOKIE_NAME"),e(", "),l("code",null,"REFRESH_TOKEN_COOKIE_SECURE"),e(" and "),l("code",null,"REFRESH_TOKEN_COOKIE_SAME_SITE"),e(".")])],-1),el=l("h3",{id:"hashing"},[e("Hashing "),l("a",{class:"header-anchor",href:"#hashing"},"#")],-1),nl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"HASH_MEMORY_COST")]),l("td",null,"How much memory to use when generating hashes, in KiB."),l("td",null,[l("code",null,"4096"),e(" (4 MiB)")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_LENGTH")]),l("td",null,"The length of the hash function output in bytes."),l("td",null,[l("code",null,"32")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_TIME_COST")]),l("td",null,"The amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute."),l("td",null,[l("code",null,"3")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_PARALLELISM")]),l("td",null,[e("The amount of threads to compute the hash on. Each thread has a memory pool with "),l("code",null,"HASH_MEMORY_COST"),e(" size.")]),l("td",null,[l("code",null,"1"),e(" (single thread)")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_TYPE")]),l("td",null,[e("The variant of the hash function ("),l("code",null,"0"),e(": argon2d, "),l("code",null,"1"),e(": argon2i, or "),l("code",null,"2"),e(": argon2id).")]),l("td",null,[l("code",null,"1"),e(" (argon2i)")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_ASSOCIATED_DATA")]),l("td",null,"An extra and optional non-secret value. The value will be included B64 encoded in the parameters portion of the digest."),l("td",null,"\u2013")])])],-1),tl=l("p",null,[e("Argon2\u2019s hashing function is used by Directus for three purposes: 1) hashing user passwords, 2) generating hashes for the "),l("code",null,"Hash"),e(" field type in collections, and 3) the "),l("a",{href:"https://docs.directus.io/reference/api/system/utilities/#generate-a-hash",target:"_blank",rel:"noopener noreferrer"},"generate a hash API endpoint"),e(".")],-1),ol=l("p",null,[e("All "),l("code",null,"HASH_*"),e(" environment variable parameters are passed to the "),l("code",null,"argon2.hash"),e(" function. See the "),l("a",{href:"https://github.com/ranisalt/node-argon2/wiki/Options",target:"_blank",rel:"noopener noreferrer"},"node-argon2 library options page"),e(" for reference.")],-1),ul=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Memory Usage"),l("p",null,[e("Modifying "),l("code",null,"HASH_MEMORY_COST"),e(" and/or "),l("code",null,"HASH_PARALLELISM"),e(" will affect the amount of memory directus uses when computing hashes; each thread gets "),l("code",null,"HASH_MEMORY_COST"),e(" amount of memory, so the total additional memory will be these two values multiplied. This may cause out of memory errors, especially when running in containerized environments.")])],-1),dl=l("h2",{id:"cors"},[e("CORS "),l("a",{class:"header-anchor",href:"#cors"},"#")],-1),al=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CORS_ENABLED")]),l("td",null,"Whether or not to enable the CORS headers."),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_ORIGIN")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Allow-Origin"),e(" header. Use "),l("code",null,"true"),e(" to match the Origin header, or provide a domain or a CSV of domains for specific access")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_METHODS")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Allow-Methods"),e(" header.")]),l("td",null,[l("code",null,"GET,POST,PATCH,DELETE")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_ALLOWED_HEADERS")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Allow-Headers"),e(" header.")]),l("td",null,[l("code",null,"Content-Type,Authorization")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_EXPOSED_HEADERS")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Expose-Headers"),e(" header.")]),l("td",null,[l("code",null,"Content-Range")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_CREDENTIALS")]),l("td",null,[e("Whether or not to send the "),l("code",null,"Access-Control-Allow-Credentials"),e(" header.")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_MAX_AGE")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Max-Age"),e(" header.")]),l("td",null,[l("code",null,"18000")])])])],-1),rl=l("h2",{id:"rate-limiting"},[e("Rate Limiting "),l("a",{class:"header-anchor",href:"#rate-limiting"},"#")],-1),sl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_ENABLED")]),l("td",null,"Whether or not to enable rate limiting on the API."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_POINTS")]),l("td",null,"The amount of allowed hits per duration."),l("td",null,[l("code",null,"50")])]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_DURATION")]),l("td",null,"The time window in seconds in which the points are counted."),l("td",null,[l("code",null,"1")])]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_STORE")]),l("td",null,[e("Where to store the rate limiter counts. One of "),l("code",null,"memory"),e(", "),l("code",null,"redis"),e(", or "),l("code",null,"memcache"),e(".")]),l("td",null,[l("code",null,"memory")])])])],-1),il=l("p",null,[e("Based on the "),l("code",null,"RATE_LIMITER_STORE"),e(" used, you must also provide the following configurations:")],-1),cl=l("h3",{id:"memory"},[e("Memory "),l("a",{class:"header-anchor",href:"#memory"},"#")],-1),hl=l("p",null,"No additional configuration required.",-1),_l=l("h3",{id:"redis"},[e("Redis "),l("a",{class:"header-anchor",href:"#redis"},"#")],-1),fl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS")]),l("td",null,[e("Redis connection string, eg: "),l("code",null,"redis://:authpassword@127.0.0.1:6380/4")]),l("td",null,"\u2014")])])],-1),pl=l("p",null,"Alternatively, you can provide the individual connection parameters:",-1),ml=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS_HOST")]),l("td",null,"Hostname of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS_PORT")]),l("td",null,"Port of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS_PASSWORD")]),l("td",null,"Password for your Redis instance"),l("td",null,"\u2013")])])],-1),El=l("h3",{id:"memcache"},[e("Memcache "),l("a",{class:"header-anchor",href:"#memcache"},"#")],-1),Al=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_MEMCACHE")]),l("td",null,[e("Location of your memcache instance. You can use "),l("a",{href:"#environment-syntax-prefix"},[l("code",null,"array:"),e(" syntax")]),e(", eg: "),l("code",null,"array:<instance-1>,<instance-2>"),e(" for multiple memcache instances.")]),l("td",null,"\u2014")])])],-1),gl=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Additional Rate Limiter Variables"),l("p",null,[e("All "),l("code",null,"RATE_LIMITER_*"),e(" variables are passed directly to a "),l("code",null,"rate-limiter-flexible"),e(" instance. Depending on your project\u2019s needs, you can extend the above environment variables to configure any of "),l("a",{href:"https://github.com/animir/node-rate-limiter-flexible/wiki/Options",target:"_blank",rel:"noopener noreferrer"},[e("the "),l("code",null,"rate-limiter-flexible"),e(" options")]),e(".")])],-1),Rl=l("h2",{id:"cache"},[e("Cache "),l("a",{class:"header-anchor",href:"#cache"},"#")],-1),Tl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_ENABLED")]),l("td",null,"Whether or not caching is enabled."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_TTL")]),l("td",null,"How long the cache is persisted."),l("td",null,[l("code",null,"30m")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_CONTROL_S_MAXAGE")]),l("td",null,"Whether to not to add the s-maxage expiration flag. Set to a number for a custom value"),l("td",null,[l("code",null,"0")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_AUTO_PURGE")]),l("td",null,[e("Automatically purge the cache on "),l("code",null,"create"),e("/"),l("code",null,"update"),e("/"),l("code",null,"delete"),e(" actions.")]),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_SCHEMA"),e(),l("sup",null,"[1]")]),l("td",null,[e("Whether or not the database schema is cached. One of "),l("code",null,"false"),e(", "),l("code",null,"true"),e(", or a string time value")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_NAMESPACE")]),l("td",null,"How to scope the cache data."),l("td",null,[l("code",null,"directus-cache")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_STORE")]),l("td",null,[e("Where to store the cache data. Either "),l("code",null,"memory"),e(", "),l("code",null,"redis"),e(", or "),l("code",null,"memcache"),e(".")]),l("td",null,[l("code",null,"memory")])])])],-1),bl=l("p",null,[l("sup",null,"[1]"),e(),l("code",null,"CACHE_SCHEMA"),e(" ignores the "),l("code",null,"CACHE_ENABLED"),e(" value")],-1),Ol=l("p",null,[e("Based on the "),l("code",null,"CACHE_STORE"),e(" used, you must also provide the following configurations:")],-1),Sl=l("h3",{id:"memory-2"},[e("Memory "),l("a",{class:"header-anchor",href:"#memory-2"},"#")],-1),yl=l("p",null,"No additional configuration required.",-1),Il=l("h3",{id:"redis-2"},[e("Redis "),l("a",{class:"header-anchor",href:"#redis-2"},"#")],-1),Dl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS")]),l("td",null,[e("Redis connection string, eg: "),l("code",null,"redis://:authpassword@127.0.0.1:6380/4")]),l("td",null,"\u2014")])])],-1),Cl=l("p",null,"Alternatively, you can provide the individual connection parameters:",-1),Ll=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS_HOST")]),l("td",null,"Hostname of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS_PORT")]),l("td",null,"Port of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS_PASSWORD")]),l("td",null,"Password for your Redis instance"),l("td",null,"\u2013")])])],-1),vl=l("h3",{id:"memcache-2"},[e("Memcache "),l("a",{class:"header-anchor",href:"#memcache-2"},"#")],-1),Nl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_MEMCACHE")]),l("td",null,[e("Location of your memcache instance. You can use "),l("a",{href:"#environment-syntax-prefix"},[l("code",null,"array:"),e(" syntax")]),e(", eg: "),l("code",null,"array:<instance-1>,<instance-2>"),e(" for multiple memcache instances.")]),l("td",null,"\u2014")])])],-1),wl=l("h3",{id:"database-2"},[e("Database "),l("a",{class:"header-anchor",href:"#database-2"},"#")],-1),Vl=l("p",null,"No additional configuration required.",-1),Ml=l("h2",{id:"file-storage"},[e("File Storage "),l("a",{class:"header-anchor",href:"#file-storage"},"#")],-1),Hl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_LOCATIONS")]),l("td",null,[e("A CSV of storage locations (eg: "),l("code",null,"local,digitalocean,amazon"),e(") to use. You can use any names you\u2019d like for these keys.")]),l("td",null,[l("code",null,"local")])])])],-1),Pl=l("p",null,"For each of the storage locations listed, you must provide the following configuration:",-1),xl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_DRIVER")]),l("td",null,[e("Which driver to use, either "),l("code",null,"local"),e(", "),l("code",null,"s3"),e(", "),l("code",null,"gcs"),e(", "),l("code",null,"azure")]),l("td")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ROOT")]),l("td",null,"Where to store the files on disk"),l("td",null,[l("code",null,"''")])])])],-1),Ul=l("p",null,"Based on your configured driver, you must also provide the following configurations:",-1),kl=l("h3",{id:"local-(local)"},[e("Local ("),l("code",null,"local"),e(") "),l("a",{class:"header-anchor",href:"#local-(local)"},"#")],-1),Bl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ROOT")]),l("td",null,"Where to store the files on disk"),l("td",null,"\u2013")])])],-1),Gl=l("h3",{id:"s3-(s3)"},[e("S3 ("),l("code",null,"s3"),e(") "),l("a",{class:"header-anchor",href:"#s3-(s3)"},"#")],-1),Wl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_KEY")]),l("td",null,"User key"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_SECRET")]),l("td",null,"User secret"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_BUCKET")]),l("td",null,"S3 Bucket"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_REGION")]),l("td",null,"S3 Region"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ENDPOINT")]),l("td",null,"S3 Endpoint"),l("td",null,[l("code",null,"s3.amazonaws.com")])]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ACL")]),l("td",null,"S3 ACL"),l("td",null,"\u2013")])])],-1),ql=l("h3",{id:"azure-(azure)"},[e("Azure ("),l("code",null,"azure"),e(") "),l("a",{class:"header-anchor",href:"#azure-(azure)"},"#")],-1),Fl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_CONTAINER_NAME")]),l("td",null,"Azure Storage container"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ACCOUNT_NAME")]),l("td",null,"Azure Storage account name"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ACCOUNT_KEY")]),l("td",null,"Azure Storage key"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ENDPOINT")]),l("td",null,"Azure URL"),l("td",null,[l("code",null,"https://{ACCOUNT_KEY}.blob.core.windows.net")])])])],-1),Kl=l("h3",{id:"google-cloud-storage-(gcs)"},[e("Google Cloud Storage ("),l("code",null,"gcs"),e(") "),l("a",{class:"header-anchor",href:"#google-cloud-storage-(gcs)"},"#")],-1),Yl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_KEY_FILENAME")]),l("td",null,"Path to key file on disk"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_BUCKET")]),l("td",null,"Google Cloud Storage bucket"),l("td",null,"\u2013")])])],-1),zl=l("p",null,"If you don\u2019t provide any configuration for storage adapters, Directus will default to the following:",-1),jl=l("pre",null,[l("code",null,`STORAGE_LOCATIONS="local"
2
+ STORAGE_LOCAL_ROOT="./uploads"
3
+ `)],-1),Xl=l("h2",{id:"assets"},[e("Assets "),l("a",{class:"header-anchor",href:"#assets"},"#")],-1),$l=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"ASSETS_CACHE_TTL")]),l("td",null,[e("How long assets will be cached for in the browser. Sets the "),l("code",null,"max-age"),e(" value of the "),l("code",null,"Cache-Control"),e(" header.")]),l("td",null,[l("code",null,"30m")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_TRANSFORM_MAX_CONCURRENT")]),l("td",null,"How many file transformations can be done simultaneously"),l("td",null,[l("code",null,"4")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_TRANSFORM_IMAGE_MAX_DIMENSION")]),l("td",null,"The max pixel dimensions size (width/height) that is allowed to be transformed"),l("td",null,[l("code",null,"6000")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_TRANSFORM_MAX_OPERATIONS")]),l("td",null,"The max number of transform operations that is allowed to be processed (excludes saved presets)"),l("td",null,[l("code",null,"5")])])])],-1),Ql=l("p",null,"Image transformations can be fairly heavy on memory usage. If you\u2019re using a system with 1GB or less available memory, we recommend lowering the allowed concurrent transformations to prevent you from overflowing your server.",-1),Zl=l("h2",{id:"auth"},[e("Auth "),l("a",{class:"header-anchor",href:"#auth"},"#")],-1),Jl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_PROVIDERS")]),l("td",null,"CSV of auth providers you want to use."),l("td",null,"\u2013")])])],-1),le=l("p",null,"For each of the auth providers you list, you must provide the following configuration:",-1),ee=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DRIVER")]),l("td",null,[e("Which driver to use, either "),l("code",null,"local"),e(", "),l("code",null,"oauth2"),e(", "),l("code",null,"openid")]),l("td",null,"\u2013")])])],-1),ne=l("p",null,"You must also provide a number of extra variables. These differ per auth driver service. The following is a list of common required configuration options:",-1),te=l("h3",{id:"local-(local)-2"},[e("Local ("),l("code",null,"local"),e(") "),l("a",{class:"header-anchor",href:"#local-(local)-2"},"#")],-1),oe=l("p",null,"No additional configuration required.",-1),ue=l("h3",{id:"oauth-2.0-(oauth2)"},[e("OAuth 2.0 ("),l("code",null,"oauth2"),e(") "),l("a",{class:"header-anchor",href:"#oauth-2.0-(oauth2)"},"#")],-1),de=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_ID")]),l("td",null,"OAuth identifier for the external service."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_SECRET")]),l("td",null,"OAUth secret for the external service."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_SCOPE")]),l("td",null,"A white-space separated list of privileges Directus will request."),l("td",null,[l("code",null,"email")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_AUTHORIZE_URL")]),l("td",null,"The authorize page URL of the external service."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ACCESS_URL")]),l("td",null,"The token access URL of the external service."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_PROFILE_URL")]),l("td",null,"Where Directus can fetch the profile information of the authenticated user."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_EMAIL_KEY")]),l("td",null,"OAuth profile email key used to verify the user."),l("td",null,[l("code",null,"email")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_IDENTIFIER_KEY")]),l("td",null,[e("OAuth profile identifier key used to verify the user. Can be used in place of "),l("code",null,"EMAIL_KEY"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ALLOW_PUBLIC_REGISTRATION")]),l("td",null,"Whether to allow public registration of authenticating users."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DEFAULT_ROLE_ID")]),l("td",null,"Directus role ID to assign to users."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ICON")]),l("td",null,"SVG icon to display with the login link."),l("td",null,[l("code",null,"account_circle")])])])],-1),ae=l("p",null,"If possible, OpenID is preferred over OAuth 2.0 as it provides better verification and consistent user information, allowing more complete user registrations.",-1),re=l("h3",{id:"openid-(openid)"},[e("OpenID ("),l("code",null,"openid"),e(") "),l("a",{class:"header-anchor",href:"#openid-(openid)"},"#")],-1),se=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_ID")]),l("td",null,"OpenID identifier for the external service."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_SECRET")]),l("td",null,"OpenID secret for the external service."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_SCOPE")]),l("td",null,"A white-space separated list of privileges Directus will request."),l("td",null,[l("code",null,"openid profile email")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ISSUER_URL")]),l("td",null,[e("The OpenID "),l("code",null,".well-known"),e(" Discovery Document URL.")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_IDENTIFIER_KEY")]),l("td",null,"OpenID profile identifier key used to verify the user."),l("td",null,[l("code",null,"sub")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ALLOW_PUBLIC_REGISTRATION")]),l("td",null,"Whether to allow public registration of authenticating users."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_REQUIRE_VERIFIED_EMAIL")]),l("td",null,"Require users to have a verified email address."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DEFAULT_ROLE_ID")]),l("td",null,"Directus role ID to assign to users."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ICON")]),l("td",null,"SVG icon to display with the login link."),l("td",null,[l("code",null,"account_circle")])])])],-1),ie=l("h2",{id:"extensions"},[e("Extensions "),l("a",{class:"header-anchor",href:"#extensions"},"#")],-1),ce=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EXTENSIONS_PATH")]),l("td",null,"Path to your local extensions folder."),l("td",null,[l("code",null,"./extensions")])])])],-1),he=l("h2",{id:"email"},[e("Email "),l("a",{class:"header-anchor",href:"#email"},"#")],-1),_e=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_FROM")]),l("td",null,"Email address from which emails are sent."),l("td",null,[l("code",null,"no-reply@directus.io")])]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_TRANSPORT")]),l("td",null,[e("What to use to send emails. One of "),l("code",null,"sendmail"),e(", "),l("code",null,"smtp"),e(", "),l("code",null,"mailgun"),e(".")]),l("td",null,[l("code",null,"sendmail")])])])],-1),fe=l("p",null,[e("Based on the "),l("code",null,"EMAIL_TRANSPORT"),e(" used, you must also provide the following configurations:")],-1),pe=l("h3",{id:"sendmail-(sendmail)"},[e("Sendmail ("),l("code",null,"sendmail"),e(") "),l("a",{class:"header-anchor",href:"#sendmail-(sendmail)"},"#")],-1),me=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_SENDMAIL_NEW_LINE")]),l("td",null,"What new line style to use in sendmail."),l("td",null,[l("code",null,"unix")])]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SENDMAIL_PATH")]),l("td",null,"Path to your sendmail executable."),l("td",null,[l("code",null,"/usr/sbin/sendmail")])])])],-1),Ee=l("h3",{id:"smtp-(smtp)"},[e("SMTP ("),l("code",null,"smtp"),e(") "),l("a",{class:"header-anchor",href:"#smtp-(smtp)"},"#")],-1),Ae=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_HOST")]),l("td",null,"SMTP Host"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_PORT")]),l("td",null,"SMTP Port"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_USER")]),l("td",null,"SMTP User"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_PASSWORD")]),l("td",null,"SMTP Password"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_POOL")]),l("td",null,"Use SMTP pooling"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_SECURE")]),l("td",null,"Enable TLS"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_IGNORE_TLS")]),l("td",null,"Ignore TLS"),l("td",null,"\u2013")])])],-1),ge=l("h3",{id:"mailgun-(mailgun)"},[e("Mailgun ("),l("code",null,"mailgun"),e(") "),l("a",{class:"header-anchor",href:"#mailgun-(mailgun)"},"#")],-1),Re=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_MAILGUN_API_KEY")]),l("td",null,"Your Mailgun API key."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_MAILGUN_DOMAIN")]),l("td",null,[e("A domain from "),l("a",{href:"https://app.mailgun.com/app/sending/domains",target:"_blank",rel:"noopener noreferrer"},"your Mailgun account")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_MAILGUN_HOST")]),l("td",null,"Allows you to specify a custom host."),l("td",null,[l("code",null,"api.mailgun.net")])])])],-1),Te=l("h2",{id:"admin-account"},[e("Admin Account "),l("a",{class:"header-anchor",href:"#admin-account"},"#")],-1),be=l("p",null,[e("If you\u2019re relying on Docker and/or the "),l("code",null,"directus bootstrap"),e(" CLI command, you can pass the following two environment variables to automatically configure the first user:")],-1),Oe=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"ADMIN_EMAIL")]),l("td",null,[e("The email address of the first user that\u2019s automatically created when using "),l("code",null,"directus bootstrap"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"ADMIN_PASSWORD")]),l("td",null,[e("The password of the first user that\u2019s automatically created when using "),l("code",null,"directus bootstrap"),e(".")]),l("td",null,"\u2013")])])],-1),Se=l("h2",{id:"telemetry"},[e("Telemetry "),l("a",{class:"header-anchor",href:"#telemetry"},"#")],-1),ye=l("p",null,"To more accurately gauge the frequency of installation, version fragmentation, and general size of the userbase, Directus collects little and anonymized data about your environment. You can easily opt-out with the following environment variable:",-1),Ie=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"TELEMETRY")]),l("td",null,"Allow Directus to collect anonymized data about your environment."),l("td",null,[l("code",null,"true")])])])],-1),De=l("hr",null,null,-1),Ce=l("h2",{id:"type-casting-and-nesting"},[e("Type Casting and Nesting "),l("a",{class:"header-anchor",href:"#type-casting-and-nesting"},"#")],-1),Le=l("p",null,"Environment variables are automatically type cast based on the structure of the variable, for example:",-1),ve=l("pre",null,[l("code",null,`PUBLIC_URL="https://example.com"
4
+ // "https://example.com"
5
+
6
+ DB_HOST="3306"
7
+ // 3306
8
+
9
+ CORS_ENABLED="false"
10
+ // false
11
+
12
+ STORAGE_LOCATIONS="s3,local,example"
13
+ // ["s3", "local", "example"]
14
+ `)],-1),Ne=l("p",null,[e("In cases where the environment variables are converted to a configuration object for third party library use, like in "),l("code",null,"DB_*"),e(" or "),l("code",null,"RATE_LIMITER_REDIS_*"),e(", the environment variable will be converted to camelCase. You can use a double underscore ("),l("code",null,"__"),e(") for nested objects:")],-1),we=l("pre",null,[l("code",null,`DB_CLIENT="pg"
15
+ DB_CONNECTION_STRING="postgresql://postgres:example@127.0.0.1"
16
+ DB_SSL__REJECT_UNAUTHORIZED="false"
17
+
18
+ {
19
+ client: "pg",
20
+ connectionString: "postgresql://postgres:example@127.0.0.1",
21
+ ssl: {
22
+ rejectUnauthorized: false
23
+ }
24
+ }
25
+ `)],-1),Ve=l("h2",{id:"environment-syntax-prefix"},[e("Environment Syntax Prefix "),l("a",{class:"header-anchor",href:"#environment-syntax-prefix"},"#")],-1),Me=l("p",null,[e("Directus will attempt to automatically type cast environment variables based on context clues ("),l("a",{href:"#type-casting-and-nesting"},"see above"),e("). If you have a specific need for a given type, you can tell Directus what type to use for the given value by prefixing the value with "),l("code",null,"{type}:"),e(". The following types are available:")],-1),He=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Syntax Prefix"),l("th",null,"Example"),l("th",null,"Output")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"string")]),l("td",null,[l("code",null,"string:value")]),l("td",null,[l("code",null,'"value"')])]),l("tr",null,[l("td",null,[l("code",null,"number")]),l("td",null,[l("code",null,"number:3306")]),l("td",null,[l("code",null,"3306")])]),l("tr",null,[l("td",null,[l("code",null,"regex")]),l("td",null,[l("code",null,"regex:\\.example\\.com$")]),l("td",null,[l("code",null,"/\\.example\\.com$/")])]),l("tr",null,[l("td",null,[l("code",null,"array")]),l("td",null,[l("code",null,"array:https://example.com,https://example2.com"),e(),l("br"),e(),l("code",null,"array:string:https://example.com,regex:\\.example3\\.com$")]),l("td",null,[l("code",null,'["https://example.com", "https://example2.com"]'),e(),l("br"),e(),l("code",null,'["https://example.com", "https://example2.com", /\\.example3\\.com$/]')])])])],-1),Pe=l("h2",{id:"file-based-environment-variables-(docker-secrets)"},[e("File Based Environment Variables (Docker Secrets) "),l("a",{class:"header-anchor",href:"#file-based-environment-variables-(docker-secrets)"},"#")],-1),xe=l("p",null,[e("Any of the environment variable values can be imported from a file, by appending "),l("code",null,"_FILE"),e(" to the environment variable name. For example: "),l("code",null,'DB_PASSWORD_FILE="/run/secrets/db_password"'),e(".")],-1),Ue=l("p",null,"This is especially useful when used in conjunction with Docker Secrets, so you can keep sensitive data out of your compose files.",-1),qe={setup(ke,{expose:a}){const u={title:"Environment Variables",modularExtension:!1};return a({frontmatter:u}),(Be,Ge)=>{const t=d("router-link"),r=d("DocsWrapper");return s(),i(r,{frontmatter:u},{default:n(()=>[l("div",c,[h,_,f,l("table",null,[p,l("tbody",null,[l("tr",null,[m,l("td",null,[E,o(t,{to:"/docs/reference/config-files/"},{default:n(()=>[A]),_:1})]),g]),R,T,b,O,S,y,I])]),D,C,L,v,N,w,l("table",null,[V,l("tbody",null,[M,H,P,x,U,k,B,G,l("tr",null,[W,l("td",null,[q,o(t,{to:"/docs/reference/api/system/authentication/#request-password-reset"},{default:n(()=>[F,K,Y]),_:1})]),z]),l("tr",null,[j,l("td",null,[X,o(t,{to:"/docs/reference/api/system/users/#invite-a-new-user"},{default:n(()=>[$,Q,Z]),_:1})]),J])])]),ll,el,nl,tl,ol,ul,dl,al,rl,sl,il,cl,hl,_l,fl,pl,ml,El,Al,gl,Rl,Tl,bl,Ol,Sl,yl,Il,Dl,Cl,Ll,vl,Nl,wl,Vl,Ml,Hl,Pl,xl,Ul,kl,Bl,Gl,Wl,ql,Fl,Kl,Yl,zl,jl,Xl,$l,Ql,Zl,Jl,le,ee,ne,te,oe,ue,de,ae,re,se,ie,ce,he,_e,fe,pe,me,Ee,Ae,ge,Re,Te,be,Oe,Se,ye,Ie,De,Ce,Le,ve,Ne,we,Ve,Me,He,Pe,xe,Ue])]),_:1})}}};export{qe as default};
@@ -1 +1 @@
1
- import{bA as X}from"./vendor.62143b15.js";function Y(s,y){return y.forEach(function(a){Object.keys(a).forEach(function(_){if(_!=="default"&&!(_ in s)){var b=Object.getOwnPropertyDescriptor(a,_);Object.defineProperty(s,_,b.get?b:{enumerable:!0,get:function(){return a[_]}})}})}),Object.freeze(s)}var m={exports:{}};(function(s,y){(function(a){a(X.exports)})(function(a){a.defineMIME("text/x-erlang","erlang"),a.defineMode("erlang",function(_){var b=["-type","-spec","-export_type","-opaque"],P=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],j=/[\->,;]/,A=["->",";",","],R=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],U=/[\+\-\*\/<>=\|:!]/,O=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],Z=/[<\(\[\{]/,h=["<<","(","[","{"],q=/[>\)\]\}]/,w=["}","]",")",">>"],$=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],I=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],g=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,Q=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function D(e,n){if(n.in_string)return n.in_string=!W(e),i(n,e,"string");if(n.in_atom)return n.in_atom=!E(e),i(n,e,"atom");if(e.eatSpace())return i(n,e,"whitespace");if(!d(n)&&e.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/))return u(e.current(),b)?i(n,e,"type"):i(n,e,"attribute");var r=e.next();if(r=="%")return e.skipToEnd(),i(n,e,"comment");if(r==":")return i(n,e,"colon");if(r=="?")return e.eatSpace(),e.eatWhile(g),i(n,e,"macro");if(r=="#")return e.eatSpace(),e.eatWhile(g),i(n,e,"record");if(r=="$")return e.next()=="\\"&&!e.match(Q)?i(n,e,"error"):i(n,e,"number");if(r==".")return i(n,e,"dot");if(r=="'"){if(!(n.in_atom=!E(e))){if(e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),i(n,e,"fun");if(e.match(/\s*\(/,!1)||e.match(/\s*:/,!1))return i(n,e,"function")}return i(n,e,"atom")}if(r=='"')return n.in_string=!W(e),i(n,e,"string");if(/[A-Z_Ø-ÞÀ-Ö]/.test(r))return e.eatWhile(g),i(n,e,"variable");if(/[a-z_ß-öø-ÿ]/.test(r)){if(e.eatWhile(g),e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),i(n,e,"fun");var t=e.current();return u(t,P)?i(n,e,"keyword"):u(t,R)?i(n,e,"operator"):e.match(/\s*\(/,!1)?u(t,I)&&(d(n).token!=":"||d(n,2).token=="erlang")?i(n,e,"builtin"):u(t,$)?i(n,e,"guard"):i(n,e,"function"):N(e)==":"?t=="erlang"?i(n,e,"builtin"):i(n,e,"function"):u(t,["true","false"])?i(n,e,"boolean"):i(n,e,"atom")}var c=/[0-9]/,o=/[0-9a-zA-Z]/;return c.test(r)?(e.eatWhile(c),e.eat("#")?e.eatWhile(o)||e.backUp(1):e.eat(".")&&(e.eatWhile(c)?e.eat(/[eE]/)&&(e.eat(/[-+]/)?e.eatWhile(c)||e.backUp(2):e.eatWhile(c)||e.backUp(1)):e.backUp(1)),i(n,e,"number")):x(e,Z,h)?i(n,e,"open_paren"):x(e,q,w)?i(n,e,"close_paren"):S(e,j,A)?i(n,e,"separator"):S(e,U,O)?i(n,e,"operator"):i(n,e,null)}function x(e,n,r){if(e.current().length==1&&n.test(e.current())){for(e.backUp(1);n.test(e.peek());)if(e.next(),u(e.current(),r))return!0;e.backUp(e.current().length-1)}return!1}function S(e,n,r){if(e.current().length==1&&n.test(e.current())){for(;n.test(e.peek());)e.next();for(;0<e.current().length;){if(u(e.current(),r))return!0;e.backUp(1)}e.next()}return!1}function W(e){return z(e,'"',"\\")}function E(e){return z(e,"'","\\")}function z(e,n,r){for(;!e.eol();){var t=e.next();if(t==n)return!0;t==r&&e.next()}return!1}function N(e){var n=e.match(/^\s*([^\s%])/,!1);return n?n[1]:""}function u(e,n){return-1<n.indexOf(e)}function i(e,n,r){switch(G(e,B(r,n)),r){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":return null;case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"variable-2";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function T(e,n,r,t){return{token:e,column:n,indent:r,type:t}}function B(e,n){return T(n.current(),n.column(),n.indentation(),e)}function F(e){return T(e,0,0,e)}function d(e,n){var r=e.tokenStack.length,t=n||1;return r<t?!1:e.tokenStack[r-t]}function G(e,n){n.type=="comment"||n.type=="whitespace"||(e.tokenStack=H(e.tokenStack,n),e.tokenStack=J(e.tokenStack))}function H(e,n){var r=e.length-1;return 0<r&&e[r].type==="record"&&n.type==="dot"?e.pop():(0<r&&e[r].type==="group"&&e.pop(),e.push(n)),e}function J(e){if(!e.length)return e;var n=e.length-1;if(e[n].type==="dot")return[];if(n>1&&e[n].type==="fun"&&e[n-1].token==="fun")return e.slice(0,n-1);switch(e[n].token){case"}":return f(e,{g:["{"]});case"]":return f(e,{i:["["]});case")":return f(e,{i:["("]});case">>":return f(e,{i:["<<"]});case"end":return f(e,{i:["begin","case","fun","if","receive","try"]});case",":return f(e,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return f(e,{r:["when"],m:["try","if","case","receive"]});case";":return f(e,{E:["case","fun","if","receive","try","when"]});case"catch":return f(e,{e:["try"]});case"of":return f(e,{e:["case"]});case"after":return f(e,{e:["receive","try"]});default:return e}}function f(e,n){for(var r in n)for(var t=e.length-1,c=n[r],o=t-1;-1<o;o--)if(u(e[o].token,c)){var l=e.slice(0,o);switch(r){case"m":return l.concat(e[o]).concat(e[t]);case"r":return l.concat(e[t]);case"i":return l;case"g":return l.concat(F("group"));case"E":return l.concat(e[o]);case"e":return l.concat(e[o])}}return r=="E"?[]:e}function K(e,n){var r,t=_.indentUnit,c=L(n),o=d(e,1),l=d(e,2);return e.in_string||e.in_atom?a.Pass:l?o.token=="when"?o.column+t:c==="when"&&l.type==="function"?l.indent+t:c==="("&&o.token==="fun"?o.column+3:c==="catch"&&(r=k(e,["try"]))?r.column:u(c,["end","after","of"])?(r=k(e,["begin","case","fun","if","receive","try"]),r?r.column:a.Pass):u(c,w)?(r=k(e,h),r?r.column:a.Pass):u(o.token,[",","|","||"])||u(c,[",","|","||"])?(r=M(e),r?r.column+r.token.length:t):o.token=="->"?u(l.token,["receive","case","if","try"])?l.column+t+t:l.column+t:u(o.token,h)?o.column+o.token.length:(r=V(e),p(r)?r.column+t:0):0}function L(e){var n=e.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);return p(n)&&n.index===0?n[0]:""}function M(e){var n=e.tokenStack.slice(0,-1),r=v(n,"type",["open_paren"]);return p(n[r])?n[r]:!1}function V(e){var n=e.tokenStack,r=v(n,"type",["open_paren","separator","keyword"]),t=v(n,"type",["operator"]);return p(r)&&p(t)&&r<t?n[r+1]:p(r)?n[r]:!1}function k(e,n){var r=e.tokenStack,t=v(r,"token",n);return p(r[t])?r[t]:!1}function v(e,n,r){for(var t=e.length-1;-1<t;t--)if(u(e[t][n],r))return t;return!1}function p(e){return e!==!1&&e!=null}return{startState:function(){return{tokenStack:[],in_string:!1,in_atom:!1}},token:function(e,n){return D(e,n)},indent:function(e,n){return K(e,n)},lineComment:"%"}})})})();var C=m.exports,ne=Object.freeze(Y({__proto__:null,[Symbol.toStringTag]:"Module",default:C},[m.exports]));export{ne as e};
1
+ import{bE as X}from"./vendor.a626ab9c.js";function Y(s,y){return y.forEach(function(a){Object.keys(a).forEach(function(_){if(_!=="default"&&!(_ in s)){var b=Object.getOwnPropertyDescriptor(a,_);Object.defineProperty(s,_,b.get?b:{enumerable:!0,get:function(){return a[_]}})}})}),Object.freeze(s)}var m={exports:{}};(function(s,y){(function(a){a(X.exports)})(function(a){a.defineMIME("text/x-erlang","erlang"),a.defineMode("erlang",function(_){var b=["-type","-spec","-export_type","-opaque"],P=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],j=/[\->,;]/,R=["->",";",","],U=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],A=/[\+\-\*\/<>=\|:!]/,O=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],Z=/[<\(\[\{]/,h=["<<","(","[","{"],q=/[>\)\]\}]/,w=["}","]",")",">>"],$=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],I=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],g=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,Q=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function D(e,n){if(n.in_string)return n.in_string=!W(e),i(n,e,"string");if(n.in_atom)return n.in_atom=!E(e),i(n,e,"atom");if(e.eatSpace())return i(n,e,"whitespace");if(!d(n)&&e.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/))return u(e.current(),b)?i(n,e,"type"):i(n,e,"attribute");var r=e.next();if(r=="%")return e.skipToEnd(),i(n,e,"comment");if(r==":")return i(n,e,"colon");if(r=="?")return e.eatSpace(),e.eatWhile(g),i(n,e,"macro");if(r=="#")return e.eatSpace(),e.eatWhile(g),i(n,e,"record");if(r=="$")return e.next()=="\\"&&!e.match(Q)?i(n,e,"error"):i(n,e,"number");if(r==".")return i(n,e,"dot");if(r=="'"){if(!(n.in_atom=!E(e))){if(e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),i(n,e,"fun");if(e.match(/\s*\(/,!1)||e.match(/\s*:/,!1))return i(n,e,"function")}return i(n,e,"atom")}if(r=='"')return n.in_string=!W(e),i(n,e,"string");if(/[A-Z_Ø-ÞÀ-Ö]/.test(r))return e.eatWhile(g),i(n,e,"variable");if(/[a-z_ß-öø-ÿ]/.test(r)){if(e.eatWhile(g),e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),i(n,e,"fun");var t=e.current();return u(t,P)?i(n,e,"keyword"):u(t,U)?i(n,e,"operator"):e.match(/\s*\(/,!1)?u(t,I)&&(d(n).token!=":"||d(n,2).token=="erlang")?i(n,e,"builtin"):u(t,$)?i(n,e,"guard"):i(n,e,"function"):N(e)==":"?t=="erlang"?i(n,e,"builtin"):i(n,e,"function"):u(t,["true","false"])?i(n,e,"boolean"):i(n,e,"atom")}var c=/[0-9]/,o=/[0-9a-zA-Z]/;return c.test(r)?(e.eatWhile(c),e.eat("#")?e.eatWhile(o)||e.backUp(1):e.eat(".")&&(e.eatWhile(c)?e.eat(/[eE]/)&&(e.eat(/[-+]/)?e.eatWhile(c)||e.backUp(2):e.eatWhile(c)||e.backUp(1)):e.backUp(1)),i(n,e,"number")):x(e,Z,h)?i(n,e,"open_paren"):x(e,q,w)?i(n,e,"close_paren"):S(e,j,R)?i(n,e,"separator"):S(e,A,O)?i(n,e,"operator"):i(n,e,null)}function x(e,n,r){if(e.current().length==1&&n.test(e.current())){for(e.backUp(1);n.test(e.peek());)if(e.next(),u(e.current(),r))return!0;e.backUp(e.current().length-1)}return!1}function S(e,n,r){if(e.current().length==1&&n.test(e.current())){for(;n.test(e.peek());)e.next();for(;0<e.current().length;){if(u(e.current(),r))return!0;e.backUp(1)}e.next()}return!1}function W(e){return z(e,'"',"\\")}function E(e){return z(e,"'","\\")}function z(e,n,r){for(;!e.eol();){var t=e.next();if(t==n)return!0;t==r&&e.next()}return!1}function N(e){var n=e.match(/^\s*([^\s%])/,!1);return n?n[1]:""}function u(e,n){return-1<n.indexOf(e)}function i(e,n,r){switch(G(e,B(r,n)),r){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":return null;case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"variable-2";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function T(e,n,r,t){return{token:e,column:n,indent:r,type:t}}function B(e,n){return T(n.current(),n.column(),n.indentation(),e)}function F(e){return T(e,0,0,e)}function d(e,n){var r=e.tokenStack.length,t=n||1;return r<t?!1:e.tokenStack[r-t]}function G(e,n){n.type=="comment"||n.type=="whitespace"||(e.tokenStack=H(e.tokenStack,n),e.tokenStack=J(e.tokenStack))}function H(e,n){var r=e.length-1;return 0<r&&e[r].type==="record"&&n.type==="dot"?e.pop():(0<r&&e[r].type==="group"&&e.pop(),e.push(n)),e}function J(e){if(!e.length)return e;var n=e.length-1;if(e[n].type==="dot")return[];if(n>1&&e[n].type==="fun"&&e[n-1].token==="fun")return e.slice(0,n-1);switch(e[n].token){case"}":return f(e,{g:["{"]});case"]":return f(e,{i:["["]});case")":return f(e,{i:["("]});case">>":return f(e,{i:["<<"]});case"end":return f(e,{i:["begin","case","fun","if","receive","try"]});case",":return f(e,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return f(e,{r:["when"],m:["try","if","case","receive"]});case";":return f(e,{E:["case","fun","if","receive","try","when"]});case"catch":return f(e,{e:["try"]});case"of":return f(e,{e:["case"]});case"after":return f(e,{e:["receive","try"]});default:return e}}function f(e,n){for(var r in n)for(var t=e.length-1,c=n[r],o=t-1;-1<o;o--)if(u(e[o].token,c)){var l=e.slice(0,o);switch(r){case"m":return l.concat(e[o]).concat(e[t]);case"r":return l.concat(e[t]);case"i":return l;case"g":return l.concat(F("group"));case"E":return l.concat(e[o]);case"e":return l.concat(e[o])}}return r=="E"?[]:e}function K(e,n){var r,t=_.indentUnit,c=L(n),o=d(e,1),l=d(e,2);return e.in_string||e.in_atom?a.Pass:l?o.token=="when"?o.column+t:c==="when"&&l.type==="function"?l.indent+t:c==="("&&o.token==="fun"?o.column+3:c==="catch"&&(r=k(e,["try"]))?r.column:u(c,["end","after","of"])?(r=k(e,["begin","case","fun","if","receive","try"]),r?r.column:a.Pass):u(c,w)?(r=k(e,h),r?r.column:a.Pass):u(o.token,[",","|","||"])||u(c,[",","|","||"])?(r=M(e),r?r.column+r.token.length:t):o.token=="->"?u(l.token,["receive","case","if","try"])?l.column+t+t:l.column+t:u(o.token,h)?o.column+o.token.length:(r=V(e),p(r)?r.column+t:0):0}function L(e){var n=e.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);return p(n)&&n.index===0?n[0]:""}function M(e){var n=e.tokenStack.slice(0,-1),r=v(n,"type",["open_paren"]);return p(n[r])?n[r]:!1}function V(e){var n=e.tokenStack,r=v(n,"type",["open_paren","separator","keyword"]),t=v(n,"type",["operator"]);return p(r)&&p(t)&&r<t?n[r+1]:p(r)?n[r]:!1}function k(e,n){var r=e.tokenStack,t=v(r,"token",n);return p(r[t])?r[t]:!1}function v(e,n,r){for(var t=e.length-1;-1<t;t--)if(u(e[t][n],r))return t;return!1}function p(e){return e!==!1&&e!=null}return{startState:function(){return{tokenStack:[],in_string:!1,in_atom:!1}},token:function(e,n){return D(e,n)},indent:function(e,n){return K(e,n)},lineComment:"%"}})})})();var C=m.exports,ne=Object.freeze(Y({__proto__:null,[Symbol.toStringTag]:"Module",default:C},[m.exports]));export{ne as e};