@directus/app 9.14.1 → 9.14.2
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.
- package/dist/assets/@directus_extensions-sdk.d2501ce1.entry.js +1 -0
- package/dist/assets/{accounts.40ab36c1.js → accounts.d4221901.js} +1 -1
- package/dist/assets/{active-line.b531d8e7.js → active-line.fa69c527.js} +1 -1
- package/dist/assets/{activity-log.9449feec.js → activity-log.0479877c.js} +1 -1
- package/dist/assets/activity.941cbf2b.js +80 -0
- package/dist/assets/{af.b15e3fdc.js → af.ffe603d7.js} +0 -0
- package/dist/assets/{apl.091e05c0.js → apl.bd1aa660.js} +1 -1
- package/dist/assets/ar-SA.52ee85f9.js +1 -0
- package/dist/assets/{ar-dz.5481d0db.js → ar-dz.923ce4b9.js} +0 -0
- package/dist/assets/{ar-kw.77cb7412.js → ar-kw.7f81a6f6.js} +0 -0
- package/dist/assets/{ar-ly.d2852686.js → ar-ly.eeb6eb8f.js} +0 -0
- package/dist/assets/{ar-ma.6b2052c4.js → ar-ma.edaad637.js} +0 -0
- package/dist/assets/{ar-sa.0ce4896b.js → ar-sa.a955cf78.js} +0 -0
- package/dist/assets/{ar-tn.0075ee1e.js → ar-tn.0bd79035.js} +0 -0
- package/dist/assets/{ar.01c8813a.js → ar.dfbee566.js} +0 -0
- package/dist/assets/{architecture.9e90b6f3.js → architecture.ddda2484.js} +1 -1
- package/dist/assets/{asciiarmor.72b1d474.js → asciiarmor.61a25d0a.js} +1 -1
- package/dist/assets/{asn.1.64b438d1.js → asn.1.f93e21f0.js} +1 -1
- package/dist/assets/{asterisk.2d23826f.js → asterisk.c2e02425.js} +1 -1
- package/dist/assets/authentication.d5cd539e.js +73 -0
- package/dist/assets/{autorefresh.65071be2.js → autorefresh.1451dfba.js} +1 -1
- package/dist/assets/{aws.6652a1fd.js → aws.65b39fe1.js} +1 -1
- package/dist/assets/{az.839e5437.js → az.ac368cbb.js} +0 -0
- package/dist/assets/{backing-directus.02c28d29.js → backing-directus.2809dd5a.js} +1 -1
- package/dist/assets/{bg.71bbc37d.js → bg.63a91564.js} +0 -0
- package/dist/assets/{bn.28eb3677.js → bn.a1d9b410.js} +0 -0
- package/dist/assets/{brainfuck.cb084ebc.js → brainfuck.c3dcf390.js} +1 -1
- package/dist/assets/{bs.b0570362.js → bs.92a16737.js} +0 -0
- package/dist/assets/{ca.d17b0b48.js → ca.31d0764d.js} +0 -0
- package/dist/assets/{cli.863ef0d2.js → cli.6ee7cfc0.js} +1 -1
- package/dist/assets/{cli.6e61515e.js → cli.fce4fcbe.js} +2 -2
- package/dist/assets/{clike.c67024f2.js → clike.7fa1545d.js} +1 -1
- package/dist/assets/{clojure.4409f83f.js → clojure.7c6780eb.js} +1 -1
- package/dist/assets/{cloudron.a348537b.js → cloudron.735aeaf5.js} +1 -1
- package/dist/assets/{cmake.2f7d66e8.js → cmake.af88bf9d.js} +1 -1
- package/dist/assets/{cobol.1d3d945c.js → cobol.6114e2a0.js} +1 -1
- package/dist/assets/codebase-overview.3de1bbdc.js +1 -0
- package/dist/assets/{coffeescript.7dbfeb38.js → coffeescript.39626c6c.js} +1 -1
- package/dist/assets/collections.11aae4a8.js +106 -0
- package/dist/assets/{collections.60e4b448.js → collections.e06a8b1f.js} +1 -1
- package/dist/assets/{commonlisp.79d346a3.js → commonlisp.117ff8ed.js} +1 -1
- package/dist/assets/{config-options.8e2d8e17.js → config-options.9b79feaf.js} +15 -15
- package/dist/assets/{content.003d7d7c.js → content.07b42fc5.js} +1 -1
- package/dist/assets/creating-extensions.054f4231.js +13 -0
- package/dist/assets/{crystal.6f97295f.js → crystal.296a2a42.js} +1 -1
- package/dist/assets/cs-CZ.5045b098.js +1 -0
- package/dist/assets/{cs.23d06f43.js → cs.021e612f.js} +0 -0
- package/dist/assets/{css.87d5fc8d.js → css.d2d076a2.js} +1 -1
- package/dist/assets/{cy.3b5a8132.js → cy.abf1b7d8.js} +0 -0
- package/dist/assets/{cypher.b46e268d.js → cypher.829617f7.js} +1 -1
- package/dist/assets/{d.0277a0cc.js → d.b589edc9.js} +1 -1
- package/dist/assets/{da.18bc0ec4.js → da.230eee14.js} +0 -0
- package/dist/assets/{dart.fd756766.js → dart.291e78bf.js} +1 -1
- package/dist/assets/{data-model.086edd1e.js → data-model.eb5f7e27.js} +1 -1
- package/dist/assets/{data-sharing.27afa5ee.js → data-sharing.8b80b0f4.js} +1 -1
- package/dist/assets/de-DE.5535b278.js +1 -0
- package/dist/assets/{de-at.a1f7dd1d.js → de-at.9a82fa84.js} +0 -0
- package/dist/assets/{de.a8c4aad1.js → de.1f4f2676.js} +0 -0
- package/dist/assets/{diff.1ed63843.js → diff.29062812.js} +1 -1
- package/dist/assets/{digitalocean-app-platform.aff2a50b.js → digitalocean-app-platform.62c81303.js} +1 -1
- package/dist/assets/{display-templates.d8e93a19.js → display-templates.2bbee0eb.js} +1 -1
- package/dist/assets/{displays.e528abde.js → displays.037994a0.js} +9 -9
- package/dist/assets/{django.afa30018.js → django.e6170171.js} +1 -1
- package/dist/assets/{docker.6f265c46.js → docker.1f4e694b.js} +1 -1
- package/dist/assets/{dockerfile.91c6378e.js → dockerfile.d4dec723.js} +1 -1
- package/dist/assets/{documentation.ad1fdaf2.js → documentation.60e724e3.js} +1 -1
- package/dist/assets/{dtd.8b391952.js → dtd.1c436e67.js} +1 -1
- package/dist/assets/{dylan.5532ec69.js → dylan.0b60e784.js} +1 -1
- package/dist/assets/{ebnf.f179e348.js → ebnf.8c391bd9.js} +1 -1
- package/dist/assets/{ecl.a37bdc2f.js → ecl.2b2e1aaf.js} +1 -1
- package/dist/assets/{eiffel.883e1bfb.js → eiffel.2f0f7a76.js} +1 -1
- package/dist/assets/el-GR.60ea8245.js +1 -0
- package/dist/assets/{el.fd48dbad.js → el.d2f58204.js} +0 -0
- package/dist/assets/{elm.c40484aa.js → elm.c663885f.js} +1 -1
- package/dist/assets/{email-templates.2bdb87a6.js → email-templates.062d08d1.js} +1 -1
- package/dist/assets/{en-au.1268cbf1.js → en-au.c1303a25.js} +0 -0
- package/dist/assets/{en-gb.0165e0db.js → en-gb.e85a2393.js} +0 -0
- package/dist/assets/{en-nz.01361cd3.js → en-nz.e8e12a64.js} +0 -0
- package/dist/assets/endpoints.b6214ea4.js +27 -0
- package/dist/assets/{eo.7ba085ab.js → eo.af51bcc8.js} +0 -0
- package/dist/assets/{erlang.60963eb0.js → erlang.c430e715.js} +1 -1
- package/dist/assets/es-419.ca94d216.js +1 -0
- package/dist/assets/es-CL.ae584c00.js +1 -0
- package/dist/assets/es-MX.059cc750.js +1 -0
- package/dist/assets/{es-us.8d0a5dcc.js → es-us.2395a850.js} +0 -0
- package/dist/assets/{es.33209895.js → es.90080285.js} +0 -0
- package/dist/assets/{et.d879b698.js → et.b4d59d2c.js} +0 -0
- package/dist/assets/{eu.bfb2c22e.js → eu.85a86bfb.js} +0 -0
- package/dist/assets/{extensions.8d3df212.js → extensions.0f9a4545.js} +1 -1
- package/dist/assets/{fa.d9f705ee.js → fa.b477e584.js} +0 -0
- package/dist/assets/{factor.6c5ee333.js → factor.5396263e.js} +1 -1
- package/dist/assets/faq.c134fb00.js +2 -0
- package/dist/assets/{fcl.8e18cfdc.js → fcl.bd7fcca2.js} +1 -1
- package/dist/assets/{fi.5a2e9662.js → fi.7a66a1a3.js} +0 -0
- package/dist/assets/fields.2c2cc037.js +135 -0
- package/dist/assets/{file-library.a4de4015.js → file-library.92f387e2.js} +1 -1
- package/dist/assets/files.1d250203.js +189 -0
- package/dist/assets/filter-rules.6cc70dd4.js +76 -0
- package/dist/assets/{filters.2cb82fd9.js → filters.0ef5a5ed.js} +1 -1
- package/dist/assets/{flows.f378a262.js → flows.03ed1b32.js} +15 -15
- package/dist/assets/flows.19c6599f.js +172 -0
- package/dist/assets/{folders.fa66a5ce.js → folders.e417fd8b.js} +33 -33
- package/dist/assets/forth.f0713a66.js +1 -0
- package/dist/assets/{fortran.ac24d46b.js → fortran.7ecc20d7.js} +1 -1
- package/dist/assets/fr-CA.6b485ca2.js +1 -0
- package/dist/assets/{fr-ca.cd8c81b9.js → fr-ca.d550f5bd.js} +0 -0
- package/dist/assets/{fr-ch.d9522a23.js → fr-ch.96feab2f.js} +0 -0
- package/dist/assets/{fr.56b3c7ac.js → fr.cc2f5568.js} +0 -0
- package/dist/assets/{gas.f99de41f.js → gas.6eb675a6.js} +1 -1
- package/dist/assets/{gcp.6c61b39e.js → gcp.293edb91.js} +1 -1
- package/dist/assets/{gfm.c3250bc4.js → gfm.5fc5d423.js} +1 -1
- package/dist/assets/{gherkin.dd3614b2.js → gherkin.ee0d5535.js} +1 -1
- package/dist/assets/{github-ci.04483301.js → github-ci.20236bca.js} +1 -1
- package/dist/assets/{gl.addde635.js → gl.1bee5350.js} +0 -0
- package/dist/assets/{glossary.6efd77ad.js → glossary.26a7ec6d.js} +1 -1
- package/dist/assets/{glossary.485603d9.js → glossary.c947165b.js} +1 -1
- package/dist/assets/go.1ec8c07d.js +1 -0
- package/dist/assets/{groovy.d1f3a61a.js → groovy.8cf425ea.js} +1 -1
- package/dist/assets/{haml.a346df44.js → haml.1cc171d6.js} +1 -1
- package/dist/assets/{handlebars.a4eff81f.js → handlebars.4cbb06ff.js} +1 -1
- package/dist/assets/{haskell-literate.57a5243e.js → haskell-literate.77348a32.js} +1 -1
- package/dist/assets/{haskell.3acf2710.js → haskell.be905e2b.js} +1 -1
- package/dist/assets/{haxe.bdf5968b.js → haxe.bb404a52.js} +1 -1
- package/dist/assets/{he.343cc1d8.js → he.6f56199f.js} +0 -0
- package/dist/assets/{hi.b7726273.js → hi.1ebe75fb.js} +0 -0
- package/dist/assets/hooks.619f1e3f.js +60 -0
- package/dist/assets/{hr.2709fc3c.js → hr.d0e09cc1.js} +0 -0
- package/dist/assets/{htmlembedded.03cf45db.js → htmlembedded.82628379.js} +1 -1
- package/dist/assets/{htmlmixed.987f61e9.js → htmlmixed.35e19eba.js} +1 -1
- package/dist/assets/{http.a4c95466.js → http.69751e33.js} +1 -1
- package/dist/assets/{hu.ec48b74d.js → hu.971007ac.js} +0 -0
- package/dist/assets/{hy-am.30c58054.js → hy-am.b000430d.js} +0 -0
- package/dist/assets/{id.08bda718.js → id.1d3fb755.js} +0 -0
- package/dist/assets/{idl.2fcbfa33.js → idl.e0b6740c.js} +1 -1
- package/dist/assets/{iis.e068f41a.js → iis.28211ce4.js} +3 -3
- package/dist/assets/{import-export.d334c127.js → import-export.34657c23.js} +1 -1
- package/dist/assets/{index.399c0d62.js → index.04367430.js} +1 -1
- package/dist/assets/{index.ef3faba8.js → index.04dc39b2.js} +1 -1
- package/dist/assets/{index.a8aa4628.js → index.08d36aec.js} +1 -1
- package/dist/assets/index.0c5f689d.js +1 -0
- package/dist/assets/{index.ee22568a.js → index.10342721.js} +1 -1
- package/dist/assets/{index.a9b73f2c.js → index.12c9997b.js} +1 -1
- package/dist/assets/{index.d653bbf2.js → index.194e7d3a.js} +1 -1
- package/dist/assets/{index.fa57ca3f.js → index.1cb735f8.js} +1 -1
- package/dist/assets/{index.2598f40b.js → index.1f7015c4.js} +1 -1
- package/dist/assets/{index.4fbaebb7.js → index.21ae1ab1.js} +1 -1
- package/dist/assets/{index.55a12dfb.js → index.2313e86e.js} +1 -1
- package/dist/assets/{index.eedadecd.js → index.253ffe45.js} +1 -1
- package/dist/assets/{index.8493b2e7.js → index.2590162c.js} +1 -1
- package/dist/assets/{index.16acfb90.js → index.26114f20.js} +1 -1
- package/dist/assets/{index.2926879f.js → index.2bdd4a58.js} +1 -1
- package/dist/assets/{index.456ff0bd.js → index.2d140ddc.js} +1 -1
- package/dist/assets/{index.10f90411.js → index.2f25c8b2.js} +1 -1
- package/dist/assets/{index.1b44d300.js → index.30caab70.js} +1 -1
- package/dist/assets/{index.93059741.js → index.333cd330.js} +1 -1
- package/dist/assets/{index.b67f8116.js → index.35594495.js} +1 -1
- package/dist/assets/{index.bce5f50d.js → index.387eb2dc.js} +1 -1
- package/dist/assets/{index.85b9f847.js → index.394d9852.js} +1 -1
- package/dist/assets/{index.7fe984e4.js → index.3980c835.js} +1 -1
- package/dist/assets/{index.d8fe2ade.js → index.3c18e01d.js} +1 -1
- package/dist/assets/index.3d147166.css +1 -0
- package/dist/assets/{index.d0fe3776.js → index.3d6e1b82.js} +1 -1
- package/dist/assets/{index.4e2109fe.js → index.42ec5578.js} +1 -1
- package/dist/assets/{index.ffc6c203.js → index.48185f5e.js} +1 -1
- package/dist/assets/{index.b5ed5076.js → index.4d6eeb14.js} +1 -1
- package/dist/assets/{index.a5d15d7f.js → index.4e9c64c5.js} +1 -1
- package/dist/assets/{index.627523d7.js → index.52f281e8.js} +1 -1
- package/dist/assets/{index.5c54c17f.js → index.5319e019.js} +1 -1
- package/dist/assets/{index.b702042e.js → index.58118d29.js} +1 -1
- package/dist/assets/{index.8a9f2874.js → index.635da0ce.js} +1 -1
- package/dist/assets/{index.77260d1d.js → index.69be7734.js} +1 -1
- package/dist/assets/{index.3d4cd218.js → index.6b2281ed.js} +1 -1
- package/dist/assets/{index.3eda79ec.js → index.6b68033b.js} +1 -1
- package/dist/assets/{index.2ec06d14.js → index.6caacd5c.js} +1 -1
- package/dist/assets/{index.7b2f54b1.js → index.6d700d45.js} +1 -1
- package/dist/assets/{index.4100d6f0.js → index.73d43dbd.js} +1 -1
- package/dist/assets/{index.7fd5e2a0.js → index.74342718.js} +1 -1
- package/dist/assets/{index.dc71b91a.js → index.767cba0b.js} +0 -0
- package/dist/assets/{index.ebb444cf.js → index.7d0d93ea.js} +1 -1
- package/dist/assets/{index.af021d8a.js → index.7fbf62c1.js} +1 -1
- package/dist/assets/{index.0e101049.js → index.83a348b7.js} +1 -1
- package/dist/assets/{index.a40592f5.js → index.83b25f0c.js} +1 -1
- package/dist/assets/{index.a3e085ea.js → index.8533e926.js} +1 -1
- package/dist/assets/{index.663b73a9.js → index.8f7e9b41.js} +1 -1
- package/dist/assets/{index.c35b11e6.js → index.91518e0b.js} +1 -1
- package/dist/assets/index.92b1a294.js +26 -0
- package/dist/assets/{index.c9fb33ab.js → index.9433a729.js} +1 -1
- package/dist/assets/{index.28aa754b.js → index.95cd1641.js} +1 -1
- package/dist/assets/{index.a9faa4e8.js → index.9ad498c7.js} +1 -1
- package/dist/assets/{index.94cf6fb4.js → index.a2f93b9e.js} +1 -1
- package/dist/assets/{index.cef58c9b.js → index.a8104962.js} +1 -1
- package/dist/assets/{index.6f0b7179.js → index.aa4487eb.js} +1 -1
- package/dist/assets/{index.56188e3b.js → index.abaf9f38.js} +1 -1
- package/dist/assets/{index.bfd23a9c.js → index.acd6a1b3.js} +1 -1
- package/dist/assets/{index.1b3cf886.js → index.ad621c47.js} +1 -1
- package/dist/assets/{index.e6715953.js → index.afa57f01.js} +1 -1
- package/dist/assets/{index.43fa9898.js → index.afc521b9.js} +1 -1
- package/dist/assets/{index.0295bc4b.js → index.b08b6d41.js} +1 -1
- package/dist/assets/{index.55d799e2.js → index.c2bf7561.js} +0 -0
- package/dist/assets/{index.1a65b37a.js → index.c33d8828.js} +1 -1
- package/dist/assets/{index.98713a56.js → index.c6325474.js} +1 -1
- package/dist/assets/{index.4ef25ded.js → index.c7c79d76.js} +1 -1
- package/dist/assets/{index.a71fa74c.js → index.c87077b2.js} +1 -1
- package/dist/assets/{index.5f5bf5b9.js → index.caf59a5f.js} +1 -1
- package/dist/assets/{index.7249f524.js → index.cbb1e45f.js} +1 -1
- package/dist/assets/index.d3abd983.js +1 -0
- package/dist/assets/{index.c6e501ec.js → index.d6ab24fc.js} +1 -1
- package/dist/assets/{index.20b34242.js → index.da01b78c.js} +1 -1
- package/dist/assets/{index.6f497914.css → index.dbec7bd8.css} +1 -1
- package/dist/assets/{index.c5266851.js → index.dd9b2ae1.js} +1 -1
- package/dist/assets/{index.402d83c0.js → index.deebe6ae.js} +1 -1
- package/dist/assets/{index.6bebaca7.js → index.df8ed86f.js} +1 -1
- package/dist/assets/{index.07257d01.js → index.e01833a4.js} +1 -1
- package/dist/assets/{index.9b60cfa4.js → index.e0c46d7a.js} +1 -1
- package/dist/assets/index.e2330f33.entry.js +3403 -0
- package/dist/assets/{index.7f906cfe.js → index.e2566961.js} +1 -1
- package/dist/assets/{index.e3dcc63c.js → index.e4bd37ab.js} +1 -1
- package/dist/assets/{index.d060d5f6.js → index.e811b103.js} +1 -1
- package/dist/assets/{index.d9285c22.js → index.ea000c09.js} +1 -1
- package/dist/assets/{index.cc6496a8.js → index.ea5cafa4.js} +1 -1
- package/dist/assets/{index.98ee194a.js → index.ec029011.js} +1 -1
- package/dist/assets/{index.c2e6211e.js → index.ede50f80.js} +1 -1
- package/dist/assets/{index.b43832c6.js → index.ee70e4bb.js} +1 -1
- package/dist/assets/{index.cda6c2d6.js → index.ef0a3f30.js} +1 -1
- package/dist/assets/{index.175a81f8.js → index.ef5e93b4.js} +1 -1
- package/dist/assets/{index.14c720ba.js → index.fcdc2b58.js} +1 -1
- package/dist/assets/{index.60d33aa1.js → index.ffd92bd2.js} +1 -1
- package/dist/assets/{input-rich-text-html.172a38cb.css → input-rich-text-html.0cdbc326.css} +1 -1
- package/dist/assets/{input-rich-text-html.75413785.js → input-rich-text-html.40c3be93.js} +33 -33
- package/dist/assets/{insights.b3ba896c.js → insights.9f2c43c6.js} +1 -1
- package/dist/assets/{installation.2025f88b.js → installation.76fec85e.js} +1 -1
- package/dist/assets/{interfaces.606c790c.js → interfaces.a65a79df.js} +8 -8
- package/dist/assets/{introduction.527c3465.js → introduction.32669a19.js} +1 -1
- package/dist/assets/{introduction.41a72fb0.js → introduction.e626ca8d.js} +1 -1
- package/dist/assets/{introduction.ecd17b88.js → introduction.e73b1c6c.js} +1 -1
- package/dist/assets/introduction.eda1c2c4.js +90 -0
- package/dist/assets/{is.b36ebc71.js → is.655c0831.js} +0 -0
- package/dist/assets/it-IT.c08c5546.js +1 -0
- package/dist/assets/{it.3cadf6ad.js → it.fca4d703.js} +0 -0
- package/dist/assets/{items.d1f658a9.js → items.ee26fa45.js} +1 -1
- package/dist/assets/items.f5cdbca8.js +136 -0
- package/dist/assets/{ja.df6f4b08.js → ja.0d51d279.js} +0 -0
- package/dist/assets/{javascript-hint.db799360.js → javascript-hint.ac25161a.js} +1 -1
- package/dist/assets/{javascript.46c46918.js → javascript.4a425e67.js} +1 -1
- package/dist/assets/{jinja2.71e29364.js → jinja2.3501ea01.js} +1 -1
- package/dist/assets/{jsonlint.e8823cb8.js → jsonlint.aae0c1e4.js} +0 -0
- package/dist/assets/{jsx.9ae3ca09.js → jsx.0b768eda.js} +1 -1
- package/dist/assets/{julia.8b46f23e.js → julia.05487698.js} +1 -1
- package/dist/assets/{ka.805bf11c.js → ka.b19061bf.js} +0 -0
- package/dist/assets/{kk.a6e57d44.js → kk.f9f646d6.js} +0 -0
- package/dist/assets/{ko.08fe68a9.js → ko.bb48e2f9.js} +0 -0
- package/dist/assets/{layouts.0aa8d645.js → layouts.e590b93d.js} +9 -9
- package/dist/assets/{layouts.14b157dc.js → layouts.fc5fee9f.js} +1 -1
- package/dist/assets/{lb.e01f5df5.js → lb.7e51ca06.js} +0 -0
- package/dist/assets/{livescript.1c767a4c.js → livescript.d80267df.js} +1 -1
- package/dist/assets/{localization.c89061c7.js → localization.998790e9.js} +1 -1
- package/dist/assets/{lt.0d291ae5.js → lt.90e26dcd.js} +0 -0
- package/dist/assets/{lua.42e69aa3.js → lua.cb506140.js} +1 -1
- package/dist/assets/{lv.00399f94.js → lv.c48afa11.js} +0 -0
- package/dist/assets/manual.363297f0.js +12 -0
- package/dist/assets/{mark-selection.16acf9dc.js → mark-selection.5fc9b3c0.js} +1 -1
- package/dist/assets/{match-highlighter.8f0791ef.js → match-highlighter.a2cc9da6.js} +1 -1
- package/dist/assets/{mathematica.6d38a8bc.js → mathematica.a00b79ed.js} +1 -1
- package/dist/assets/{mbox.04641caf.js → mbox.c0779dbf.js} +1 -1
- package/dist/assets/migrations.5af99cef.js +19 -0
- package/dist/assets/{mirc.a748cdbe.js → mirc.85bf44d0.js} +1 -1
- package/dist/assets/{mk.5d734698.js → mk.f9301845.js} +0 -0
- package/dist/assets/{mllike.78996bae.js → mllike.d68491d9.js} +1 -1
- package/dist/assets/{modelica.e521b192.js → modelica.e3e6bf94.js} +1 -1
- package/dist/assets/{modules.9b5ee510.js → modules.2403c678.js} +8 -8
- package/dist/assets/{ms.d459f765.js → ms.bea4163e.js} +0 -0
- package/dist/assets/{mscgen.4b8f9009.js → mscgen.9bdcf1c0.js} +1 -1
- package/dist/assets/{multiplex.c8ef0fcd.js → multiplex.febfca78.js} +1 -1
- package/dist/assets/{mumps.44c6f7dd.js → mumps.dfb1f9e8.js} +1 -1
- package/dist/assets/{nb.a3febc82.js → nb.2f4ab1ed.js} +0 -0
- package/dist/assets/{ne.afdfe3bf.js → ne.62693259.js} +0 -0
- package/dist/assets/{nginx.0aef90d9.js → nginx.871f7d94.js} +1 -1
- package/dist/assets/{nl.12cdd5b8.js → nl.a58ee8a1.js} +0 -0
- package/dist/assets/{nn.535723b4.js → nn.97ead2b5.js} +0 -0
- package/dist/assets/notifications.152d86b7.js +153 -0
- package/dist/assets/{nsis.21597a35.js → nsis.2b26c017.js} +1 -1
- package/dist/assets/{ntriples.a9ce3eee.js → ntriples.ccbcd275.js} +1 -1
- package/dist/assets/{octave.e4e6969c.js → octave.4f220d3d.js} +1 -1
- package/dist/assets/operations.9b3b2514.js +169 -0
- package/dist/assets/{operations.46679bea.js → operations.f00b8c11.js} +1 -1
- package/dist/assets/{overlay.725bd47b.js → overlay.e2046aae.js} +1 -1
- package/dist/assets/{overview.3616b560.js → overview.288d5f54.js} +1 -1
- package/dist/assets/{overview.6438dc44.js → overview.c3e64ee1.js} +1 -1
- package/dist/assets/{overview.3c9f8f3d.js → overview.d2dd9f17.js} +1 -1
- package/dist/assets/{oz.439981ca.js → oz.ef269d7e.js} +1 -1
- package/dist/assets/{panels.570ee526.js → panels.f1f6334b.js} +7 -7
- package/dist/assets/{pascal.e63a97cf.js → pascal.67fc5051.js} +1 -1
- package/dist/assets/{pegjs.9b76593b.js → pegjs.f8b94ba6.js} +1 -1
- package/dist/assets/{perl.e5aa6f87.js → perl.d078ddf8.js} +1 -1
- package/dist/assets/permissions.de41ff3d.js +178 -0
- package/dist/assets/{php.d553fa6c.js → php.d5a5503e.js} +1 -1
- package/dist/assets/{pig.657ad6df.js → pig.31796bf8.js} +1 -1
- package/dist/assets/{pinia.256cc3da.entry.js → pinia.b8e2dbe3.entry.js} +1 -1
- package/dist/assets/pl-PL.6e87b518.js +1 -0
- package/dist/assets/{pl.86440e6e.js → pl.0bbdb5d7.js} +0 -0
- package/dist/assets/plesk.0ef5ab4c.js +27 -0
- package/dist/assets/{powershell.d67ba3f4.js → powershell.3fced302.js} +1 -1
- package/dist/assets/{presets-bookmarks.522baf53.js → presets-bookmarks.5ef79225.js} +1 -1
- package/dist/assets/presets.db317f9f.js +164 -0
- package/dist/assets/project-settings.e940a11b.js +1 -0
- package/dist/assets/{projects.1ea6a392.js → projects.5cc2ad0c.js} +1 -1
- package/dist/assets/{properties.da88b13f.js → properties.e7afe8e8.js} +1 -1
- package/dist/assets/{protobuf.4d5afee3.js → protobuf.9c42c0f6.js} +1 -1
- package/dist/assets/pt-BR.02851ce6.js +1 -0
- package/dist/assets/{pt-PT.fae0fcc3.js → pt-PT.f5bc9b8e.js} +1 -1
- package/dist/assets/{pt-br.cc4b694f.js → pt-br.ce7dbf21.js} +0 -0
- package/dist/assets/{pt.73886c02.js → pt.0d25d212.js} +0 -0
- package/dist/assets/{pug.3f42b721.js → pug.2f69e794.js} +1 -1
- package/dist/assets/{puppet.c79d85fc.js → puppet.3ed57a22.js} +1 -1
- package/dist/assets/{python.d6ada07e.js → python.a38fec56.js} +1 -1
- package/dist/assets/{q.1a68bd88.js → q.712e23f4.js} +1 -1
- package/dist/assets/{query.8abea6de.js → query.f187b00c.js} +40 -40
- package/dist/assets/{quickstart.75164dd7.js → quickstart.62cbd1cd.js} +8 -8
- package/dist/assets/quickstart.8d5c02c2.js +20 -0
- package/dist/assets/{r.0c2eb3c2.js → r.e9fe5346.js} +1 -1
- package/dist/assets/relations.a37c187d.js +115 -0
- package/dist/assets/{relationships.cbc9b1c5.js → relationships.5cda18e3.js} +1 -1
- package/dist/assets/{resources.25cb1e34.js → resources.540de098.js} +1 -1
- package/dist/assets/revisions.e044726e.js +40 -0
- package/dist/assets/{ro.c45ba3d9.js → ro.b6bf02de.js} +0 -0
- package/dist/assets/roles.83da9d9c.js +171 -0
- package/dist/assets/{rpm.bf07aaab.js → rpm.f8b0779d.js} +1 -1
- package/dist/assets/{rst.00e6f3ec.js → rst.a8aa2b98.js} +1 -1
- package/dist/assets/ru-RU.1807a64c.js +1 -0
- package/dist/assets/{ru.638f4fa4.js → ru.ff0e24aa.js} +0 -0
- package/dist/assets/{ruby.a058e7d1.js → ruby.3a80b63e.js} +1 -1
- package/dist/assets/running-locally.31538f1b.js +27 -0
- package/dist/assets/{runtime-core.esm-bundler.b1f35d24.js → runtime-core.esm-bundler.e3d5f5b7.js} +1 -1
- package/dist/assets/{rust.f7ca883b.js → rust.fb8a8f54.js} +1 -1
- package/dist/assets/{sas.f9db0ec1.js → sas.305b1134.js} +1 -1
- package/dist/assets/{sass.6c26d08e.js → sass.628b9322.js} +1 -1
- package/dist/assets/scheme.41e287c8.js +1 -0
- package/dist/assets/sdk.297840b0.js +393 -0
- package/dist/assets/{security.1963da73.js → security.c18b2f34.js} +1 -1
- package/dist/assets/server.d8bb0f4c.js +114 -0
- package/dist/assets/settings.65d8a9b5.js +51 -0
- package/dist/assets/{settings.a02abd85.js → settings.6c879748.js} +1 -1
- package/dist/assets/{shell.b593f3c7.js → shell.a1c6a98e.js} +1 -1
- package/dist/assets/{show-hint.252396d2.js → show-hint.4e7cc694.js} +1 -1
- package/dist/assets/{sieve.b20bbc45.js → sieve.c3bdd506.js} +1 -1
- package/dist/assets/simple.671a83a0.js +1 -0
- package/dist/assets/{sk.883343ad.js → sk.ff92f7ac.js} +0 -0
- package/dist/assets/{sl.9c1d7271.js → sl.29a98aa1.js} +0 -0
- package/dist/assets/{slim.2a6f8eee.js → slim.5bbc59c4.js} +1 -1
- package/dist/assets/{smalltalk.9bee6f9b.js → smalltalk.8235f72d.js} +1 -1
- package/dist/assets/{smarty.be5c58b8.js → smarty.0f865b35.js} +1 -1
- package/dist/assets/solr.2bb7daf5.js +1 -0
- package/dist/assets/{soy.0ff77af9.js → soy.e365e851.js} +1 -1
- package/dist/assets/{sparql.9f5e3d7d.js → sparql.688ebcb1.js} +1 -1
- package/dist/assets/{spreadsheet.062b3700.js → spreadsheet.197a1dda.js} +1 -1
- package/dist/assets/{sq.94f802c2.js → sq.74e96d5e.js} +0 -0
- package/dist/assets/{sql.a5128e43.js → sql.5b110124.js} +1 -1
- package/dist/assets/{sr-cyrl.cf2bde33.js → sr-cyrl.02689042.js} +0 -0
- package/dist/assets/{sr.ae9ed7f6.js → sr.d758ce65.js} +0 -0
- package/dist/assets/{sso-examples.048b39c5.js → sso-examples.a785e77c.js} +1 -1
- package/dist/assets/{sso.70be105f.js → sso.36061e28.js} +6 -6
- package/dist/assets/{stex.0331c80e.js → stex.cd97f0ca.js} +1 -1
- package/dist/assets/{stylus.6423d65d.js → stylus.2208c6ae.js} +1 -1
- package/dist/assets/{support.fce2dba5.js → support.a149b5a4.js} +1 -1
- package/dist/assets/{sv.4d9818be.js → sv.424581fc.js} +0 -0
- package/dist/assets/{swift.979a2826.js → swift.3a00161d.js} +1 -1
- package/dist/assets/{ta-in.58b9457c.js → ta-in.266b59a6.js} +0 -0
- package/dist/assets/{tcl.fa1b798c.js → tcl.9a04881b.js} +1 -1
- package/dist/assets/{teams.44eb670e.js → teams.86e324d5.js} +1 -1
- package/dist/assets/{textile.9dbd9b93.js → textile.d25b7475.js} +1 -1
- package/dist/assets/{th.2e10ae87.js → th.503d2b5a.js} +0 -0
- package/dist/assets/{themes.e4a7762f.js → themes.3d8b2b78.js} +4 -4
- package/dist/assets/{tiddlywiki.fb030aa9.js → tiddlywiki.fd2d8138.js} +1 -1
- package/dist/assets/{tiki.2e2e82c0.js → tiki.2ed0ba56.js} +1 -1
- package/dist/assets/{toml.0c911c34.js → toml.4b14c94c.js} +1 -1
- package/dist/assets/{tornado.466faa98.js → tornado.3b85564f.js} +1 -1
- package/dist/assets/{tr.56778c02.js → tr.5f7e8301.js} +0 -0
- package/dist/assets/{translation-strings.4ed25965.js → translation-strings.2d32b80f.js} +1 -1
- package/dist/assets/{translations.cf2353ca.js → translations.9a0e8cc4.js} +1 -1
- package/dist/assets/{triggers.05092cdf.js → triggers.49fa8cca.js} +1 -1
- package/dist/assets/{troff.398ba40d.js → troff.f32690ea.js} +1 -1
- package/dist/assets/{ttcn-cfg.7c37ebe0.js → ttcn-cfg.b6e34846.js} +1 -1
- package/dist/assets/{ttcn.58e768c8.js → ttcn.07218ce0.js} +1 -1
- package/dist/assets/{turtle.2b65ee77.js → turtle.f5b50f39.js} +1 -1
- package/dist/assets/{twig.0cf35761.js → twig.555b3129.js} +1 -1
- package/dist/assets/ubuntu.bd27c73d.js +11 -0
- package/dist/assets/{ug.6363a215.js → ug.b3647d71.js} +0 -0
- package/dist/assets/{uk.5a9060bd.js → uk.d81573f6.js} +0 -0
- package/dist/assets/{upgrades-migrations.9218bbe9.js → upgrades-migrations.e91a553b.js} +1 -1
- package/dist/assets/use-sync.dc6ed73f.js +28 -0
- package/dist/assets/{user-directory.3daaa818.js → user-directory.8d94737c.js} +1 -1
- package/dist/assets/{users-roles-permissions.6e18f7ca.js → users-roles-permissions.d63af527.js} +1 -1
- package/dist/assets/users.9e656e05.js +252 -0
- package/dist/assets/utilities.4a346b3b.js +74 -0
- package/dist/assets/{uz.687d7fbd.js → uz.d1d62588.js} +0 -0
- package/dist/assets/{vb.269200a5.js → vb.82528105.js} +1 -1
- package/dist/assets/{vbscript.b9c30330.js → vbscript.f3012ea2.js} +1 -1
- package/dist/assets/{velocity.a54e5f76.js → velocity.87d27c70.js} +1 -1
- package/dist/assets/{verilog.fd6a1be7.js → verilog.b421b7be.js} +1 -1
- package/dist/assets/{vhdl.846afe81.js → vhdl.8a45e1a3.js} +1 -1
- package/dist/assets/{vi.2bf54ce7.js → vi.7af054bb.js} +0 -0
- package/dist/assets/{vue-i18n.ecb0af35.entry.js → vue-i18n.3cc3a25f.entry.js} +1 -1
- package/dist/assets/{vue-router.8987d576.entry.js → vue-router.1ad5ff1f.entry.js} +2 -2
- package/dist/assets/{vue.74e2af44.js → vue.53eaa62a.js} +1 -1
- package/dist/assets/{vue.1f4d921a.entry.js → vue.f73b7cd5.entry.js} +1 -1
- package/dist/assets/{vue.runtime.esm-bundler.ac4ff7af.js → vue.runtime.esm-bundler.ee2a778f.js} +1 -1
- package/dist/assets/{wast.38b3f34b.js → wast.e82a4b6b.js} +1 -1
- package/dist/assets/{webhooks.01ddb390.js → webhooks.235f76fb.js} +1 -1
- package/dist/assets/webhooks.256ac76b.js +147 -0
- package/dist/assets/{webidl.481665e3.js → webidl.3daa881b.js} +1 -1
- package/dist/assets/{xquery.e254ba63.js → xquery.493692d6.js} +1 -1
- package/dist/assets/{yacas.fc329640.js → yacas.19e6c7b7.js} +1 -1
- package/dist/assets/{yaml-frontmatter.84cccda6.js → yaml-frontmatter.325a0403.js} +1 -1
- package/dist/assets/{yaml.3a95e8e9.js → yaml.77f2da41.js} +1 -1
- package/dist/assets/{z80.691a0cb9.js → z80.0091ce2a.js} +1 -1
- package/dist/assets/zh-CN.5f89875e.js +1 -0
- package/dist/assets/{zh-cn.aac76920.js → zh-cn.fea96989.js} +0 -0
- package/dist/assets/{zh-tw.d89266cf.js → zh-tw.31f5361f.js} +0 -0
- package/dist/index.html +8 -8
- package/package.json +133 -119
- package/dist/assets/@directus_extensions-sdk.016f1070.entry.js +0 -1
- package/dist/assets/activity.fbd319d5.js +0 -80
- package/dist/assets/ar-SA.215069dc.js +0 -1
- package/dist/assets/authentication.bc20bce5.js +0 -73
- package/dist/assets/avatar-placeholder.446bf113.svg +0 -6
- package/dist/assets/codebase-overview.b46635f9.js +0 -1
- package/dist/assets/collections.80e4a52c.js +0 -106
- package/dist/assets/creating-extensions.9a98925a.js +0 -11
- package/dist/assets/cs-CZ.a3c83b73.js +0 -1
- package/dist/assets/de-DE.350023db.js +0 -1
- package/dist/assets/el-GR.103ebf8d.js +0 -1
- package/dist/assets/endpoints.2c9172db.js +0 -27
- package/dist/assets/es-419.10094709.js +0 -1
- package/dist/assets/es-CL.7f44ec7c.js +0 -1
- package/dist/assets/es-MX.17370b17.js +0 -1
- package/dist/assets/faq.63c79c18.js +0 -2
- package/dist/assets/fields.715d4591.js +0 -135
- package/dist/assets/files.7c2ccfe2.js +0 -189
- package/dist/assets/filter-rules.056b97be.js +0 -76
- package/dist/assets/flows.38f60cc8.js +0 -172
- package/dist/assets/forth.5d8db187.js +0 -1
- package/dist/assets/fr-CA.0e824ae4.js +0 -1
- package/dist/assets/go.18ea1afe.js +0 -1
- package/dist/assets/hooks.f7efe9af.js +0 -60
- package/dist/assets/index.02dcddad.entry.js +0 -3402
- package/dist/assets/index.087465cd.css +0 -1
- package/dist/assets/index.4254793b.js +0 -26
- package/dist/assets/index.63d1f569.js +0 -1
- package/dist/assets/introduction.5566b96e.js +0 -90
- package/dist/assets/it-IT.58422a56.js +0 -1
- package/dist/assets/items.d9c6a0b4.js +0 -136
- package/dist/assets/manual.20d730b3.js +0 -12
- package/dist/assets/migrations.f13ec64d.js +0 -19
- package/dist/assets/notifications.674ee6f9.js +0 -153
- package/dist/assets/operations.9995851b.js +0 -169
- package/dist/assets/permissions.768d1878.js +0 -178
- package/dist/assets/pl-PL.80cfbed6.js +0 -1
- package/dist/assets/plesk.b0ee9a9a.js +0 -27
- package/dist/assets/presets.d902ebfa.js +0 -164
- package/dist/assets/project-settings.1f95b799.js +0 -1
- package/dist/assets/pt-BR.40750500.js +0 -1
- package/dist/assets/quickstart.9985cb15.js +0 -20
- package/dist/assets/relations.9011b2b5.js +0 -115
- package/dist/assets/revisions.c90ecb76.js +0 -40
- package/dist/assets/roles.22f7aa37.js +0 -171
- package/dist/assets/ru-RU.35703ea4.js +0 -1
- package/dist/assets/running-locally.ce0a8200.js +0 -26
- package/dist/assets/scheme.b19aee0d.js +0 -1
- package/dist/assets/sdk.916109ed.js +0 -393
- package/dist/assets/server.afec52fc.js +0 -114
- package/dist/assets/settings.835be62f.js +0 -51
- package/dist/assets/simple.8b298831.js +0 -1
- package/dist/assets/solr.49b61be0.js +0 -1
- package/dist/assets/ubuntu.35dc97df.js +0 -11
- package/dist/assets/use-sync.c0f4dfab.js +0 -28
- package/dist/assets/users.4f11a7c5.js +0 -252
- package/dist/assets/utilities.0e0d0ace.js +0 -74
- package/dist/assets/webhooks.00ee297b.js +0 -147
- package/dist/assets/zh-CN.432cf71e.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as r,o as n,b as i,w as c,g as e,B as t}from"./runtime-core.esm-bundler.
|
|
1
|
+
import{a as r,o as n,b as i,w as c,g as e,B as t}from"./runtime-core.esm-bundler.e3d5f5b7.js";const l=e("div",{class:"markdown-body"},[e("p",null,[e("strong",null,"Directus is a wrapper for both your database and file asset storage system.")]),e("p",null,"At first glance, it may be tempting to think of Directus as an app-centric platform. But that\u2019s not the case. The app is just a GUI powered by the API, which allows developers, business users, and data analysts equal access to data and asset storage, all in one place."),e("p",null,"Here\u2019s how the platform architecture breaks down."),e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/getting-started/architecture/architecture-20220512/directus-architecture-20220512A.webp",alt:"Directus Architecture Graphic"})]),e("p",null,[t("Directus is plug-and-play. Once linked, it does\u2019t "),e("em",null,"own"),t(" your data or file assets, but it does create about 10-20 data tables needed for platform operation. These tables do not intermingle with the rest of your data, so you can remove Directus without a trace. You also have the freedom to access the database with raw SQL queries and access your file assets with CLI commands.")]),e("p",null,"At the lowest layer, the platform introspects the database and abstracts away specific SQL details- so no matter what SQL vendor you choose, the platform works seamlessly. Similarly, Directus syncs with your configured file storage service, providing control over your file assets."),e("p",null,[t("The next layer contains logic to access, transmit, query, and transform data, including event triggers, webhooks, data query operations, and file transformations "),e("em",null,"(like image cropping)"),t(". After that, data and assets get cached for efficient user access.")]),e("p",null,"Directus provides secure user access methods. Choose access token format and configure authentication as desired. You can set SSO and allow login through Google, Facebook, etc."),e("p",null,"Finally, a complete set of REST and GraphQL endpoints are generated dynamically, based on your data model as well as your configured roles and their associated access permissions."),e("p",null,[t("The Directus SDK is "),e("a",{href:"https://www.npmjs.com/package/directus",target:"_blank",rel:"noopener noreferrer"},"available via NPM."),t(" You also have access to two Command-Line Interfaces (CLI). One enables server-side actions relating to your on-prem instance, like migrating the database or resetting a user. The other allows you to interact with a Directus instance as you would with an SDK.")]),e("p",null,[t("Directus is 100% open-source, modular, and extensible, ensuring you will never hit a hard feature ceiling within the platform. Built entirely in crispy clean Typescript, mostly on Node.js and Vue.js, you have the power to add or modify "),e("em",null,"any feature"),t(" with your own custom extensions.")])],-1),m="Architecture",f=!1,w={name:"architecture",setup(u,{expose:s}){const a={title:"Architecture",modularExtension:!1};return s({frontmatter:a}),(d,h)=>{const o=r("docs-wrapper");return n(),i(o,{frontmatter:a},{default:c(()=>[l]),_:1})}}};export{w as default,f as modularExtension,m as title};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{z as p}from"./index.e2330f33.entry.js";function u(i,a){return a.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(n){if(n!=="default"&&!(n in i)){var e=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(i,n,e.get?e:{enumerable:!0,get:function(){return r[n]}})}})}),Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(i,a){(function(r){r(p.exports)})(function(r){function n(e){var t=e.match(/^\s*\S/);return e.skipToEnd(),t?"error":null}r.defineMode("asciiarmor",function(){return{token:function(e,t){var o;if(t.state=="top")return e.sol()&&(o=e.match(/^-----BEGIN (.*)?-----\s*$/))?(t.state="headers",t.type=o[1],"tag"):n(e);if(t.state=="headers"){if(e.sol()&&e.match(/^\w+:/))return t.state="header","atom";var f=n(e);return f&&(t.state="body"),f}else{if(t.state=="header")return e.skipToEnd(),t.state="headers","string";if(t.state=="body")return e.sol()&&(o=e.match(/^-----END (.*)?-----\s*$/))?o[1]!=t.type?"error":(t.state="end","tag"):e.eatWhile(/[A-Za-z0-9+\/=]/)?null:(e.next(),"error");if(t.state=="end")return n(e)}},blankLine:function(e){e.state=="headers"&&(e.state="body")},startState:function(){return{state:"top",type:null}}}}),r.defineMIME("application/pgp","asciiarmor"),r.defineMIME("application/pgp-encrypted","asciiarmor"),r.defineMIME("application/pgp-keys","asciiarmor"),r.defineMIME("application/pgp-signature","asciiarmor")})})();var s=c.exports,d=u({__proto__:null,default:s},[c.exports]);export{d as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{z as x}from"./index.e2330f33.entry.js";function v(a,f){return f.forEach(function(E){E&&typeof E!="string"&&!Array.isArray(E)&&Object.keys(E).forEach(function(i){if(i!=="default"&&!(i in a)){var I=Object.getOwnPropertyDescriptor(E,i);Object.defineProperty(a,i,I.get?I:{enumerable:!0,get:function(){return E[i]}})}})}),Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}var N={exports:{}};(function(a,f){(function(E){E(x.exports)})(function(E){E.defineMode("asn.1",function(I,o){var S=I.indentUnit,c=o.keywords||{},m=o.cmipVerbs||{},y=o.compareTypes||{},C=o.status||{},R=o.tags||{},g=o.storage||{},D=o.modifier||{},b=o.accessTypes||{},L=o.multiLineStrings,P=o.indentStatements!==!1,A=/[\|\^]/,u;function M(e,n){var t=e.next();if(t=='"'||t=="'")return n.tokenize=U(t),n.tokenize(e,n);if(/[\[\]\(\){}:=,;]/.test(t))return u=t,"punctuation";if(t=="-"&&e.eat("-"))return e.skipToEnd(),"comment";if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(A.test(t))return e.eatWhile(A),"operator";e.eatWhile(/[\w\-]/);var r=e.current();return c.propertyIsEnumerable(r)?"keyword":m.propertyIsEnumerable(r)?"variable cmipVerbs":y.propertyIsEnumerable(r)?"atom compareTypes":C.propertyIsEnumerable(r)?"comment status":R.propertyIsEnumerable(r)?"variable-3 tags":g.propertyIsEnumerable(r)?"builtin storage":D.propertyIsEnumerable(r)?"string-2 modifier":b.propertyIsEnumerable(r)?"atom accessTypes":"variable"}function U(e){return function(n,t){for(var r=!1,s,d=!1;(s=n.next())!=null;){if(s==e&&!r){var T=n.peek();T&&(T=T.toLowerCase(),(T=="b"||T=="h"||T=="o")&&n.next()),d=!0;break}r=!r&&s=="\\"}return(d||!(r||L))&&(t.tokenize=null),"string"}}function O(e,n,t,r,s){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=s}function p(e,n,t){var r=e.indented;return e.context&&e.context.type=="statement"&&(r=e.context.indented),e.context=new O(r,n,t,null,e.context)}function l(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new O((e||0)-S,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0),e.eatSpace())return null;u=null;var r=(n.tokenize||M)(e,n);if(r=="comment")return r;if(t.align==null&&(t.align=!0),(u==";"||u==":"||u==",")&&t.type=="statement")l(n);else if(u=="{")p(n,e.column(),"}");else if(u=="[")p(n,e.column(),"]");else if(u=="(")p(n,e.column(),")");else if(u=="}"){for(;t.type=="statement";)t=l(n);for(t.type=="}"&&(t=l(n));t.type=="statement";)t=l(n)}else u==t.type?l(n):P&&((t.type=="}"||t.type=="top")&&u!=";"||t.type=="statement"&&u=="newstatement")&&p(n,e.column(),"statement");return n.startOfLine=!1,r},electricChars:"{}",lineComment:"--",fold:"brace"}});function i(I){for(var o={},S=I.split(" "),c=0;c<S.length;++c)o[S[c]]=!0;return o}E.defineMIME("text/x-ttcn-asn",{name:"asn.1",keywords:i("DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS MINACCESS MAXACCESS REVISION STATUS DESCRIPTION SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY IMPLIED EXPORTS"),cmipVerbs:i("ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE"),compareTypes:i("OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL TEXTUAL-CONVENTION"),status:i("current deprecated mandatory obsolete"),tags:i("APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS UNIVERSAL"),storage:i("BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING UTCTime InterfaceIndex IANAifType CMIP-Attribute REAL PACKAGE PACKAGES IpAddress PhysAddress NetworkAddress BITS BMPString TimeStamp TimeTicks TruthValue RowStatus DisplayString GeneralString GraphicString IA5String NumericString PrintableString SnmpAdminString TeletexString UTF8String VideotexString VisibleString StringStore ISO646String T61String UniversalString Unsigned32 Integer32 Gauge Gauge32 Counter Counter32 Counter64"),modifier:i("ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS DEFINED"),accessTypes:i("not-accessible accessible-for-notify read-only read-create read-write"),multiLineStrings:!0})})})();var h=N.exports,w=v({__proto__:null,default:h},[N.exports]);export{w as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{z as m}from"./index.e2330f33.entry.js";function f(o,l){return l.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if(r!=="default"&&!(r in o)){var c=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(o,r,c.get?c:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(o,l){(function(t){t(m.exports)})(function(t){t.defineMode("asterisk",function(){var r=["exten","same","include","ignorepat","switch"],c=["#include","#exec"],u=["addqueuemember","adsiprog","aelsub","agentlogin","agentmonitoroutgoing","agi","alarmreceiver","amd","answer","authenticate","background","backgrounddetect","bridge","busy","callcompletioncancel","callcompletionrequest","celgenuserevent","changemonitor","chanisavail","channelredirect","chanspy","clearhash","confbridge","congestion","continuewhile","controlplayback","dahdiacceptr2call","dahdibarge","dahdiras","dahdiscan","dahdisendcallreroutingfacility","dahdisendkeypadfacility","datetime","dbdel","dbdeltree","deadagi","dial","dictate","directory","disa","dumpchan","eagi","echo","endwhile","exec","execif","execiftime","exitwhile","extenspy","externalivr","festival","flash","followme","forkcdr","getcpeid","gosub","gosubif","goto","gotoif","gotoiftime","hangup","iax2provision","ices","importvar","incomplete","ivrdemo","jabberjoin","jabberleave","jabbersend","jabbersendgroup","jabberstatus","jack","log","macro","macroexclusive","macroexit","macroif","mailboxexists","meetme","meetmeadmin","meetmechanneladmin","meetmecount","milliwatt","minivmaccmess","minivmdelete","minivmgreet","minivmmwi","minivmnotify","minivmrecord","mixmonitor","monitor","morsecode","mp3player","mset","musiconhold","nbscat","nocdr","noop","odbc","odbc","odbcfinish","originate","ospauth","ospfinish","osplookup","ospnext","page","park","parkandannounce","parkedcall","pausemonitor","pausequeuemember","pickup","pickupchan","playback","playtones","privacymanager","proceeding","progress","queue","queuelog","raiseexception","read","readexten","readfile","receivefax","receivefax","receivefax","record","removequeuemember","resetcdr","retrydial","return","ringing","sayalpha","saycountedadj","saycountednoun","saycountpl","saydigits","saynumber","sayphonetic","sayunixtime","senddtmf","sendfax","sendfax","sendfax","sendimage","sendtext","sendurl","set","setamaflags","setcallerpres","setmusiconhold","sipaddheader","sipdtmfmode","sipremoveheader","skel","slastation","slatrunk","sms","softhangup","speechactivategrammar","speechbackground","speechcreate","speechdeactivategrammar","speechdestroy","speechloadgrammar","speechprocessingsound","speechstart","speechunloadgrammar","stackpop","startmusiconhold","stopmixmonitor","stopmonitor","stopmusiconhold","stopplaytones","system","testclient","testserver","transfer","tryexec","trysystem","unpausemonitor","unpausequeuemember","userevent","verbose","vmauthenticate","vmsayname","voicemail","voicemailmain","wait","waitexten","waitfornoise","waitforring","waitforsilence","waitmusiconhold","waituntil","while","zapateller"];function d(e,n){var i="",a=e.next();if(n.blockComment)return a=="-"&&e.match("-;",!0)?n.blockComment=!1:e.skipTo("--;")?(e.next(),e.next(),e.next(),n.blockComment=!1):e.skipToEnd(),"comment";if(a==";")return e.match("--",!0)&&!e.match("-",!1)?(n.blockComment=!0,"comment"):(e.skipToEnd(),"comment");if(a=="[")return e.skipTo("]"),e.eat("]"),"header";if(a=='"')return e.skipTo('"'),"string";if(a=="'")return e.skipTo("'"),"string-2";if(a=="#"&&(e.eatWhile(/\w/),i=e.current(),c.indexOf(i)!==-1))return e.skipToEnd(),"strong";if(a=="$"){var p=e.peek();if(p=="{")return e.skipTo("}"),e.eat("}"),"variable-3"}if(e.eatWhile(/\w/),i=e.current(),r.indexOf(i)!==-1){switch(n.extenStart=!0,i){case"same":n.extenSame=!0;break;case"include":case"switch":case"ignorepat":n.extenInclude=!0;break}return"atom"}}return{startState:function(){return{blockComment:!1,extenStart:!1,extenSame:!1,extenInclude:!1,extenExten:!1,extenPriority:!1,extenApplication:!1}},token:function(e,n){var i="";if(e.eatSpace())return null;if(n.extenStart)return e.eatWhile(/[^\s]/),i=e.current(),/^=>?$/.test(i)?(n.extenExten=!0,n.extenStart=!1,"strong"):(n.extenStart=!1,e.skipToEnd(),"error");if(n.extenExten)return n.extenExten=!1,n.extenPriority=!0,e.eatWhile(/[^,]/),n.extenInclude&&(e.skipToEnd(),n.extenPriority=!1,n.extenInclude=!1),n.extenSame&&(n.extenPriority=!1,n.extenSame=!1,n.extenApplication=!0),"tag";if(n.extenPriority)return n.extenPriority=!1,n.extenApplication=!0,e.next(),n.extenSame?null:(e.eatWhile(/[^,]/),"number");if(n.extenApplication){if(e.eatWhile(/,/),i=e.current(),i===",")return null;if(e.eatWhile(/\w/),i=e.current().toLowerCase(),n.extenApplication=!1,u.indexOf(i)!==-1)return"def strong"}else return d(e,n);return null},blockCommentStart:";--",blockCommentEnd:"--;",lineComment:";"}}),t.defineMIME("text/x-asterisk","asterisk")})})();var x=s.exports,g=f({__proto__:null,default:x},[s.exports]);export{g as a};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import{a as o,o as h,b as c,w as t,g as s,e as a,B as e}from"./runtime-core.esm-bundler.e3d5f5b7.js";const u={class:"markdown-body"},d={class:"two-up"},p={class:"left"},_=e("All data within the platform is private by default. The "),g=e("public role"),f=e(" can be configured to expose data without authentication, or you can pass an access token to the API to access private data."),b=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#access-tokens"},"Access Tokens ")]),s("li",null,[s("a",{href:"#login"},"Login ")]),s("li",null,[s("a",{href:"#refresh"},"Refresh ")]),s("li",null,[s("a",{href:"#logout"},"Logout ")]),s("li",null,[s("a",{href:"#request-password-reset"},"Request Password Reset ")]),s("li",null,[s("a",{href:"#reset-a-password"},"Reset a Password ")]),s("li",null,[s("a",{href:"#list-auth-providers"},"List Auth Providers ")]),s("li",null,[s("a",{href:"#login-using-sso-providers"},"Login Using SSO Providers ")])])])])],-1),j=s("hr",null,null,-1),v=s("h2",{id:"access-tokens",tabindex:"-1"},[e("Access Tokens "),s("a",{class:"header-anchor",href:"#access-tokens"},"#")],-1),m=s("div",{class:"two-up"},[s("div",{class:"left"},[s("p",null,"There are two types of tokens that can be used to authenticate within Directus."),s("p",null,[s("strong",null,"Temporary Token (JWT)"),e(" are returned by the "),s("a",{href:"#login"},"login"),e(" endpoint/mutation. These tokens have a relatively short expiration time, and are thus the most secure option to use. The tokens are returned with a "),s("code",null,"refresh_token"),e(" that can be used to retrieve a new access token via the "),s("a",{href:"#refresh"},"refresh"),e(" endpoint/mutation.")]),s("p",null,[s("strong",null,"Static Tokens"),e(" can be set for each platform user, and never expire. They are less secure, but quite useful for server-to-server communication. They are saved as plain-text within "),s("code",null,"directus_users.token"),e(".")]),s("p",null,[e("Once you have your access token, there are two ways to pass it to the API, via the "),s("code",null,"access_token"),e(" query parameter, or in the request\u2019s Authorization Header.")])]),s("div",{class:"right"},[s("h3",{id:"query-parameter",tabindex:"-1"},[e("Query Parameter "),s("a",{class:"header-anchor",href:"#query-parameter"},"#")]),s("pre",null,[s("code",null,`?access_token=<token>
|
|
2
|
+
`)]),s("h3",{id:"authorization-header",tabindex:"-1"},[e("Authorization Header "),s("a",{class:"header-anchor",href:"#authorization-header"},"#")]),s("pre",null,[s("code",null,`Authorization: Bearer <token>
|
|
3
|
+
`)])])],-1),k=s("hr",null,null,-1),w=s("h2",{id:"login",tabindex:"-1"},[e("Login "),s("a",{class:"header-anchor",href:"#login"},"#")],-1),y=s("p",null,"Retrieve a temporary access token and refresh token.",-1),q={class:"two-up"},x={class:"left"},T=s("h3",{id:"request-body",tabindex:"-1"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body"},"#")],-1),P=s("div",{class:"definitions"},[s("p",null,[s("code",null,"email"),e(),s("strong",null,"Required"),s("br"),e(" Email address of the user you\u2019re retrieving the access token for.")]),s("p",null,[s("code",null,"password"),e(),s("strong",null,"Required"),s("br"),e(" Password of the user.")]),s("p",null,[s("code",null,"otp"),s("br"),e(" The user\u2019s one-time-password (if MFA is enabled).")]),s("p",null,[s("code",null,"mode"),s("br"),e(" Whether to retrieve the refresh token in the JSON response, or in a "),s("code",null,"httpOnly"),e(),s("code",null,"secure"),e(" cookie. One of "),s("code",null,"json"),e(", "),s("code",null,"cookie"),e(". Defaults to "),s("code",null,"json"),e(".")])],-1),S=s("h3",{id:"response-attributes",tabindex:"-1"},[e("Response Attributes "),s("a",{class:"header-anchor",href:"#response-attributes"},"#")],-1),R=s("div",{class:"definitions"},[s("p",null,[s("code",null,"access_token"),e(),s("strong",null,"string"),s("br"),e(" Temporary access token to be used in follow-up requests.")]),s("p",null,[s("code",null,"expires"),e(),s("strong",null,"integer"),s("br"),e(" How long before the access token will expire. Value is in milliseconds.")]),s("p",null,[s("code",null,"refresh_token"),e(),s("strong",null,"string"),s("br"),e(" The token that can be used to retrieve a new access token through "),s("a",{href:"#refresh"},[s("code",null,"/auth/refresh")]),e(". Note: if you used "),s("code",null,"cookie"),e(" as the mode in the request, the refresh token won\u2019t be returned in the JSON.")])],-1),O={class:"tip hint"},A=s("div",{class:"hint-title"},"Expiry time",-1),L=e("The token\u2019s expiration time can be configured through "),E=e("the "),B=s("code",null,"ACCESS_TOKEN_TTL",-1),N=e(" environment variable"),I=e("."),G=s("div",{class:"right"},[s("h3",{id:"rest-api",tabindex:"-1"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api"},"#")]),s("pre",null,[s("code",null,`POST /auth/login
|
|
4
|
+
`)]),s("pre",null,[s("code",null,`POST /auth/login/:provider
|
|
5
|
+
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
6
|
+
`),s("span",{class:"hljs-attr"},'"email"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"admin@example.com"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
7
|
+
`),s("span",{class:"hljs-attr"},'"password"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"d1r3ct5us"'),e(`
|
|
8
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
9
|
+
`)])]),s("h3",{id:"graphql",tabindex:"-1"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql"},"#")]),s("pre",null,[s("code",null,`POST /graphql/system
|
|
10
|
+
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
11
|
+
auth_login(email: `),s("span",{class:"hljs-string"},'"admin@example.com"'),e(", password: "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`) {
|
|
12
|
+
access_token
|
|
13
|
+
refresh_token
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`)])])],-1),C=s("hr",null,null,-1),J=s("h2",{id:"refresh",tabindex:"-1"},[e("Refresh "),s("a",{class:"header-anchor",href:"#refresh"},"#")],-1),W=s("p",null,"Retrieve a new access token using a refresh token.",-1),D=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-1",tabindex:"-1"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-1"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",null,"refresh_token"),s("br"),e(" The refresh token to use. If you have the refresh token in a cookie through "),s("a",{href:"#login"},[s("code",null,"/auth/login")]),e(", you don\u2019t have to submit it here.")]),s("p",null,[s("code",null,"mode"),s("br"),e(" Whether to retrieve the refresh token in the JSON response, or in a "),s("code",null,"httpOnly"),e(),s("code",null,"secure"),e(" cookie. One of "),s("code",null,"json"),e(", "),s("code",null,"cookie"),e(". Defaults to "),s("code",null,"json"),e(".")])]),s("h3",{id:"response-attributes-1",tabindex:"-1"},[e("Response Attributes "),s("a",{class:"header-anchor",href:"#response-attributes-1"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",null,"access_token"),e(),s("strong",null,"string"),s("br"),e(" Temporary access token to be used in follow-up requests.")]),s("p",null,[s("code",null,"expires"),e(),s("strong",null,"integer"),s("br"),e(" How long before the access token will expire. Value is in milliseconds.")]),s("p",null,[s("code",null,"refresh_token"),e(),s("strong",null,"string"),s("br"),e(" The token that can be used to retrieve a new access token through "),s("a",{href:"#refresh"},[s("code",null,"/auth/refresh")]),e(". Note: if you used "),s("code",null,"cookie"),e(" as the mode in the request, the refresh token won\u2019t be returned in the JSON.")])])]),s("div",{class:"right"},[s("h3",{id:"rest-api-1",tabindex:"-1"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-1"},"#")]),s("pre",null,[s("code",null,`POST /auth/refresh
|
|
17
|
+
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
18
|
+
`),s("span",{class:"hljs-attr"},'"refresh_token"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"gmPd...8wuB"'),e(`
|
|
19
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
20
|
+
`)])]),s("h3",{id:"graphql-1",tabindex:"-1"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-1"},"#")]),s("pre",null,[s("code",null,`POST /graphql/system
|
|
21
|
+
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
22
|
+
auth_refresh(refresh_token: `),s("span",{class:"hljs-string"},'"abc...def"'),e(", mode: "),s("span",{class:"hljs-string"},'"json"'),e(`) {
|
|
23
|
+
access_token
|
|
24
|
+
refresh_token
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
`)])])])],-1),Q=s("hr",null,null,-1),z=s("h2",{id:"logout",tabindex:"-1"},[e("Logout "),s("a",{class:"header-anchor",href:"#logout"},"#")],-1),H=s("p",null,"Invalidate the refresh token thus destroying the user\u2019s session.",-1),U=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-2",tabindex:"-1"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-2"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",null,"refresh_token"),s("br"),e(" The refresh token to invalidate. If you have the refresh token in a cookie through "),s("a",{href:"#login"},[s("code",null,"/auth/login")]),e(", you don\u2019t have to submit it here.")])])]),s("div",{class:"right"},[s("h3",{id:"rest-api-2",tabindex:"-1"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-2"},"#")]),s("pre",null,[s("code",null,`POST /auth/logout
|
|
28
|
+
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
29
|
+
`),s("span",{class:"hljs-attr"},'"refresh_token"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"gmPd...8wuB"'),e(`
|
|
30
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
31
|
+
`)])]),s("h3",{id:"graphql-2",tabindex:"-1"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-2"},"#")]),s("pre",null,[s("code",null,`POST /graphql/system
|
|
32
|
+
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
33
|
+
auth_logout(refresh_token: `),s("span",{class:"hljs-string"},'"gmPd...8wuB"'),e(`)
|
|
34
|
+
}
|
|
35
|
+
`)])])])],-1),V=s("hr",null,null,-1),K=s("h2",{id:"request-password-reset",tabindex:"-1"},[e("Request Password Reset "),s("a",{class:"header-anchor",href:"#request-password-reset"},"#")],-1),F=s("p",null,"Request a password reset email to be sent to the given user.",-1),M={class:"two-up"},Y={class:"left"},X=s("h3",{id:"request-body-3",tabindex:"-1"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-3"},"#")],-1),Z={class:"definitions"},$=s("p",null,[s("code",null,"email"),e(),s("strong",null,"Required"),s("br"),e(" Email address of the user you\u2019re requesting a password reset for.")],-1),ss=s("code",null,"reset_url",-1),es=s("br",null,null,-1),ts=e(" Provide a custom reset url which the link in the email will lead to. The reset token will be passed as a parameter."),ns=s("br",null,null,-1),as=s("strong",null,"Note",-1),ls=e(": You need to configure the "),os=s("code",null,"PASSWORD_RESET_URL_ALLOW_LIST",-1),rs=e(" environment variable"),is=e(" to enable this feature."),hs=s("div",{class:"right"},[s("h3",{id:"rest-api-3",tabindex:"-1"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-3"},"#")]),s("pre",null,[s("code",null,`POST /auth/password/request
|
|
36
|
+
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
37
|
+
`),s("span",{class:"hljs-attr"},'"email"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"admin@example.com"'),e(`
|
|
38
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
39
|
+
`)])]),s("h3",{id:"graphql-3",tabindex:"-1"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-3"},"#")]),s("pre",null,[s("code",null,`POST /graphql/system
|
|
40
|
+
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
41
|
+
auth_password_request(email: `),s("span",{class:"hljs-string"},'"admin@example.com"'),e(`)
|
|
42
|
+
}
|
|
43
|
+
`)])])],-1),cs=s("hr",null,null,-1),us=s("h2",{id:"reset-a-password",tabindex:"-1"},[e("Reset a Password "),s("a",{class:"header-anchor",href:"#reset-a-password"},"#")],-1),ds=s("p",null,"The request a password reset endpoint sends an email with a link to the admin app (or a custom route) which in turn uses this endpoint to allow the user to reset their password.",-1),ps=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-4",tabindex:"-1"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-4"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",null,"token"),e(),s("strong",null,"Required"),s("br"),e(" Password reset token, as provided in the email sent by the request endpoint.")]),s("p",null,[s("code",null,"password"),e(),s("strong",null,"Required"),s("br"),e(" New password for the user.")])])]),s("div",{class:"right"},[s("h3",{id:"rest-api-4",tabindex:"-1"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-4"},"#")]),s("pre",null,[s("code",null,`POST /auth/password/reset
|
|
44
|
+
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
45
|
+
`),s("span",{class:"hljs-attr"},'"token"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"eyJh...KmUk"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
46
|
+
`),s("span",{class:"hljs-attr"},'"password"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`
|
|
47
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
48
|
+
`)])]),s("h3",{id:"graphql-4",tabindex:"-1"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-4"},"#")]),s("pre",null,[s("code",null,`POST /graphql/system
|
|
49
|
+
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
50
|
+
auth_password_reset(token: `),s("span",{class:"hljs-string"},'"eyJh...KmUk"'),e(", password: "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`)
|
|
51
|
+
}
|
|
52
|
+
`)])])])],-1),_s=s("hr",null,null,-1),gs=s("h2",{id:"list-auth-providers",tabindex:"-1"},[e("List Auth Providers "),s("a",{class:"header-anchor",href:"#list-auth-providers"},"#")],-1),fs=s("p",null,"List all the configured auth providers.",-1),bs={class:"two-up"},js={class:"left"},vs={class:"tip hint"},ms=s("div",{class:"hint-title"},"Configuring auth providers",-1),ks=e("To learn more about setting up auth providers, see "),ws=e("Configuring auth providers"),ys=e("."),qs=s("h3",{id:"response-attributes-2",tabindex:"-1"},[e("Response Attributes "),s("a",{class:"header-anchor",href:"#response-attributes-2"},"#")],-1),xs=s("div",{class:"definitions"},[s("p",null,[s("code",null,"data"),e(),s("strong",null,"Array"),s("br"),e(" Array of configured auth providers.")]),s("p",null,[s("code",null,"disableDefault"),e(),s("strong",null,"boolean"),s("br"),e(" Whether or not the default authentication provider is disabled.")])],-1),Ts=s("div",{class:"right"},[s("pre",null,[s("code",null,`GET /auth
|
|
53
|
+
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
54
|
+
`),s("span",{class:"hljs-attr"},'"data"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-punctuation"},"["),e(`
|
|
55
|
+
`),s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
56
|
+
`),s("span",{class:"hljs-attr"},'"name"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"GitHub"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
57
|
+
`),s("span",{class:"hljs-attr"},'"driver"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"oauth2"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
58
|
+
`),s("span",{class:"hljs-attr"},'"icon"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"github"'),e(`
|
|
59
|
+
`),s("span",{class:"hljs-punctuation"},"}"),s("span",{class:"hljs-punctuation"},","),e(`
|
|
60
|
+
`),s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
61
|
+
`),s("span",{class:"hljs-attr"},'"name"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"Google"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
62
|
+
`),s("span",{class:"hljs-attr"},'"driver"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"openid"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
63
|
+
`),s("span",{class:"hljs-attr"},'"icon"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"google"'),e(`
|
|
64
|
+
`),s("span",{class:"hljs-punctuation"},"}"),s("span",{class:"hljs-punctuation"},","),e(`
|
|
65
|
+
`),s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
66
|
+
`),s("span",{class:"hljs-attr"},'"name"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"Okta"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
67
|
+
`),s("span",{class:"hljs-attr"},'"driver"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"openid"'),e(`
|
|
68
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
69
|
+
`),s("span",{class:"hljs-punctuation"},"]"),s("span",{class:"hljs-punctuation"},","),e(`
|
|
70
|
+
`),s("span",{class:"hljs-attr"},'"disableDefault"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-literal"},[s("span",{class:"hljs-keyword"},"false")]),e(`
|
|
71
|
+
`),s("span",{class:"hljs-punctuation"},"}"),e(`
|
|
72
|
+
`)])])],-1),Ps=s("hr",null,null,-1),Ss=s("h2",{id:"login-using-sso-providers",tabindex:"-1"},[e("Login Using SSO Providers "),s("a",{class:"header-anchor",href:"#login-using-sso-providers"},"#")],-1),Rs=s("p",null,"Will redirect to the configured SSO provider for the user to login.",-1),Os=s("div",{class:"two-up"},[s("div",{class:"right"},[s("pre",null,[s("code",null,`GET /auth/login/:provider
|
|
73
|
+
`)])])],-1),As=s("hr",null,null,-1),Is="Authentication",Gs=!1,Cs="page-reference",Js={name:"authentication",setup(Ls,{expose:r}){const l={title:"Authentication",modularExtension:!1,pageClass:"page-reference"};return r({frontmatter:l}),(Es,Bs)=>{const n=o("router-link"),i=o("docs-wrapper");return h(),c(i,{frontmatter:l},{default:t(()=>[s("div",u,[s("div",d,[s("div",p,[s("blockquote",null,[s("p",null,[_,a(n,{to:"/docs/configuration/users-roles-permissions/#configure-permissions"},{default:t(()=>[g]),_:1}),f])])]),b]),j,v,m,k,w,y,s("div",q,[s("div",x,[T,P,S,R,s("div",O,[A,s("p",null,[L,a(n,{to:"/docs/self-hosted/config-options/#general"},{default:t(()=>[E,B,N]),_:1}),I])])]),G]),C,J,W,D,Q,z,H,U,V,K,F,s("div",M,[s("div",Y,[X,s("div",Z,[$,s("p",null,[ss,es,ts,ns,as,ls,a(n,{to:"/docs/self-hosted/config-options/#security"},{default:t(()=>[os,rs]),_:1}),is])])]),hs]),cs,us,ds,ps,_s,gs,fs,s("div",bs,[s("div",js,[s("div",vs,[ms,s("p",null,[ks,a(n,{to:"/docs/self-hosted/config-options/#authentication"},{default:t(()=>[ws]),_:1}),ys])]),qs,xs]),Ts]),Ps,Ss,Rs,Os,As])]),_:1})}}};export{Js as default,Gs as modularExtension,Cs as pageClass,Is as title};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{z as s}from"./index.e2330f33.entry.js";function p(i,f){return f.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in i)){var u=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(i,o,u.get?u:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(i,f){(function(t){t(s.exports)})(function(t){t.defineOption("autoRefresh",!1,function(r,e){r.state.autoRefresh&&(u(r,r.state.autoRefresh),r.state.autoRefresh=null),e&&r.display.wrapper.offsetHeight==0&&o(r,r.state.autoRefresh={delay:e.delay||250})});function o(r,e){function n(){r.display.wrapper.offsetHeight?(u(r,e),r.display.lastWrapHeight!=r.display.wrapper.clientHeight&&r.refresh()):e.timeout=setTimeout(n,e.delay)}e.timeout=setTimeout(n,e.delay),e.hurry=function(){clearTimeout(e.timeout),e.timeout=setTimeout(n,50)},t.on(window,"mouseup",e.hurry),t.on(window,"keyup",e.hurry)}function u(r,e){clearTimeout(e.timeout),t.off(window,"mouseup",e.hurry),t.off(window,"keyup",e.hurry)}})})();var l=a.exports,h=p({__proto__:null,default:l},[a.exports]);export{h as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as s,o as c,b as d,w as t,g as e,e as l,B as o}from"./runtime-core.esm-bundler.
|
|
1
|
+
import{a as s,o as c,b as d,w as t,g as e,e as l,B as o}from"./runtime-core.esm-bundler.e3d5f5b7.js";const u={class:"markdown-body"},h=e("p",null,"While there are many different ways to run Directus on AWS, from single EC2 instances to a full ELB load-balanced configuration, we like the following combination of services:",-1),p=e("ul",null,[e("li",null,[o("Elastic Beanstalk (EB) "),e("ul",null,[e("li",null,"Elastic Load-Balancer (ELB)"),e("li",null,"Elastic Compute Cloud (EC2)")])]),e("li",null,"CodeDeploy"),e("li",null,"Simple Storage Service (S3)"),e("li",null,"Relational Database Service (RDS) (Aurora)"),e("li",null,"CloudFront"),e("li",null,"Route 53")],-1),f=e("h2",{id:"elastic-beanstalk",tabindex:"-1"},[o("Elastic Beanstalk "),e("a",{class:"header-anchor",href:"#elastic-beanstalk"},"#")],-1),_=e("p",null,"Will run Directus in an autoscaling environment with a load balancer. Makes sure the instances stay alive, and will replace individual instances in case of unexpected crashes.",-1),m=o("We recommend setting up a repo in GitHub (or another Git provider) and configuring it using "),b=o("our manual installation flow"),g=o(". This allows you to later hook up the repo to your Elastic Beanstalk instance through CodeDeploy."),y=e("p",null,[o("See "),e("a",{href:"https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html",target:"_blank",rel:"noopener noreferrer"},"Deploying Node.js applications to Elastic Beanstalk"),o(" for more information.")],-1),k=o("Directus\u2019 configuration is all set through environment variables. For a full overview of all available environment variables, see "),w=o("Environment Variables"),v=e("h2",{id:"codedeploy",tabindex:"-1"},[o("CodeDeploy "),e("a",{class:"header-anchor",href:"#codedeploy"},"#")],-1),S=e("p",null,"Allows you to automatically deploy updates to your Directus instance or extensions to Elastic Beanstalk.",-1),D=e("p",null,[o("See "),e("a",{href:"https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/",target:"_blank",rel:"noopener noreferrer"},"Automatically Deploy from GitHub Using AWS CodeDeploy"),o(" for more information.")],-1),C=e("h2",{id:"simple-storage-service-(s3)",tabindex:"-1"},[o("Simple Storage Service (S3) "),e("a",{class:"header-anchor",href:"#simple-storage-service-(s3)"},"#")],-1),E=e("p",null,"Ideal place to store files uploaded to Directus. Your bucket doesn\u2019t have to be publicly accessible to the web; Directus will stream files from and to the bucket in its /asset endpoint.",-1),B=e("p",null,[o("See "),e("a",{href:"https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html",target:"_blank",rel:"noopener noreferrer"},"Creating a bucket"),o(" for more information.")],-1),A=e("h2",{id:"relational-database-service-(rds)-(aurora)",tabindex:"-1"},[o("Relational Database Service (RDS) (Aurora) "),e("a",{class:"header-anchor",href:"#relational-database-service-(rds)-(aurora)"},"#")],-1),x=e("p",null,"While you can technically use any of the SQL based databases offered in AWS, we like to use Aurora. It\u2019s auto-scaling and use-based costs have worked out pretty well for us in the past.",-1),W=e("h2",{id:"cloudfront",tabindex:"-1"},[o("CloudFront "),e("a",{class:"header-anchor",href:"#cloudfront"},"#")],-1),z=e("p",null,"While it\u2019s not a technical requirement, it\u2019s not a bad idea to configure a CloudFront instance in front of your EB environment. This protects you from DDoS attacks and allows you to cache repeated calls to assets in its CDN.",-1),R=e("p",null,[o("See "),e("a",{href:"https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.cloudfront.html",target:"_blank",rel:"noopener noreferrer"},"Using Elastic Beanstalk with Amazon CloudFront"),o(" for more information.")],-1),F=e("h2",{id:"route-53",tabindex:"-1"},[o("Route 53 "),e("a",{class:"header-anchor",href:"#route-53"},"#")],-1),N=e("p",null,"The last piece of this puzzle is to assign a domain name to your CloudFront instance. You can use Route 53 for this purpose.",-1),T=e("p",null,[o("See "),e("a",{href:"https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html",target:"_blank",rel:"noopener noreferrer"},"Routing traffic to an Amazon CloudFront web distribution by using your domain name"),o(" for more information.")],-1),j="AWS",I=!1,U={name:"aws",setup(G,{expose:r}){const a={title:"AWS",modularExtension:!1};return r({frontmatter:a}),(L,V)=>{const n=s("router-link"),i=s("docs-wrapper");return c(),d(i,{frontmatter:a},{default:t(()=>[e("div",u,[h,p,f,_,e("p",null,[m,l(n,{to:"/docs/self-hosted/installation/manual"},{default:t(()=>[b]),_:1}),g]),y,e("p",null,[k,l(n,{to:"/docs/self-hosted/config-options"},{default:t(()=>[w]),_:1})]),v,S,D,C,E,B,A,x,W,z,R,F,N,T])]),_:1})}}};export{U as default,I as modularExtension,j as title};
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as i,o as u,b as c,w as o,g as e,e as r,B as t}from"./runtime-core.esm-bundler.
|
|
1
|
+
import{a as i,o as u,b as c,w as o,g as e,e as r,B as t}from"./runtime-core.esm-bundler.e3d5f5b7.js";const d={class:"markdown-body"},h=e("blockquote",null,[e("p",null,[t("Directus is both "),e("em",null,"premium"),t(" and "),e("em",null,"free"),t(" \u2014 two things that don\u2019t often go together. It takes significant resources to maintain the platform. If you\u2019d like to help keep development active, please consider supporting Directus through one of the methods below.")])],-1),p=e("h2",{id:"brand-advocacy",tabindex:"-1"},[t("Brand Advocacy "),e("a",{class:"header-anchor",href:"#brand-advocacy"},"#")],-1),_=e("p",null,[e("strong",null,"You can create perfect software, but if no one knows about it, it\u2019s all for naught. Marketing and advertising are expensive. You can help us cut these costs with the following quick options.")],-1),m=e("p",null,[e("strong",null,"GitHub Stars"),e("br"),t(" As an open-source project, stars are a primary metric by which we measure our success. It only takes a few seconds to head to the "),e("a",{href:"https://github.com/directus/directus",target:"_blank",rel:"noopener noreferrer"},"Directus GitHub Repo"),t(" and click the star. With enough activity in a short period of time, we get "),e("em",null,"even more exposure"),t(" on GitHub\u2019s trending page!")],-1),g=e("p",null,[e("strong",null,"Social Posts"),e("br"),t(" Engage with us on social media. Follow us! A quick post mentioning "),e("a",{href:"https://twitter.com/directus",target:"_blank",rel:"noopener noreferrer"},"@directus"),t(" goes a long way! "),e("em",null,"Plus, we re-tweet the team\u2019s favorite shout-outs to our 45K+ followers.")],-1),f=e("strong",null,"Testimonials",-1),b=e("br",null,null,-1),w=e("em",null,"One sentence.",-1),y=t(" Even that was a sentence and it was only two words! If you\u2019re a fan of Directus, we\u2019d love to hear why with a short endorsement\u2026 More importantly, potential new users "),k=e("em",null,"need to hear your testimonial",-1),v=t(" to see if the product is right for them! Shoot us an "),x=t("email"),C=t(", "),D=e("a",{href:"https://twitter.com/directus",target:"_blank",rel:"noopener noreferrer"},"Tweet",-1),T=t(", or "),G=e("a",{href:"https://directus.chat",target:"_blank",rel:"noopener noreferrer"},"Discord",-1),S=t(" message with your name, title, and company."),E=e("p",null,[e("strong",null,"Reviews"),e("br"),t(" The following popular rating platforms allow you to post your rating and testimonial publicly, which automatically gives it more exposure.")],-1),H=e("ul",null,[e("li",null,[e("a",{href:"https://www.g2.com/products/directus/reviews",target:"_blank",rel:"noopener noreferrer"},"G2")]),e("li",null,[e("a",{href:"https://www.capterra.com/p/156619/Directus/",target:"_blank",rel:"noopener noreferrer"},"Capterra")]),e("li",null,[e("a",{href:"https://www.trustradius.com/products/directus/reviews",target:"_blank",rel:"noopener noreferrer"},"TrustRadius")]),e("li",null,[e("a",{href:"https://www.producthunt.com/posts/directus-9",target:"_blank",rel:"noopener noreferrer"},"Product Hunt")])],-1),q=e("h2",{id:"community-engagement",tabindex:"-1"},[t("Community Engagement "),e("a",{class:"header-anchor",href:"#community-engagement"},"#")],-1),B=e("p",null,[e("strong",null,"While the Directus Core Team spearheads development, community engagement is an essential part of the Directus mission. We need your help in order to make Directus all it can be.")],-1),P=e("p",null,[e("strong",null,"GitHub Sponsors"),e("br"),t(" The core team is funded. All monthly donations via "),e("a",{href:"https://github.com/sponsors/directus",target:"_blank",rel:"noopener noreferrer"},"GitHub Sponsors"),t(" form a budget to compensate the top community contributors. Donate to sponsor more "),e("a",{href:"https://github.com/orgs/directus/people",target:"_blank",rel:"noopener noreferrer"},"community developers")],-1),R=e("p",null,[e("strong",null,"Code Pull Requests"),e("br"),t(" Squashing bugs, optimizing the codebase, increasing test coverage, and adding new features, are all extremely valuable. Obviously, you\u2019re making the platform better for yourself as well. "),e("em",null,"That\u2019s a double whammy!"),t(),e("a",{href:"https://github.com/directus",target:"_blank",rel:"noopener noreferrer"},"Go make your PR on GitHub!")],-1),j=t("Not quite a software engineer yet? We have plenty of documentation that can always use some extra attention. Learn more in our "),z=t("Contributors Guide"),W=t("."),A=e("p",null,[e("strong",null,"Bug Reporting"),e("br"),t(" If you find an issue in Directus, no matter how small, we\u2019d love to hear about it. Proper bug reporting helps our team improve platform stability. "),e("a",{href:"https://github.com/directus/directus/issues/new",target:"_blank",rel:"noopener noreferrer"},"Report a bug on GitHub")],-1),I=e("strong",null,"App Translations",-1),N=e("br",null,null,-1),F=t(" Every button, element, or other line of text in the app is "),O=t("fully translatable"),V=t(". These translations make our app an international platform. Our "),Y=e("a",{href:"https://locales.directus.io",target:"_blank",rel:"noopener noreferrer"},"Crowdin integration",-1),L=t(" makes polishing existing translations or creating new ones a breeze."),M=e("h2",{id:"financial-support",tabindex:"-1"},[t("Financial Support "),e("a",{class:"header-anchor",href:"#financial-support"},"#")],-1),K=e("p",null,[e("strong",null,"Talented full-time and part-time staff, infrastructure, and third-party services are just some of our organization\u2019s many expenses. Here are a few support avenues that help us keep the lights on.")],-1),Q=e("p",null,[e("strong",null,"Premium Support"),e("br"),e("em",null,"Software engineering is hard!"),t(" Let our Core Team help you better manage your Directus project with a dedicated Premium Support agreement so your devs can focus on your app\u2019s core business logic. "),e("a",{href:"https://directus.io/contact/",target:"_blank",rel:"noopener noreferrer"},"Contact the Team"),t(" for more info.")],-1),J=e("strong",null,"Sponsored Work",-1),U=e("br",null,null,-1),X=t("Commissioned Features"),Z=t(" and "),$=t("Expedited Fixes"),ee=t(" are great ways to financially support the development of Directus and improve the codebase for the community "),te=e("em",null,"and for your project!",-1),oe=e("strong",null,"Directus Cloud",-1),ne=e("br",null,null,-1),re=t(" Cloud architecture, software updates, and configuration optimizations require fully dedicated effort. Cut through all that digital red-tape and run your projects on "),se=t("Directus Cloud"),ie=t(". You get production-ready projects with zero vendor lock-in, 90 second average build times, incredibly fair pricing, scaling at the click of a button, automatic updates with no downtime and a constant stream of new "),ae=t("Cloud Exclusive Extensions"),le=t("."),ue=t("We do everything we can to make hosting on "),ce=t("Directus Cloud"),de=t(" a no-brainer."),he={class:"tip hint"},pe=e("div",{class:"hint-title"},"Ready to try out Cloud?",-1),_e=t("Test out Directus Cloud now for free with the "),me=t("Quickstart Guide"),ge=t("."),fe=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Enterprise Cloud"),e("p",null,[t("Need total customization, unlimited scalability, and dedicated support? "),e("a",{href:"https://directus.io/contact/",target:"_blank",rel:"noopener noreferrer"},"Contact us")])],-1),ve="Backing Directus",xe=!1,Ce={name:"backing-directus",setup(be,{expose:a}){const s={title:"Backing Directus",modularExtension:!1};return a({frontmatter:s}),(we,ye)=>{const n=i("router-link"),l=i("docs-wrapper");return u(),c(l,{frontmatter:s},{default:o(()=>[e("div",d,[h,p,_,m,g,e("p",null,[f,b,w,y,k,v,r(n,{to:"/docsmailto:info@directus.io"},{default:o(()=>[x]),_:1}),C,D,T,G,S]),E,H,q,B,P,R,e("p",null,[j,r(n,{to:"/docs/contributing/introduction"},{default:o(()=>[z]),_:1}),W]),A,e("p",null,[I,N,F,r(n,{to:"/docs/contributing/translations/"},{default:o(()=>[O]),_:1}),V,Y,L]),M,K,Q,e("p",null,[J,U,r(n,{to:"/docs/getting-started/support/#commissioned-features"},{default:o(()=>[X]),_:1}),Z,r(n,{to:"/docs/getting-started/support/#expedited-fixes"},{default:o(()=>[$]),_:1}),ee,te]),e("p",null,[oe,ne,re,r(n,{to:"/docs/cloud/overview"},{default:o(()=>[se]),_:1}),ie,r(n,{to:"/docs/cloud/glossary/#extensions"},{default:o(()=>[ae]),_:1}),le]),e("p",null,[ue,r(n,{to:"/docs/cloud/overview"},{default:o(()=>[ce]),_:1}),de]),e("div",he,[pe,e("p",null,[_e,r(n,{to:"/docs/getting-started/quickstart/"},{default:o(()=>[me]),_:1}),ge])]),fe])]),_:1})}}};export{Ce as default,xe as modularExtension,ve as title};
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{z as u}from"./index.e2330f33.entry.js";function l(i,f){return f.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(o){if(o!=="default"&&!(o in i)){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(i,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}})}),Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(i,f){(function(e){e(u.exports)})(function(e){var o="><+-.,[]".split("");e.defineMode("brainfuck",function(){return{startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(n,t){if(n.eatSpace())return null;n.sol()&&(t.commentLine=!1);var r=n.next().toString();if(o.indexOf(r)!==-1){if(t.commentLine===!0)return n.eol()&&(t.commentLine=!1),"comment";if(r==="]"||r==="[")return r==="["?t.left++:t.right++,"bracket";if(r==="+"||r==="-")return"keyword";if(r==="<"||r===">")return"atom";if(r==="."||r===",")return"def"}else return t.commentLine=!0,n.eol()&&(t.commentLine=!1),"comment";n.eol()&&(t.commentLine=!1)}}}),e.defineMIME("text/x-brainfuck","brainfuck")})})();var a=c.exports,p=l({__proto__:null,default:a},[c.exports]);export{p as b};
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as s,o as c,b as d,w as o,g as e,e as l,B as t}from"./runtime-core.esm-bundler.
|
|
1
|
+
import{a as s,o as c,b as d,w as o,g as e,e as l,B as t}from"./runtime-core.esm-bundler.e3d5f5b7.js";const u={class:"markdown-body"},h=e("h2",{id:"1.-confirm-minimum-requirements",tabindex:"-1"},[t("1. Confirm Minimum Requirements "),e("a",{class:"header-anchor",href:"#1.-confirm-minimum-requirements"},"#")],-1),p=e("p",null,[t("Directus requires two things to run: "),e("a",{href:"https://nodejs.dev",target:"_blank",rel:"noopener noreferrer"},"Node.js"),t(" and a Database. For both these system requirements, we aim to support the current LTS release (and newer).")],-1),_=e("p",null,"To run Directus, you currently need Node 12.20 or newer, and one of the following databases:",-1),m=e("table",null,[e("thead",null,[e("tr",null,[e("th",null,"Database"),e("th",null,"Version")])]),e("tbody",null,[e("tr",null,[e("td",null,"PostgreSQL"),e("td",null,"10+")]),e("tr",null,[e("td",null,[t("MySQL "),e("sup",null,"[1]")]),e("td",null,"5.7.8+ / 8+")]),e("tr",null,[e("td",null,"SQLite"),e("td",null,"3+")]),e("tr",null,[e("td",null,"MS SQL Server"),e("td",null,"13+")]),e("tr",null,[e("td",null,[t("MariaDB "),e("sup",null,"[2]")]),e("td",null,"10.2.7+")]),e("tr",null,[e("td",null,[t("CockroachDB "),e("sup",null,"[2]")]),e("td",null,"21.1.13+")]),e("tr",null,[e("td",null,[t("OracleDB"),e("sup",null,"[2]"),t(),e("sup",null,"[3]")]),e("td",null,"19+")])])],-1),f=e("sup",null,"[1]",-1),g=t(" MySQL 8+ requires [mysql_native_password](https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-compatible-connectors) to be enabled\\ "),y=e("sup",null,"[2]",-1),b=t(" Older versions may work, but aren't officially supported. Use at your own risk. \\ "),w=e("sup",null,"[3]",-1),v=t(" Make sure to install `node-oracledb` and it's system dependencies when using OracleDB "),j=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Variants"),e("p",null,[t("In addition to the databases above, other variants are also supported, including "),e("strong",null,"AWS Aurora"),t(" (MySQL), "),e("strong",null,"AWS Redshift"),t(" (PostgreSQL), "),e("strong",null,"Azure SQL"),t(" (MS SQL).")])],-1),S=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Apple Silicon"),e("p",null,[t("When installing Directus on an Apple-made ARM CPU, make sure you have "),e("code",null,"libvips"),t(" installed. See "),e("a",{href:"https://sharp.pixelplumbing.com/install#apple-m1",target:"_blank",rel:"noopener noreferrer"},"Apple M1"),t(".")])],-1),D=e("h2",{id:"2.-create-a-project",tabindex:"-1"},[t("2. Create a Project "),e("a",{class:"header-anchor",href:"#2.-create-a-project"},"#")],-1),k=e("p",null,"Navigate to the directory where you wish to create a new Directus project. The new project and directory will be created inside the current directory. Create a new Directus project by running the following npm command.",-1),x=e("pre",null,[e("code",{class:"language-bash"},`npm init directus-project my-project
|
|
2
2
|
`)],-1),L=e("div",{class:"warning hint"},[e("p",null,"Except for SQLite, the database must already be running before creating your Directus project.")],-1),C=e("h2",{id:"3.-start-your-project",tabindex:"-1"},[t("3. Start your Project "),e("a",{class:"header-anchor",href:"#3.-start-your-project"},"#")],-1),M=e("p",null,[t("To start Directus, navigate to the project directory, "),e("em",null,"my-project"),t(".")],-1),P=e("pre",null,[e("code",{class:"language-bash"},[e("span",{class:"hljs-built_in"},"cd"),t(` my-project
|
|
3
3
|
`)])],-1),Q=e("p",null,"Run the following command in your project directory.",-1),B=e("pre",null,[e("code",{class:"language-bash"},`npx directus start
|
|
4
4
|
`)],-1),q=e("h2",{id:"4.-view-your-project",tabindex:"-1"},[t("4. View your Project "),e("a",{class:"header-anchor",href:"#4.-view-your-project"},"#")],-1),A=e("p",null,[t("The default port used by Directus is 8055. To view your project locally, go to "),e("a",{href:"http://localhost:8055",target:"_blank",rel:"noopener noreferrer"},"http://localhost:8055"),t(" in your browser.")],-1),T={class:"tip hint"},I=e("div",{class:"hint-title"},"Changing Port",-1),N=t("If you want to use a different port, use "),V=t("the "),F=e("code",null,"PORT",-1),R=t(" environment variable"),U=t("."),O=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},".env Permissions"),e("p",null,[t("By default, the "),e("code",null,"create-directus-project"),t(" tool will set the file permissions of the generated "),e("code",null,".env"),t(" to "),e("code",null,"-rw-r-----"),t(" (0640). If you run Directus from a separate user on your machine, make sure these permissions are correct.")])],-1),E=e("h2",{id:"configure-%2F-update-%2F-upgrade-your-project",tabindex:"-1"},[t("Configure / Update / Upgrade your Project "),e("a",{class:"header-anchor",href:"#configure-%2F-update-%2F-upgrade-your-project"},"#")],-1),W=t("See the "),z=t("Updates & Migrations"),G=t(" to learn how to maintain your project moving forward."),Y="Installing from CLI",Z=!1,$={name:"cli",setup(H,{expose:a}){const n={title:"Installing from CLI",modularExtension:!1};return a({frontmatter:n}),(J,K)=>{const r=s("router-link"),i=s("docs-wrapper");return c(),d(i,{frontmatter:n},{default:o(()=>[e("div",u,[h,p,_,m,f,g,y,b,w,v,j,S,D,k,x,L,C,M,P,Q,B,q,A,e("div",T,[I,e("p",null,[N,l(r,{to:"/docs/self-hosted/config-options/#general"},{default:o(()=>[V,F,R]),_:1}),U])]),O,E,e("p",null,[W,l(r,{to:"/docs/self-hosted/upgrades-migrations/"},{default:o(()=>[z]),_:1}),G])])]),_:1})}}};export{$ as default,Z as modularExtension,Y as title};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{a as i,o as r,b as d,w as n,g as e,e as s,B as t}from"./runtime-core.esm-bundler.
|
|
1
|
+
import{a as i,o as r,b as d,w as n,g as e,e as s,B as t}from"./runtime-core.esm-bundler.e3d5f5b7.js";const h={class:"markdown-body"},u=e("blockquote",null,[e("p",null,"Directus has two command line interfaces (CLI) that you can use for various actions. One is used for server-side actions that relate to your on-prem instance, like migrating the database or resetting a user, while the other allows you to interact with a Directus instance as you would with an SDK.")],-1),p=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#server"},"Server ")]),e("li",null,[e("a",{href:"#client"},"Client ")])])])],-1),_=e("h2",{id:"server",tabindex:"-1"},[t("Server "),e("a",{class:"header-anchor",href:"#server"},"#")],-1),m=e("p",null,[t("For server-side CLI, all functionality can be accessed by running "),e("code",null,"npx directus <command>"),t(" in your project folder.")],-1),f=e("h3",{id:"initialize-a-new-project",tabindex:"-1"},[t("Initialize a New Project "),e("a",{class:"header-anchor",href:"#initialize-a-new-project"},"#")],-1),g=e("pre",null,[e("code",null,`npx directus init
|
|
2
2
|
`)],-1),y=e("p",null,[t("Will install the required database driver, and create a "),e("code",null,".env"),t(" file based on the inputted values.")],-1),b=e("h3",{id:"bootstrap-a-project",tabindex:"-1"},[t("Bootstrap a Project "),e("a",{class:"header-anchor",href:"#bootstrap-a-project"},"#")],-1),w=e("pre",null,[e("code",null,`npx directus bootstrap
|
|
3
3
|
`)],-1),x=e("p",null,[t("Will use an existing "),e("code",null,".env"),t(" file (or existing environment variables) to either install the database (if it\u2019s empty) or migrate it to the latest version (if it already exists and has missing migrations).")],-1),v=t("This is very useful to use in environments where you\u2019re doing standalone automatic deployments, like a multi-container Kubernetes configuration, or a similar approach on "),T=t("DigitalOcean App Platform"),k=t(", "),I=t("Google Cloud Platform"),D=t(" or "),C=t("AWS Elastic Beanstalk"),j={class:"tip hint"},L=e("div",{class:"hint-title"},"First User",-1),S=t("You can use the "),Y=e("code",null,"ADMIN_EMAIL",-1),A=t(" and "),M=e("code",null,"ADMIN_PASSWORD",-1),N=t(" environment variables to automatically provision the first user on first creation using the "),q=e("code",null,"bootstrap",-1),B=t(" command. See "),U=t("Environment Variables"),O=t(" for more information."),F=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Skip Admin User/Role"),e("p",null,[t("You can pass the "),e("code",null,"--skipAdminInit"),t(" option to "),e("code",null,"bootstrap"),t(", if you\u2019re creating your Admin role/user in another way (with a custom migration or an external service, for example).")])],-1),E=e("h3",{id:"install-the-database",tabindex:"-1"},[t("Install the Database "),e("a",{class:"header-anchor",href:"#install-the-database"},"#")],-1),P=e("pre",null,[e("code",null,`npx directus database install
|
|
4
4
|
`)],-1),W=e("p",null,[t("Installs the initial Directus system tables on an empty database. Used internally by "),e("code",null,"bootstrap"),t(".")],-1),z=e("p",null,[t("It should be used only in specific cases, e.g. when you want to run something between "),e("code",null,"install"),t(" and "),e("code",null,"migrate"),t(". You probably should call "),e("code",null,"directus database migrate:latest"),t(" afterwards manually.")],-1),V=e("p",null,[t("You may want to use "),e("code",null,"directus bootstrap"),t(" instead.")],-1),J=e("h3",{id:"upgrade-the-database",tabindex:"-1"},[t("Upgrade the Database "),e("a",{class:"header-anchor",href:"#upgrade-the-database"},"#")],-1),R=e("pre",null,[e("code",null,`npx directus database migrate:latest
|
|
5
5
|
npx directus database migrate:up
|
|
6
6
|
npx directus database migrate:down
|
|
7
|
-
`)],-1),K=e("p",null,[t("Migrate the database up/down to match the versions of Directus. Once you update Directus itself, make sure to run "),e("code",null,"npx directus database migrate:latest"),t(" (or "),e("code",null,"npx directus bootstrap"),t(") to update your database.")],-1),$=e("h3",{id:"migrate-schema-to-a-different-environment",tabindex:"-1"},[t("Migrate Schema to a different Environment "),e("a",{class:"header-anchor",href:"#migrate-schema-to-a-different-environment"},"#")],-1),G=e("p",null,"To move your configured data model between Directus instances, you can use the schema \u201Csnapshot\u201D and \u201Capply\u201D commands.",-1),H=e("h4",{id:"snapshot-the-data-model",tabindex:"-1"},[t("Snapshot the Data Model "),e("a",{class:"header-anchor",href:"#snapshot-the-data-model"},"#")],-1),Q=e("p",null,"Directus can automatically generate a snapshot of your current data model in YAML or JSON format. This includes all collections, fields, and relations, and their configuration. This snapshot can be checked in version control and shared with your team. To generate the snapshot, run",-1),X=e("pre",null,[e("code",null,`npx directus schema snapshot ./snapshot.yaml
|
|
7
|
+
`)],-1),K=e("p",null,[t("Migrate the database up/down to match the versions of Directus. Once you update Directus itself, make sure to run "),e("code",null,"npx directus database migrate:latest"),t(" (or "),e("code",null,"npx directus bootstrap"),t(") to update your database.")],-1),$=e("h3",{id:"migrate-schema-to-a-different-environment",tabindex:"-1"},[t("Migrate Schema to a different Environment "),e("a",{class:"header-anchor",href:"#migrate-schema-to-a-different-environment"},"#")],-1),G=e("p",null,"This allows you to do things like migrate a schema from development to production. To move your configured data model between Directus instances, you can use the schema \u201Csnapshot\u201D and \u201Capply\u201D commands.",-1),H=e("h4",{id:"snapshot-the-data-model",tabindex:"-1"},[t("Snapshot the Data Model "),e("a",{class:"header-anchor",href:"#snapshot-the-data-model"},"#")],-1),Q=e("p",null,"Directus can automatically generate a snapshot of your current data model in YAML or JSON format. This includes all collections, fields, and relations, and their configuration. This snapshot can be checked in version control and shared with your team. To generate the snapshot, run",-1),X=e("pre",null,[e("code",null,`npx directus schema snapshot ./snapshot.yaml
|
|
8
8
|
`)],-1),Z=e("p",null,"To run non-interactively (e.g. when running in a CI/CD workflow), run",-1),ee=e("pre",null,[e("code",null,`npx directus schema snapshot --yes ./snapshot.yaml
|
|
9
9
|
`)],-1),te=e("p",null,"Note, that this will force overwrite existing snapshot files.",-1),ne=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Date-based snapshots"),e("p",null,[t("To keep multiple snapshot organized by date, create a folder "),e("code",null,"snapshots"),t(" in your project root directory add the following custom script to your "),e("code",null,"package.json"),t(":")]),e("pre",null,[e("code",null,`"create-snapshot": "npx directus schema snapshot ./snapshots/\\"$(date \\"+%F\\")\\"-snapshot-\\"$(date \\"+%s\\")\\".yaml"
|
|
10
10
|
`)]),e("p",null,[t("When you run the command via "),e("code",null,"npm run create-snapshot"),t(" it will create a new snapshot with the following naming schema: "),e("code",null,"[YYYY-MM-DD]-snapshot-[timestamp].yaml"),t(". This command can be run e.g by your deployment pipeline before each deploy on your server to keep a schema backup.")])],-1),oe=e("h4",{id:"applying-a-snapshot",tabindex:"-1"},[t("Applying a Snapshot "),e("a",{class:"header-anchor",href:"#applying-a-snapshot"},"#")],-1),se=e("p",null,"To make a different instance up to date with the latest changes in your data model, you can apply the snapshot. By applying the snapshot, Directus will auto-detect the changes required to make the current instance up to date with the proposed data model in the snapshot file, and will run the required migrations to the database to make it match the snapshot.",-1),ae=e("p",null,"To apply the generated snapshot, run",-1),ie=e("pre",null,[e("code",null,`npx directus schema apply ./path/to/snapshot.yaml
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as me}from"./index.02dcddad.entry.js";function ge(N,O){return O.forEach(function(h){h&&typeof h!="string"&&!Array.isArray(h)&&Object.keys(h).forEach(function(m){if(m!=="default"&&!(m in N)){var w=Object.getOwnPropertyDescriptor(h,m);Object.defineProperty(N,m,w.get?w:{enumerable:!0,get:function(){return h[m]}})}})}),Object.freeze(Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}))}var ee={exports:{}};(function(N,O){(function(h){h(me.exports)})(function(h){function m(e,t,n,l,u,d){this.indented=e,this.column=t,this.type=n,this.info=l,this.align=u,this.prev=d}function w(e,t,n,l){var u=e.indented;return e.context&&e.context.type=="statement"&&n!="statement"&&(u=e.context.indented),e.context=new m(u,t,n,l,null,e.context)}function v(e){var t=e.context.type;return(t==")"||t=="]"||t=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}function R(e,t,n){if(t.prevToken=="variable"||t.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||t.typeAtEndOfLine&&e.column()==e.indentation())return!0}function F(e){for(;;){if(!e||e.type=="top")return!0;if(e.type=="}"&&e.prev.info!="namespace")return!1;e=e.prev}}h.defineMode("clike",function(e,t){var n=e.indentUnit,l=t.statementIndentUnit||n,u=t.dontAlignCalls,d=t.keywords||{},C=t.types||{},oe=t.builtin||{},W=t.blockKeywords||{},ae=t.defKeywords||{},le=t.atoms||{},x=t.hooks||{},ce=t.multiLineStrings,se=t.indentStatements!==!1,ue=t.indentSwitch!==!1,G=t.namespaceSeparator,fe=t.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,de=t.numberStart||/[\d\.]/,pe=t.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,H=t.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=t.isIdentifierChar||/[\w\$_\xa1-\uffff]/,X=t.isReservedIdentifier||!1,p,z;function Y(o,a){var i=o.next();if(x[i]){var c=x[i](o,a);if(c!==!1)return c}if(i=='"'||i=="'")return a.tokenize=he(i),a.tokenize(o,a);if(de.test(i)){if(o.backUp(1),o.match(pe))return"number";o.next()}if(fe.test(i))return p=i,null;if(i=="/"){if(o.eat("*"))return a.tokenize=Z,Z(o,a);if(o.eat("/"))return o.skipToEnd(),"comment"}if(H.test(i)){for(;!o.match(/^\/[\/*]/,!1)&&o.eat(H););return"operator"}if(o.eatWhile(Q),G)for(;o.match(G);)o.eatWhile(Q);var f=o.current();return g(d,f)?(g(W,f)&&(p="newstatement"),g(ae,f)&&(z=!0),"keyword"):g(C,f)?"type":g(oe,f)||X&&X(f)?(g(W,f)&&(p="newstatement"),"builtin"):g(le,f)?"atom":"variable"}function he(o){return function(a,i){for(var c=!1,f,I=!1;(f=a.next())!=null;){if(f==o&&!c){I=!0;break}c=!c&&f=="\\"}return(I||!(c||ce))&&(i.tokenize=null),"string"}}function Z(o,a){for(var i=!1,c;c=o.next();){if(c=="/"&&i){a.tokenize=null;break}i=c=="*"}return"comment"}function J(o,a){t.typeFirstDefinitions&&o.eol()&&F(a.context)&&(a.typeAtEndOfLine=R(o,a,o.pos))}return{startState:function(o){return{tokenize:null,context:new m((o||0)-n,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(o,a){var i=a.context;if(o.sol()&&(i.align==null&&(i.align=!1),a.indented=o.indentation(),a.startOfLine=!0),o.eatSpace())return J(o,a),null;p=z=null;var c=(a.tokenize||Y)(o,a);if(c=="comment"||c=="meta")return c;if(i.align==null&&(i.align=!0),p==";"||p==":"||p==","&&o.match(/^\s*(?:\/\/.*)?$/,!1))for(;a.context.type=="statement";)v(a);else if(p=="{")w(a,o.column(),"}");else if(p=="[")w(a,o.column(),"]");else if(p=="(")w(a,o.column(),")");else if(p=="}"){for(;i.type=="statement";)i=v(a);for(i.type=="}"&&(i=v(a));i.type=="statement";)i=v(a)}else p==i.type?v(a):se&&((i.type=="}"||i.type=="top")&&p!=";"||i.type=="statement"&&p=="newstatement")&&w(a,o.column(),"statement",o.current());if(c=="variable"&&(a.prevToken=="def"||t.typeFirstDefinitions&&R(o,a,o.start)&&F(a.context)&&o.match(/^\s*\(/,!1))&&(c="def"),x.token){var f=x.token(o,a,c);f!==void 0&&(c=f)}return c=="def"&&t.styleDefs===!1&&(c="variable"),a.startOfLine=!1,a.prevToken=z?"def":c||p,J(o,a),c},indent:function(o,a){if(o.tokenize!=Y&&o.tokenize!=null||o.typeAtEndOfLine)return h.Pass;var i=o.context,c=a&&a.charAt(0),f=c==i.type;if(i.type=="statement"&&c=="}"&&(i=i.prev),t.dontIndentStatements)for(;i.type=="statement"&&t.dontIndentStatements.test(i.info);)i=i.prev;if(x.indent){var I=x.indent(o,i,a,n);if(typeof I=="number")return I}var ye=i.prev&&i.prev.info=="switch";if(t.allmanIndentation&&/[{(]/.test(c)){for(;i.type!="top"&&i.type!="}";)i=i.prev;return i.indented}return i.type=="statement"?i.indented+(c=="{"?0:l):i.align&&(!u||i.type!=")")?i.column+(f?0:1):i.type==")"&&!f?i.indented+l:i.indented+(f?0:n)+(!f&&ye&&!/^(?:case|default)\b/.test(a)?n:0)},electricInput:ue?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function r(e){for(var t={},n=e.split(" "),l=0;l<n.length;++l)t[n[l]]=!0;return t}function g(e,t){return typeof e=="function"?e(t):e.propertyIsEnumerable(t)}var _="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",j="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",U="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",B="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",te=r("int long char short double float unsigned signed void bool"),ne=r("SEL instancetype id Class Protocol BOOL");function S(e){return g(te,e)||/.+_t$/.test(e)}function A(e){return S(e)||g(ne,e)}var T="case do else for if switch while struct enum union",L="struct enum union";function k(e,t){if(!t.startOfLine)return!1;for(var n,l=null;n=e.peek();){if(n=="\\"&&e.match(/^.$/)){l=k;break}else if(n=="/"&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=l,"meta"}function D(e,t){return t.prevToken=="type"?"type":!1}function P(e){return!e||e.length<2||e[0]!="_"?!1:e[1]=="_"||e[1]!==e[1].toLowerCase()}function s(e){return e.eatWhile(/[\w\.']/),"number"}function b(e,t){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var n=e.match(/^"([^\s\\()]{0,16})\(/);return n?(t.cpp11RawStringDelim=n[1],t.tokenize=q,q(e,t)):!1}return e.match(/^(?:u8|u|U|L)/)?e.match(/^["']/,!1)?"string":!1:(e.next(),!1)}function K(e){var t=/(\w+)::~?(\w+)$/.exec(e);return t&&t[1]==t[2]}function $(e,t){for(var n;(n=e.next())!=null;)if(n=='"'&&!e.eat('"')){t.tokenize=null;break}return"string"}function q(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),l=e.match(new RegExp(".*?\\)"+n+'"'));return l?t.tokenize=null:e.skipToEnd(),"string"}function y(e,t){typeof e=="string"&&(e=[e]);var n=[];function l(d){if(d)for(var C in d)d.hasOwnProperty(C)&&n.push(C)}l(t.keywords),l(t.types),l(t.builtin),l(t.atoms),n.length&&(t.helperType=e[0],h.registerHelper("hintWords",e[0],n));for(var u=0;u<e.length;++u)h.defineMIME(e[u],t)}y(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:r(_),types:S,blockKeywords:r(T),defKeywords:r(L),typeFirstDefinitions:!0,atoms:r("NULL true false"),isReservedIdentifier:P,hooks:{"#":k,"*":D},modeProps:{fold:["brace","include"]}}),y(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:r(_+" "+j),types:S,blockKeywords:r(T+" class try catch"),defKeywords:r(L+" class namespace"),typeFirstDefinitions:!0,atoms:r("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:P,hooks:{"#":k,"*":D,u:b,U:b,L:b,R:b,0:s,1:s,2:s,3:s,4:s,5:s,6:s,7:s,8:s,9:s,token:function(e,t,n){if(n=="variable"&&e.peek()=="("&&(t.prevToken==";"||t.prevToken==null||t.prevToken=="}")&&K(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),y("text/x-java",{name:"clike",keywords:r("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:r("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:r("catch class do else finally for if switch try while"),defKeywords:r("class interface enum @interface"),typeFirstDefinitions:!0,atoms:r("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(e){return e.match("interface",!1)?!1:(e.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),y("text/x-csharp",{name:"clike",keywords:r("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:r("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:r("catch class do else finally for foreach if struct switch try while"),defKeywords:r("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:r("true false null"),hooks:{"@":function(e,t){return e.eat('"')?(t.tokenize=$,$(e,t)):(e.eatWhile(/[\w\$_]/),"meta")}}});function re(e,t){for(var n=!1;!e.eol();){if(!n&&e.match('"""')){t.tokenize=null;break}n=e.next()=="\\"&&!n}return"string"}function E(e){return function(t,n){for(var l;l=t.next();)if(l=="*"&&t.eat("/"))if(e==1){n.tokenize=null;break}else return n.tokenize=E(e-1),n.tokenize(t,n);else if(l=="/"&&t.eat("*"))return n.tokenize=E(e+1),n.tokenize(t,n);return"comment"}}y("text/x-scala",{name:"clike",keywords:r("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:r("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:r("catch class enum do else finally for forSome if match switch try while"),defKeywords:r("class enum def object package trait type val var"),atoms:r("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return e.match('""')?(t.tokenize=re,t.tokenize(e,t)):!1},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(e,t){var n=t.context;return n.type=="}"&&n.align&&e.eat(">")?(t.context=new m(n.indented,n.column,n.type,n.info,null,n.prev),"operator"):!1},"/":function(e,t){return e.eat("*")?(t.tokenize=E(1),t.tokenize(e,t)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function ie(e){return function(t,n){for(var l=!1,u,d=!1;!t.eol();){if(!e&&!l&&t.match('"')){d=!0;break}if(e&&t.match('"""')){d=!0;break}u=t.next(),!l&&u=="$"&&t.match("{")&&t.skipTo("}"),l=!l&&u=="\\"&&!e}return(d||!e)&&(n.tokenize=null),"string"}}y("text/x-kotlin",{name:"clike",keywords:r("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:r("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:r("catch class do else finally for if where try while enum"),defKeywords:r("class val var object interface fun"),atoms:r("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return t.prevToken=="."?"variable":"operator"},'"':function(e,t){return t.tokenize=ie(e.match('""')),t.tokenize(e,t)},"/":function(e,t){return e.eat("*")?(t.tokenize=E(1),t.tokenize(e,t)):!1},indent:function(e,t,n,l){var u=n&&n.charAt(0);if((e.prevToken=="}"||e.prevToken==")")&&n=="")return e.indented;if(e.prevToken=="operator"&&n!="}"&&e.context.type!="}"||e.prevToken=="variable"&&u=="."||(e.prevToken=="}"||e.prevToken==")")&&u==".")return l*2+t.indented;if(t.align&&t.type=="}")return t.indented+(e.context.type==(n||"").charAt(0)?0:l)}},modeProps:{closeBrackets:{triples:'"'}}}),y(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:r("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:r("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:r("for while do if else struct"),builtin:r("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:r("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":k},modeProps:{fold:["brace","include"]}}),y("text/x-nesc",{name:"clike",keywords:r(_+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:S,blockKeywords:r(T),atoms:r("null true false"),hooks:{"#":k},modeProps:{fold:["brace","include"]}}),y("text/x-objectivec",{name:"clike",keywords:r(_+" "+U),types:A,builtin:r(B),blockKeywords:r(T+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:r(L+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:r("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:P,hooks:{"#":k,"*":D},modeProps:{fold:["brace","include"]}}),y("text/x-objectivec++",{name:"clike",keywords:r(_+" "+U+" "+j),types:A,builtin:r(B),blockKeywords:r(T+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:r(L+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:r("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:P,hooks:{"#":k,"*":D,u:b,U:b,L:b,R:b,0:s,1:s,2:s,3:s,4:s,5:s,6:s,7:s,8:s,9:s,token:function(e,t,n){if(n=="variable"&&e.peek()=="("&&(t.prevToken==";"||t.prevToken==null||t.prevToken=="}")&&K(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),y("text/x-squirrel",{name:"clike",keywords:r("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:S,blockKeywords:r("case catch class else for foreach if switch try while"),defKeywords:r("function local class"),typeFirstDefinitions:!0,atoms:r("true false null"),hooks:{"#":k},modeProps:{fold:["brace","include"]}});var M=null;function V(e){return function(t,n){for(var l=!1,u,d=!1;!t.eol();){if(!l&&t.match('"')&&(e=="single"||t.match('""'))){d=!0;break}if(!l&&t.match("``")){M=V(e),d=!0;break}u=t.next(),l=e=="single"&&!l&&u=="\\"}return d&&(n.tokenize=null),"string"}}y("text/x-ceylon",{name:"clike",keywords:r("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()},blockKeywords:r("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:r("class dynamic function interface module object package value"),builtin:r("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:r("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=V(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!M||!e.match("`")?!1:(t.tokenize=M,M=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,n){if((n=="variable"||n=="type")&&t.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})();var ke=ee.exports,we=ge({__proto__:null,default:ke},[ee.exports]);export{ee as a,we as c};
|
|
1
|
+
import{z as me}from"./index.e2330f33.entry.js";function ge(N,O){return O.forEach(function(h){h&&typeof h!="string"&&!Array.isArray(h)&&Object.keys(h).forEach(function(m){if(m!=="default"&&!(m in N)){var w=Object.getOwnPropertyDescriptor(h,m);Object.defineProperty(N,m,w.get?w:{enumerable:!0,get:function(){return h[m]}})}})}),Object.freeze(Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}))}var ee={exports:{}};(function(N,O){(function(h){h(me.exports)})(function(h){function m(e,t,n,l,u,d){this.indented=e,this.column=t,this.type=n,this.info=l,this.align=u,this.prev=d}function w(e,t,n,l){var u=e.indented;return e.context&&e.context.type=="statement"&&n!="statement"&&(u=e.context.indented),e.context=new m(u,t,n,l,null,e.context)}function v(e){var t=e.context.type;return(t==")"||t=="]"||t=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}function R(e,t,n){if(t.prevToken=="variable"||t.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||t.typeAtEndOfLine&&e.column()==e.indentation())return!0}function F(e){for(;;){if(!e||e.type=="top")return!0;if(e.type=="}"&&e.prev.info!="namespace")return!1;e=e.prev}}h.defineMode("clike",function(e,t){var n=e.indentUnit,l=t.statementIndentUnit||n,u=t.dontAlignCalls,d=t.keywords||{},C=t.types||{},oe=t.builtin||{},W=t.blockKeywords||{},ae=t.defKeywords||{},le=t.atoms||{},x=t.hooks||{},ce=t.multiLineStrings,se=t.indentStatements!==!1,ue=t.indentSwitch!==!1,G=t.namespaceSeparator,fe=t.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,de=t.numberStart||/[\d\.]/,pe=t.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,H=t.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=t.isIdentifierChar||/[\w\$_\xa1-\uffff]/,X=t.isReservedIdentifier||!1,p,z;function Y(o,a){var i=o.next();if(x[i]){var c=x[i](o,a);if(c!==!1)return c}if(i=='"'||i=="'")return a.tokenize=he(i),a.tokenize(o,a);if(de.test(i)){if(o.backUp(1),o.match(pe))return"number";o.next()}if(fe.test(i))return p=i,null;if(i=="/"){if(o.eat("*"))return a.tokenize=Z,Z(o,a);if(o.eat("/"))return o.skipToEnd(),"comment"}if(H.test(i)){for(;!o.match(/^\/[\/*]/,!1)&&o.eat(H););return"operator"}if(o.eatWhile(Q),G)for(;o.match(G);)o.eatWhile(Q);var f=o.current();return g(d,f)?(g(W,f)&&(p="newstatement"),g(ae,f)&&(z=!0),"keyword"):g(C,f)?"type":g(oe,f)||X&&X(f)?(g(W,f)&&(p="newstatement"),"builtin"):g(le,f)?"atom":"variable"}function he(o){return function(a,i){for(var c=!1,f,I=!1;(f=a.next())!=null;){if(f==o&&!c){I=!0;break}c=!c&&f=="\\"}return(I||!(c||ce))&&(i.tokenize=null),"string"}}function Z(o,a){for(var i=!1,c;c=o.next();){if(c=="/"&&i){a.tokenize=null;break}i=c=="*"}return"comment"}function J(o,a){t.typeFirstDefinitions&&o.eol()&&F(a.context)&&(a.typeAtEndOfLine=R(o,a,o.pos))}return{startState:function(o){return{tokenize:null,context:new m((o||0)-n,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(o,a){var i=a.context;if(o.sol()&&(i.align==null&&(i.align=!1),a.indented=o.indentation(),a.startOfLine=!0),o.eatSpace())return J(o,a),null;p=z=null;var c=(a.tokenize||Y)(o,a);if(c=="comment"||c=="meta")return c;if(i.align==null&&(i.align=!0),p==";"||p==":"||p==","&&o.match(/^\s*(?:\/\/.*)?$/,!1))for(;a.context.type=="statement";)v(a);else if(p=="{")w(a,o.column(),"}");else if(p=="[")w(a,o.column(),"]");else if(p=="(")w(a,o.column(),")");else if(p=="}"){for(;i.type=="statement";)i=v(a);for(i.type=="}"&&(i=v(a));i.type=="statement";)i=v(a)}else p==i.type?v(a):se&&((i.type=="}"||i.type=="top")&&p!=";"||i.type=="statement"&&p=="newstatement")&&w(a,o.column(),"statement",o.current());if(c=="variable"&&(a.prevToken=="def"||t.typeFirstDefinitions&&R(o,a,o.start)&&F(a.context)&&o.match(/^\s*\(/,!1))&&(c="def"),x.token){var f=x.token(o,a,c);f!==void 0&&(c=f)}return c=="def"&&t.styleDefs===!1&&(c="variable"),a.startOfLine=!1,a.prevToken=z?"def":c||p,J(o,a),c},indent:function(o,a){if(o.tokenize!=Y&&o.tokenize!=null||o.typeAtEndOfLine)return h.Pass;var i=o.context,c=a&&a.charAt(0),f=c==i.type;if(i.type=="statement"&&c=="}"&&(i=i.prev),t.dontIndentStatements)for(;i.type=="statement"&&t.dontIndentStatements.test(i.info);)i=i.prev;if(x.indent){var I=x.indent(o,i,a,n);if(typeof I=="number")return I}var ye=i.prev&&i.prev.info=="switch";if(t.allmanIndentation&&/[{(]/.test(c)){for(;i.type!="top"&&i.type!="}";)i=i.prev;return i.indented}return i.type=="statement"?i.indented+(c=="{"?0:l):i.align&&(!u||i.type!=")")?i.column+(f?0:1):i.type==")"&&!f?i.indented+l:i.indented+(f?0:n)+(!f&&ye&&!/^(?:case|default)\b/.test(a)?n:0)},electricInput:ue?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function r(e){for(var t={},n=e.split(" "),l=0;l<n.length;++l)t[n[l]]=!0;return t}function g(e,t){return typeof e=="function"?e(t):e.propertyIsEnumerable(t)}var _="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",j="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",U="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",B="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",te=r("int long char short double float unsigned signed void bool"),ne=r("SEL instancetype id Class Protocol BOOL");function S(e){return g(te,e)||/.+_t$/.test(e)}function A(e){return S(e)||g(ne,e)}var T="case do else for if switch while struct enum union",L="struct enum union";function k(e,t){if(!t.startOfLine)return!1;for(var n,l=null;n=e.peek();){if(n=="\\"&&e.match(/^.$/)){l=k;break}else if(n=="/"&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=l,"meta"}function D(e,t){return t.prevToken=="type"?"type":!1}function P(e){return!e||e.length<2||e[0]!="_"?!1:e[1]=="_"||e[1]!==e[1].toLowerCase()}function s(e){return e.eatWhile(/[\w\.']/),"number"}function b(e,t){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var n=e.match(/^"([^\s\\()]{0,16})\(/);return n?(t.cpp11RawStringDelim=n[1],t.tokenize=q,q(e,t)):!1}return e.match(/^(?:u8|u|U|L)/)?e.match(/^["']/,!1)?"string":!1:(e.next(),!1)}function K(e){var t=/(\w+)::~?(\w+)$/.exec(e);return t&&t[1]==t[2]}function $(e,t){for(var n;(n=e.next())!=null;)if(n=='"'&&!e.eat('"')){t.tokenize=null;break}return"string"}function q(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),l=e.match(new RegExp(".*?\\)"+n+'"'));return l?t.tokenize=null:e.skipToEnd(),"string"}function y(e,t){typeof e=="string"&&(e=[e]);var n=[];function l(d){if(d)for(var C in d)d.hasOwnProperty(C)&&n.push(C)}l(t.keywords),l(t.types),l(t.builtin),l(t.atoms),n.length&&(t.helperType=e[0],h.registerHelper("hintWords",e[0],n));for(var u=0;u<e.length;++u)h.defineMIME(e[u],t)}y(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:r(_),types:S,blockKeywords:r(T),defKeywords:r(L),typeFirstDefinitions:!0,atoms:r("NULL true false"),isReservedIdentifier:P,hooks:{"#":k,"*":D},modeProps:{fold:["brace","include"]}}),y(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:r(_+" "+j),types:S,blockKeywords:r(T+" class try catch"),defKeywords:r(L+" class namespace"),typeFirstDefinitions:!0,atoms:r("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:P,hooks:{"#":k,"*":D,u:b,U:b,L:b,R:b,0:s,1:s,2:s,3:s,4:s,5:s,6:s,7:s,8:s,9:s,token:function(e,t,n){if(n=="variable"&&e.peek()=="("&&(t.prevToken==";"||t.prevToken==null||t.prevToken=="}")&&K(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),y("text/x-java",{name:"clike",keywords:r("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:r("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:r("catch class do else finally for if switch try while"),defKeywords:r("class interface enum @interface"),typeFirstDefinitions:!0,atoms:r("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(e){return e.match("interface",!1)?!1:(e.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),y("text/x-csharp",{name:"clike",keywords:r("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:r("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:r("catch class do else finally for foreach if struct switch try while"),defKeywords:r("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:r("true false null"),hooks:{"@":function(e,t){return e.eat('"')?(t.tokenize=$,$(e,t)):(e.eatWhile(/[\w\$_]/),"meta")}}});function re(e,t){for(var n=!1;!e.eol();){if(!n&&e.match('"""')){t.tokenize=null;break}n=e.next()=="\\"&&!n}return"string"}function E(e){return function(t,n){for(var l;l=t.next();)if(l=="*"&&t.eat("/"))if(e==1){n.tokenize=null;break}else return n.tokenize=E(e-1),n.tokenize(t,n);else if(l=="/"&&t.eat("*"))return n.tokenize=E(e+1),n.tokenize(t,n);return"comment"}}y("text/x-scala",{name:"clike",keywords:r("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:r("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:r("catch class enum do else finally for forSome if match switch try while"),defKeywords:r("class enum def object package trait type val var"),atoms:r("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return e.match('""')?(t.tokenize=re,t.tokenize(e,t)):!1},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(e,t){var n=t.context;return n.type=="}"&&n.align&&e.eat(">")?(t.context=new m(n.indented,n.column,n.type,n.info,null,n.prev),"operator"):!1},"/":function(e,t){return e.eat("*")?(t.tokenize=E(1),t.tokenize(e,t)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function ie(e){return function(t,n){for(var l=!1,u,d=!1;!t.eol();){if(!e&&!l&&t.match('"')){d=!0;break}if(e&&t.match('"""')){d=!0;break}u=t.next(),!l&&u=="$"&&t.match("{")&&t.skipTo("}"),l=!l&&u=="\\"&&!e}return(d||!e)&&(n.tokenize=null),"string"}}y("text/x-kotlin",{name:"clike",keywords:r("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:r("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:r("catch class do else finally for if where try while enum"),defKeywords:r("class val var object interface fun"),atoms:r("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return t.prevToken=="."?"variable":"operator"},'"':function(e,t){return t.tokenize=ie(e.match('""')),t.tokenize(e,t)},"/":function(e,t){return e.eat("*")?(t.tokenize=E(1),t.tokenize(e,t)):!1},indent:function(e,t,n,l){var u=n&&n.charAt(0);if((e.prevToken=="}"||e.prevToken==")")&&n=="")return e.indented;if(e.prevToken=="operator"&&n!="}"&&e.context.type!="}"||e.prevToken=="variable"&&u=="."||(e.prevToken=="}"||e.prevToken==")")&&u==".")return l*2+t.indented;if(t.align&&t.type=="}")return t.indented+(e.context.type==(n||"").charAt(0)?0:l)}},modeProps:{closeBrackets:{triples:'"'}}}),y(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:r("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:r("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:r("for while do if else struct"),builtin:r("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:r("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":k},modeProps:{fold:["brace","include"]}}),y("text/x-nesc",{name:"clike",keywords:r(_+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:S,blockKeywords:r(T),atoms:r("null true false"),hooks:{"#":k},modeProps:{fold:["brace","include"]}}),y("text/x-objectivec",{name:"clike",keywords:r(_+" "+U),types:A,builtin:r(B),blockKeywords:r(T+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:r(L+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:r("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:P,hooks:{"#":k,"*":D},modeProps:{fold:["brace","include"]}}),y("text/x-objectivec++",{name:"clike",keywords:r(_+" "+U+" "+j),types:A,builtin:r(B),blockKeywords:r(T+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:r(L+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:r("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:P,hooks:{"#":k,"*":D,u:b,U:b,L:b,R:b,0:s,1:s,2:s,3:s,4:s,5:s,6:s,7:s,8:s,9:s,token:function(e,t,n){if(n=="variable"&&e.peek()=="("&&(t.prevToken==";"||t.prevToken==null||t.prevToken=="}")&&K(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),y("text/x-squirrel",{name:"clike",keywords:r("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:S,blockKeywords:r("case catch class else for foreach if switch try while"),defKeywords:r("function local class"),typeFirstDefinitions:!0,atoms:r("true false null"),hooks:{"#":k},modeProps:{fold:["brace","include"]}});var M=null;function V(e){return function(t,n){for(var l=!1,u,d=!1;!t.eol();){if(!l&&t.match('"')&&(e=="single"||t.match('""'))){d=!0;break}if(!l&&t.match("``")){M=V(e),d=!0;break}u=t.next(),l=e=="single"&&!l&&u=="\\"}return d&&(n.tokenize=null),"string"}}y("text/x-ceylon",{name:"clike",keywords:r("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()},blockKeywords:r("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:r("class dynamic function interface module object package value"),builtin:r("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:r("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=V(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!M||!e.match("`")?!1:(t.tokenize=M,M=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,n){if((n=="variable"||n=="type")&&t.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})();var ke=ee.exports,we=ge({__proto__:null,default:ke},[ee.exports]);export{ee as a,we as c};
|