{"id":14155559,"url":"https://github.com/cloydlau/json-editor-vue","last_synced_at":"2025-05-14T13:06:08.028Z","repository":{"id":40311918,"uuid":"279588420","full_name":"cloydlau/json-editor-vue","owner":"cloydlau","description":"Vue and Nuxt 2/3 isomorphic JSON editor, viewer, formatter and validator.","archived":false,"fork":false,"pushed_at":"2025-04-28T01:20:57.000Z","size":4986,"stargazers_count":526,"open_issues_count":22,"forks_count":28,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-28T02:27:19.634Z","etag":null,"topics":["ajv","bigint","edit","format","formatter","json","jsoneditor","nuxt","nuxtjs","schema","ssr","svelte-jsoneditor","validate","validation","validator","view","vue","vue-demi","vue-json-pretty","vue-json-viewer"],"latest_commit_sha":null,"homepage":"https://cloydlau.github.io/playground/json-editor-vue/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloydlau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-14T13:10:21.000Z","updated_at":"2025-04-28T01:21:00.000Z","dependencies_parsed_at":"2023-09-26T19:32:06.417Z","dependency_job_id":"4e7de682-76d1-4698-b14f-475d131963d3","html_url":"https://github.com/cloydlau/json-editor-vue","commit_stats":{"total_commits":689,"total_committers":8,"mean_commits":86.125,"dds":0.05079825834542817,"last_synced_commit":"4665ef8e4d95b16c6aef45fce287c670337b87c9"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloydlau%2Fjson-editor-vue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloydlau%2Fjson-editor-vue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloydlau%2Fjson-editor-vue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloydlau%2Fjson-editor-vue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloydlau","download_url":"https://codeload.github.com/cloydlau/json-editor-vue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149949,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ajv","bigint","edit","format","formatter","json","jsoneditor","nuxt","nuxtjs","schema","ssr","svelte-jsoneditor","validate","validation","validator","view","vue","vue-demi","vue-json-pretty","vue-json-viewer"],"created_at":"2024-08-17T08:03:56.027Z","updated_at":"2025-05-14T13:06:07.992Z","avatar_url":"https://github.com/cloydlau.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","vue","JSON editor"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://npmjs.com/package/json-editor-vue\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    JSON Editor Vue \u003csup\u003e\u003cimg alt=\"version\" src=\"https://img.shields.io/npm/v/json-editor-vue.svg?style=flat-square\u0026color=white\u0026label=\"\u003e\u003c/sup\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Vue and Nuxt 2/3 isomorphic JSON editor, viewer, formatter and validator.\n  \u003cbr\u003e\n  English | \u003ca href=\"./docs/README.zh-CN.md\"\u003e简体中文\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://npmjs.com/package/json-editor-vue\"\u003e\u003cimg alt=\"npm version\" src=\"https://img.shields.io/npm/v/json-editor-vue.svg?labelColor=cb3837\u0026color=1C404E\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://jsr.io/@cloydlau\"\u003e\u003cimg alt=\"JSR Scope\" src=\"https://jsr.io/badges/@cloydlau\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://cloydlau.github.io/playground/json-editor-vue/\"\u003e\u003cimg alt=\"playground\" src=\"https://img.shields.io/badge/Playground-blue?color=9BE4E0\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzNiNDAzZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xMiA1aDMuNWE1IDUgMCAwIDEgMCAxMEgxMGwtNC4wMTUgNC4yMjdhMi4zIDIuMyAwIDAgMS0zLjkyMy0yLjAzNWwxLjYzNC04LjE3M0E1IDUgMCAwIDEgOC42IDV6Ii8+PHBhdGggZD0ibTE0IDE1bDQuMDcgNC4yODRhMi4zIDIuMyAwIDAgMCAzLjkyNS0yLjAyM2wtMS42LTguMjMyTTggOXYybS0xLTFoMm01IDBoMiIvPjwvZz48L3N2Zz4=\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://deepwiki.com/cloydlau/json-editor-vue\"\u003e\u003cimg src=\"https://img.shields.io/badge/DeepWiki-cloydlau%2Fjson--editor--vue-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==\" alt=\"DeepWiki\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://www.npmjs.com/package/json-editor-vue?activeTab=versions\"\u003e\u003cimg alt=\"created at\" src=\"https://img.shields.io/github/created-at/cloydlau/json-editor-vue?\u0026color=1C404E\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxnIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik04IDQwaDMyVjI0SDh6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iNCIgZD0iTTQwIDQwSDhtMzIgMEg0aDRtMzIgMGg0bS00IDBWMjRIOHYxNiIvPjxwYXRoIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjQiIGQ9Im00MCAzNGwtNC0ybC00IDJsLTQtMmwtNCAybC00LTJsLTQgMmwtNC0ybC00IDJtMjQtMTB2LTltLTggOXYtOW0tOCA5di05bTE2LTVWOG0tOCAyVjhtLTggMlY4TTggMjR2MTZtMzItMTZ2MTYiLz48L2c+PC9zdmc+\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/cloydlau/json-editor-vue/actions/workflows/ci.yml\"\u003e\u003cimg alt=\"build status\" src=\"https://github.com/cloydlau/json-editor-vue/actions/workflows/ci.yml/badge.svg?branch=main\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://app.fossa.com/projects/git%2Bgithub.com%2Fcloydlau%2Fjson-editor-vue?ref=badge_shield\u0026issueType=license\" alt=\"FOSSA Status\"\u003e\u003cimg src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcloydlau%2Fjson-editor-vue.svg?type=shield\u0026issueType=license\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://bundlephobia.com/package/json-editor-vue\"\u003e\u003cimg alt=\"minzipped size\" src=\"https://img.shields.io/bundlephobia/minzip/json-editor-vue\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/antfu/eslint-config\"\u003e\u003cimg alt=\"code style\" src=\"https://antfu.me/badge-code-style.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://conventionalcommits.org\"\u003e\u003cimg alt=\"conventional commits\" src=\"https://img.shields.io/badge/commits-Conventional-FE5196.svg?logo=conventionalcommits\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://semantic-release.gitbook.io\"\u003e\u003cimg alt=\"semantic release\" src=\"https://img.shields.io/badge/release-semantic-e10079?logo=semantic-release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://arethetypeswrong.github.io/?p=json-editor-vue\"\u003e\u003cimg alt=\"attw\" src=\"https://img.shields.io/badge/are_the_types_wrong%3F-analyze-3178C6?logo=typescript\u0026logoColor=white\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pr.new/https://github.com/cloydlau/json-editor-vue\"\u003e\u003cimg src=\"https://developer.stackblitz.com/img/start_pr_dark_small.svg\" alt=\"Start new PR in StackBlitz Codeflow\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cimg width=\"48.5%\" src=\"https://raw.githubusercontent.com/cloydlau/json-editor-vue/main/docs/text-mode.png\" alt=\"text mode\"\u003e\u0026nbsp;\u003cimg width=\"48.5%\" src=\"https://raw.githubusercontent.com/cloydlau/json-editor-vue/main/docs/tree-mode.png\" alt=\"table mode\"\u003e\n\n\u003cbr\u003e\n\n## Features\n\n- 🚀 Performant\n  - Handle large JSON documents up to 512 MB\n  - Deserialize with [destr](https://github.com/unjs/destr) by default, up to 35.96x faster than `JSON.parse`\n- 💪 Powerful\n  - View, edit, format, validate, compact, sort, query, filter, transform, repair, highlight JSON\n  - 7 primitive data types including [BigInt](#bigint) and `Symbol`\n  - 3 edit modes: text mode \u0026 tree mode \u0026 table mode\n  - 2 themes: light theme \u0026 dark theme\n  - 2-way binding: [parsed or stringified JSON](#parsed-json-vs-stringified-json)\n- 🤸 Flexible\n  - Vue 2.6/2.7/3 isomorphic\n  - Support SSR, Nuxt 2/3 isomorphic\n  - Support Vite, Vue CLI, webpack, CDN...\n  - Support microfrontends\n  - Support PC \u0026 mobile devices\n  - Local registration \u0026 configuration, or global registration \u0026 configuration (Powered by [vue-global-config](https://github.com/cloydlau/vue-global-config))\n\n\u003cbr\u003e\n\n## Cases\n\n\u003ctable\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/nuxt/devtools\"\u003e\n        \u003cimg height=\"30\" valign=\"middle\" src=\"./docs/nuxt.svg\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/google/litmus\"\u003e\n        \u003cimg height=\"40\" valign=\"middle\" src=\"./docs/google.svg\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/mozilla-ai/lumigator\"\u003e\n        \u003cimg height=\"35\" valign=\"middle\" src=\"./docs/mozilla.svg\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/TencentBlueKing/blueking-paas\"\u003e\n        \u003cimg height=\"20\" valign=\"middle\" src=\"./docs/tencent.png\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/MRC-Epid-it24/intake24\"\u003e\n        \u003cimg height=\"30\" valign=\"middle\" src=\"./docs/mrc_tu_cambridge.png\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/RockChinQ/LangBot\"\u003e\n        \u003cimg height=\"35\" valign=\"middle\" src=\"./docs/langbot.png\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e [!Important]\n\u003e\n\u003e json-editor-vue had surpassed [2 million downloads](https://npm.chart.dev/json-editor-vue): \u003ca href=\"https://npm-stat.com/charts.html?package=json-editor-vue\u0026from=2020-07-15\"\u003e\u003cimg alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/json-editor-vue?label=npm\u0026color=cb3837\"\u003e\u003c/a\u003e \u003ca href=\"https://www.jsdelivr.com/package/npm/json-editor-vue\"\u003e\u003cimg alt=\"jsDelivr downloads\" src=\"https://data.jsdelivr.com/v1/package/npm/json-editor-vue/badge?period=all\u0026style=rounded\"\u003e\u003c/a\u003e\n\u003e\n\u003e While having a extremely dismal number of Stars: \u003ca href=\"https://github.com/cloydlau/json-editor-vue/stargazers\"\u003e\u003cimg alt=\"GitHub Stars\" src=\"https://img.shields.io/github/stars/cloydlau/json-editor-vue?color=9f7be1\u0026logo=github\u0026style=flat\"\u003e\u003c/a\u003e\n\u003e\n\u003e Please consider [starring ⭐](https://github.com/cloydlau/json-editor-vue) or [donating](#donate) to support our ongoing maintenance if it helps: \u003ca href=\"https://github.com/cloydlau/json-editor-vue/issues?q=is%3Aissue+is%3Aclosed\"\u003e\u003cimg alt=\"GitHub issues closed\" src=\"https://img.shields.io/github/issues-closed/cloydlau/json-editor-vue?logo=github\"\u003e\u003c/a\u003e\n\n\u003cbr\u003e\n\n## Install\n\n### Vue 3\n\n```shell\nnpm i json-editor-vue\n```\n\n#### Local Registration\n\n```vue\n\u003cscript setup\u003e\nimport JsonEditorVue from 'json-editor-vue'\n\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration\n\n```ts\nimport JsonEditorVue from 'json-editor-vue'\nimport { createApp } from 'vue'\n\ncreateApp()\n  .use(JsonEditorVue, {\n    // global props \u0026 attrs (one-way data flow)\n  })\n  .mount('#app')\n```\n\n#### CDN + ESM\n\n```html\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\n      \u003cjson-editor-vue v-model=\"value\"\u003e\u003c/json-editor-vue\u003e\n    \u003c/div\u003e\n\n    \u003cscript type=\"importmap\"\u003e\n      {\n        \"imports\": {\n          \"vue\": \"https://cdn.jsdelivr.net/npm/vue/dist/vue.esm-browser.prod.js\",\n          \"vue-demi\": \"https://cdn.jsdelivr.net/npm/vue-demi/lib/v3/index.mjs\",\n          \"vanilla-jsoneditor\": \"https://cdn.jsdelivr.net/npm/vanilla-jsoneditor\",\n          \"json-editor-vue\": \"https://cdn.jsdelivr.net/npm/json-editor-vue@0.18/dist/json-editor-vue.mjs\"\n        }\n      }\n    \u003c/script\u003e\n    \u003cscript type=\"module\"\u003e\n      import { createApp, ref } from 'vue'\n      import JsonEditorVue from 'json-editor-vue'\n\n      createApp({\n        setup: () =\u003e ({\n          value: ref(),\n        }),\n      })\n        .use(JsonEditorVue)\n        .mount('#app')\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n#### CDN + IIFE\n\n\u003e [!Warning]\n\u003e\n\u003e Not yet supported because vanilla-jsoneditor does not export IIFE or UMD,\n\u003e\n\u003e please leave a message [here](https://github.com/josdejong/svelte-jsoneditor/discussions/196) if you need it.\n\n```html\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\n      \u003cjson-editor-vue v-model=\"value\"\u003e\u003c/json-editor-vue\u003e\n    \u003c/div\u003e\n\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/vue\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/vue-demi\"\u003e\u003c/script\u003e\n    \u003c!-- TODO --\u003e\n    \u003cscript src=\"./vanilla-jsoneditor.umd.js\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/json-editor-vue@0.18\"\u003e\u003c/script\u003e\n    \u003cscript\u003e\n      const { createApp, ref } = Vue\n\n      createApp({\n        setup: () =\u003e ({\n          value: ref(),\n        }),\n      })\n        .use(JsonEditorVue)\n        .mount('#app')\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n\u003cbr\u003e\n\n### Vue 2.7\n\n```shell\nnpm i json-editor-vue\n```\n\n#### Local Registration\n\n```vue\n\u003cscript setup\u003e\nimport JsonEditorVue from 'json-editor-vue'\n\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration\n\n```ts\nimport JsonEditorVue from 'json-editor-vue'\nimport Vue from 'vue'\n\nVue.use(JsonEditorVue, {\n  // global props \u0026 attrs (one-way data flow)\n})\n```\n\n#### CDN + ESM\n\n```html\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\n      \u003cjson-editor-vue v-model=\"value\"\u003e\u003c/json-editor-vue\u003e\n    \u003c/div\u003e\n\n    \u003cscript type=\"importmap\"\u003e\n      {\n        \"imports\": {\n          \"vue\": \"https://cdn.jsdelivr.net/npm/vue@2/dist/vue.esm.browser.min.js\",\n          \"vue-demi\": \"https://cdn.jsdelivr.net/npm/vue-demi/lib/v2.7/index.mjs\",\n          \"vanilla-jsoneditor\": \"https://cdn.jsdelivr.net/npm/vanilla-jsoneditor\",\n          \"json-editor-vue\": \"https://cdn.jsdelivr.net/npm/json-editor-vue@0.18/dist/json-editor-vue.mjs\"\n        }\n      }\n    \u003c/script\u003e\n    \u003cscript type=\"module\"\u003e\n      import Vue from 'vue'\n      import JsonEditorVue from 'json-editor-vue'\n\n      new Vue({\n        components: { JsonEditorVue },\n        data() {\n          return {\n            value: undefined,\n          }\n        },\n      }).$mount('#app')\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n#### CDN + IIFE\n\n\u003e [!Warning]\n\u003e\n\u003e Not yet supported because vanilla-jsoneditor does not export IIFE or UMD,\n\u003e\n\u003e please leave a message [here](https://github.com/josdejong/svelte-jsoneditor/discussions/196) if you need it.\n\n```html\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\n      \u003cjson-editor-vue v-model=\"value\"\u003e\u003c/json-editor-vue\u003e\n    \u003c/div\u003e\n\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/vue@2\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/vue-demi\"\u003e\u003c/script\u003e\n    \u003c!-- TODO --\u003e\n    \u003cscript src=\"./vanilla-jsoneditor.umd.js\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/json-editor-vue@0.18\"\u003e\u003c/script\u003e\n    \u003cscript\u003e\n      new Vue({\n        components: { JsonEditorVue },\n        data() {\n          return {\n            value: undefined,\n          }\n        },\n      }).$mount('#app')\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n\u003cbr\u003e\n\n### Vue 2.6 or Earlier\n\n```shell\nnpm i @vue/composition-api json-editor-vue\n```\n\n#### Local Registration\n\n```vue\n\u003cscript\u003e\nimport VCA from '@vue/composition-api'\nimport JsonEditorVue from 'json-editor-vue'\nimport Vue from 'vue'\n\nVue.use(VCA)\n\nexport default {\n  components: { JsonEditorVue },\n  data() {\n    return {\n      value: undefined,\n    }\n  },\n}\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration\n\n```ts\nimport VCA from '@vue/composition-api'\nimport JsonEditorVue from 'json-editor-vue'\nimport Vue from 'vue'\n\nVue.use(VCA)\nVue.use(JsonEditorVue, {\n  // global props \u0026 attrs (one-way data flow)\n})\n```\n\n#### CDN + ESM\n\n```html\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\n      \u003cjson-editor-vue v-model=\"value\"\u003e\u003c/json-editor-vue\u003e\n    \u003c/div\u003e\n\n    \u003cscript\u003e\n      window.process = { env: { NODE_ENV: 'production' } }\n    \u003c/script\u003e\n    \u003cscript type=\"importmap\"\u003e\n      {\n        \"imports\": {\n          \"vue\": \"https://cdn.jsdelivr.net/npm/vue@2.6/dist/vue.esm.browser.min.js\",\n          \"@vue/composition-api\": \"https://cdn.jsdelivr.net/npm/@vue/composition-api/dist/vue-composition-api.mjs\",\n          \"@vue/composition-api/dist/vue-composition-api.mjs\": \"https://cdn.jsdelivr.net/npm/@vue/composition-api/dist/vue-composition-api.mjs\",\n          \"vue-demi\": \"https://cdn.jsdelivr.net/npm/vue-demi/lib/v2/index.mjs\",\n          \"vanilla-jsoneditor\": \"https://cdn.jsdelivr.net/npm/vanilla-jsoneditor\",\n          \"json-editor-vue\": \"https://cdn.jsdelivr.net/npm/json-editor-vue@0.18/dist/json-editor-vue.mjs\"\n        }\n      }\n    \u003c/script\u003e\n    \u003cscript type=\"module\"\u003e\n      import { createApp, ref } from '@vue/composition-api'\n      import JsonEditorVue from 'json-editor-vue'\n\n      const app = createApp({\n        setup: () =\u003e ({\n          value: ref(),\n        }),\n      })\n\n      app.use(JsonEditorVue)\n      app.mount('#app')\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n#### CDN + IIFE\n\n\u003e [!Warning]\n\u003e\n\u003e Not yet supported because vanilla-jsoneditor does not export IIFE or UMD,\n\u003e\n\u003e please leave a message [here](https://github.com/josdejong/svelte-jsoneditor/discussions/196) if you need it.\n\n```html\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\n      \u003cjson-editor-vue v-model=\"value\"\u003e\u003c/json-editor-vue\u003e\n    \u003c/div\u003e\n\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/vue@2.6\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/@vue/composition-api\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/vue-demi\"\u003e\u003c/script\u003e\n    \u003c!-- TODO --\u003e\n    \u003cscript src=\"./vanilla-jsoneditor.umd.js\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/json-editor-vue@0.18\"\u003e\u003c/script\u003e\n    \u003cscript\u003e\n      const { createApp, ref } = VueCompositionAPI\n\n      const app = createApp({\n        setup: () =\u003e ({\n          value: ref(),\n        }),\n      })\n\n      app.use(VueCompositionAPI)\n      app.use(JsonEditorVue)\n      app.mount('#app')\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n\u003cbr\u003e\n\n### Nuxt 3\n\n```shell\nnpm i json-editor-vue\n```\n\n#### Local Registration\n\n```vue\n\u003c!-- ~/components/JsonEditorVue.client.vue --\u003e\n\n\u003cscript setup\u003e\nimport JsonEditorVue from 'json-editor-vue'\n\nconst attrs = useAttrs()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue v-bind=\"attrs\" /\u003e\n\u003c/template\u003e\n```\n\n```vue\n\u003cscript setup\u003e\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration as a Module\n\n```ts\n// nuxt.config.ts\n\nexport default defineNuxtConfig({\n  modules: ['json-editor-vue/nuxt'],\n})\n```\n\n```vue\n\u003cscript setup\u003e\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration as a Plugin\n\n```ts\n// ~/plugins/JsonEditorVue.client.ts\n\nimport JsonEditorVue from 'json-editor-vue'\n\nexport default defineNuxtPlugin((nuxtApp) =\u003e {\n  nuxtApp.vueApp.use(JsonEditorVue, {\n    // global props \u0026 attrs (one-way data flow)\n  })\n})\n```\n\n```vue\n\u003cscript setup\u003e\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n\u003cbr\u003e\n\n### Nuxt 2 + Vue 2.7\n\n```shell\nnpm i json-editor-vue\n```\n\n#### Local Registration\n\n```ts\n// nuxt.config.js\n\nexport default {\n  build: {\n    // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n    // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n    transpile: ['json-editor-vue'],\n    extend(config) {\n      // Getting webpack to recognize the `.mjs` file\n      config.module.rules.push({\n        test: /\\.mjs$/,\n        include: /node_modules/,\n        type: 'javascript/auto',\n      })\n    },\n  },\n}\n```\n\n```vue\n\u003cscript setup\u003e\nimport { ref } from 'vue'\n\nfunction JsonEditorVue() {\n  return process.client\n    ? import('json-editor-vue')\n    : Promise.resolve({ render: h =\u003e h('div') })\n}\n\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration\n\n```ts\n// nuxt.config.js\n\nexport default {\n  plugins: ['~/plugins/JsonEditorVue.client'],\n  build: {\n    // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n    // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n    transpile: ['json-editor-vue'],\n    extend(config) {\n      // Getting webpack to recognize the `.mjs` file\n      config.module.rules.push({\n        test: /\\.mjs$/,\n        include: /node_modules/,\n        type: 'javascript/auto',\n      })\n    },\n  },\n}\n```\n\n```ts\n// ~/plugins/JsonEditorVue.client.js\n\nimport JsonEditorVue from 'json-editor-vue'\nimport Vue from 'vue'\n\nVue.use(JsonEditorVue, {\n  // global props \u0026 attrs (one-way data flow)\n})\n```\n\n```vue\n\u003cscript setup\u003e\nimport { ref } from 'vue'\n\nconst value = ref()\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cClientOnly\u003e\n    \u003cJsonEditorVue\n      v-model=\"value\"\n      v-bind=\"{/* local props \u0026 attrs */}\"\n    /\u003e\n  \u003c/ClientOnly\u003e\n\u003c/template\u003e\n```\n\n\u003cbr\u003e\n\n### Nuxt 2 + Vue 2.6 or Earlier\n\n```shell\nnpm i @vue/composition-api json-editor-vue\n```\n\n#### Local Registration\n\n```ts\n// nuxt.config.js\n\nexport default {\n  build: {\n    // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n    // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n    transpile: ['json-editor-vue'],\n    extend(config) {\n      // Getting webpack to recognize the `.mjs` file\n      config.module.rules.push({\n        test: /\\.mjs$/,\n        include: /node_modules/,\n        type: 'javascript/auto',\n      })\n    },\n  },\n}\n```\n\n```vue\n\u003cscript\u003e\nimport VCA from '@vue/composition-api'\nimport Vue from 'vue'\n\nVue.use(VCA)\n\nexport default {\n  components: {\n    JsonEditorVue: () =\u003e process.client\n      ? import('json-editor-vue')\n      : Promise.resolve({ render: h =\u003e h('div') }),\n  },\n  data() {\n    return {\n      value: undefined,\n    }\n  },\n}\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue\n    v-model=\"value\"\n    v-bind=\"{/* local props \u0026 attrs */}\"\n  /\u003e\n\u003c/template\u003e\n```\n\n#### Global Registration\n\n```ts\n// nuxt.config.js\n\nexport default {\n  plugins: ['~/plugins/JsonEditorVue.client'],\n  build: {\n    // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n    // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n    transpile: ['json-editor-vue'],\n    extend(config) {\n      // Getting webpack to recognize the `.mjs` file\n      config.module.rules.push({\n        test: /\\.mjs$/,\n        include: /node_modules/,\n        type: 'javascript/auto',\n      })\n    },\n  },\n}\n```\n\n```ts\n// ~/plugins/JsonEditorVue.client.js\n\nimport VCA from '@vue/composition-api'\nimport JsonEditorVue from 'json-editor-vue'\nimport Vue from 'vue'\n\nVue.use(VCA)\nVue.use(JsonEditorVue, {\n  // global props \u0026 attrs (one-way data flow)\n})\n```\n\n```vue\n\u003cscript\u003e\nexport default {\n  data() {\n    return {\n      value: undefined,\n    }\n  },\n}\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cClientOnly\u003e\n    \u003cJsonEditorVue\n      v-model=\"value\"\n      v-bind=\"{/* local props \u0026 attrs */}\"\n    /\u003e\n  \u003c/ClientOnly\u003e\n\u003c/template\u003e\n```\n\n\u003cbr\u003e\n\n### Vite\n\nReady to use right out of the box.\n\n\u003cbr\u003e\n\n### Vue CLI 5 (webpack 5)\n\nReady to use right out of the box.\n\n\u003cbr\u003e\n\n### Vue CLI 4 (webpack 4)\n\n≥ v4.5.15\n\n```js\n// vue.config.js\n\nmodule.exports = {\n  // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n  // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n  transpileDependencies: ['json-editor-vue'],\n}\n```\n\n＜ v4.5.15\n\n```js\n// vue.config.js\n\nmodule.exports = {\n  // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n  // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n  transpileDependencies: ['json-editor-vue'],\n  configureWebpack: {\n    module: {\n      rules: [\n        // Getting webpack to recognize the `.mjs` file\n        {\n          test: /\\.mjs$/,\n          include: /node_modules/,\n          type: 'javascript/auto',\n        },\n      ],\n    },\n  },\n}\n```\n\n\u003cbr\u003e\n\n### Vue CLI 3 (webpack 4)\n\n```shell\nnpm i @babel/plugin-proposal-nullish-coalescing-operator @babel/plugin-proposal-optional-chaining -D\n```\n\n```js\n// babel.config.js\n\nmodule.exports = {\n  plugins: [\n    '@babel/plugin-proposal-nullish-coalescing-operator',\n    '@babel/plugin-proposal-optional-chaining',\n  ],\n}\n```\n\n```js\n// vue.config.js\n\nmodule.exports = {\n  // Vite ≥4 (Rollup ≥3) uses ES2020 as compiler target by default\n  // Therefore Vite-≥4-built outputs should be transpiled in webpack 4\n  transpileDependencies: ['json-editor-vue'],\n  chainWebpack(config) {\n    // Getting webpack to recognize the `.mjs` file\n    config.module\n      .rule('mjs')\n      .include\n      .add(/node_modules/)\n      .type('javascript/auto')\n      .end()\n  },\n}\n```\n\n\u003cbr\u003e\n\n### Vue CLI 2 \u0026 1 (webpack 3)\n\nVue CLI 2 \u0026 1 pull the template from [vuejs-templates/webpack](https://github.com/vuejs-templates/webpack).\n\n```shell\nnpm i @babel/core@latest @babel/preset-env@latest babel-loader@latest -D\n```\n\n```js\n// babel.config.js\n\nmodule.exports = {\n  presets: [\n    '@babel/preset-env',\n  ],\n}\n```\n\n```js\n// webpack.base.conf.js\n\nmodule.exports = {\n  module: {\n    rules: [\n      // Getting webpack to recognize the `.mjs` file\n      {\n        test: /\\.mjs$/,\n        loader: 'babel-loader',\n        include: [resolve('src'), resolve('test'), resolve('node_modules/json-editor-vue')],\n      },\n    ],\n  },\n}\n```\n\n\u003cbr\u003e\n\n### Update Dependency Versions\n\n```shell\nnpm rm json-editor-vue \u0026\u0026 npm i json-editor-vue\n```\n\n\u003e [!Warning]\n\u003e\n\u003e Not working for major version bump, fot that you can [specify dependency versions](#specify-dependency-versions) (if necessary)\n\n\u003cbr\u003e\n\n### Specify Dependency Versions\n\n```json5\n// package.json\n{\n  // npm/cnpm/bun\n  \"overrides\": {\n    \"vanilla-jsoneditor\": \"***\",\n    \"vue-demi\": \"***\"\n  },\n  // yarn/bun\n  \"resolutions\": {\n    \"vanilla-jsoneditor\": \"***\",\n    \"vue-demi\": \"***\"\n  },\n  // pnpm\n  \"pnpm\": {\n    \"overrides\": {\n      \"vanilla-jsoneditor\": \"***\",\n      \"vue-demi\": \"***\"\n    }\n  }\n}\n```\n\nWith Scope:\n\n```json5\n// package.json\n{\n  // npm/cnpm/bun\n  \"overrides\": {\n    \"json-editor-vue\": {\n      \"vanilla-jsoneditor\": \"***\",\n      \"vue-demi\": \"***\"\n    }\n  },\n  // yarn/bun\n  \"resolutions\": {\n    \"json-editor-vue/vanilla-jsoneditor\": \"***\",\n    \"json-editor-vue/vue-demi\": \"***\"\n  },\n  // pnpm\n  \"pnpm\": {\n    \"overrides\": {\n      \"json-editor-vue\u003evanilla-jsoneditor\": \"***\",\n      \"json-editor-vue\u003evue-demi\": \"***\"\n    }\n  }\n}\n```\n\n\u003cbr\u003e\n\n## Props\n\n| Name                                                   | Description                                                                                   | Type    | Default     |\n| ------------------------------------------------------ | --------------------------------------------------------------------------------------------- | ------- | ----------- |\n| v-model /\u003cbr\u003emodelValue (Vue 3) /\u003cbr\u003evalue (Vue 2)     | binding value                                                                                 | any     |             |\n| mode /\u003cbr\u003ev-model:mode (Vue 3) /\u003cbr\u003e:mode.sync (Vue 2) | edit mode                                                                                     | `Mode`  | `Mode.tree` |\n| debounce                                               | debounce delay to update the binding value when typing in text mode, in milliseconds          | number  | `300`       |\n| stringified                                            | whether to keep the binding value as stringified JSON in text mode                            | boolean | `true`      |\n| ...                                                    | properties of [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor/#properties) |         |             |\n\n### parsed JSON vs. stringified JSON\n\n- parsed JSON: what we commonly refer to as JSON, which can be of any data type.\n- stringified JSON: serialized JSON, which is always a string type.\n\n### Binding value difference between svelte-jsoneditor and json-editor-vue\n\n- svelte-jsoneditor: An object contains a parsed JSON or a stringified JSON, will do `JSON.parse` when passing as a stringified JSON.\n- json-editor-vue: JSON itself. What you see is what you get.\n\nIf you prefer the behavior of svelte-jsoneditor:\n\n```html\n\u003cJsonEditorVue\n  :content=\"content\"\n  :onChange=\"(updatedContent) =\u003e {\n    content = updatedContent\n  }\"\n/\u003e\n```\n\n### The association between binding value and modes\n\n\u003e [!Important]\n\u003e\n\u003e The input value is independent of modes, **except**:\n\u003e\n\u003e Input value of string type will be treated as a normal string under tree mode, as a stringified JSON under text mode by default.\n\u003e\n\u003e The output value of tree mode is a parsed JSON, the output value of text mode is a stringified JSON.\n\u003e\n\u003e But this correspondence can be disrupted by programmatic changes or mode switching.\n\u003e\n\u003e See https://github.com/josdejong/svelte-jsoneditor/pull/166 for more details.\n\nFAQ: How to keep the value as parsed JSON in text mode?\n\n\u003e [!Caution]\n\u003e\n\u003e - Not performant for large JSON documents.\n\u003e - Adjust the `debounce` value based on the size of your JSON.\n\u003e - Will output `undefined` when the input value is invalid.\n\n```vue\n\u003cscript setup\u003e\nimport { Mode } from 'vanilla-jsoneditor'\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue :mode=\"Mode.text\" :stringified=\"false\" /\u003e\n\u003c/template\u003e\n```\n\n### Naming convention\n\nSupport camelCase and kebab-case for tag \u0026 property name.\n\n\u003e [!Tip]\n\u003e\n\u003e When using json-editor-vue or any Vue component via CDN (HTML), kebab-case must be used exclusively due to HTML's case insensitivity.\n\n### Boolean properties\n\nIncluding the boolean properties of svelte-jsoneditor like `readOnly` with no value will imply `true`:\n\n- ✓ `\u003cJsonEditorVue readOnly /\u003e`\n\n- ✓ `\u003cJsonEditorVue :readOnly=\"true\" /\u003e`\n\n\u003cbr\u003e\n\n## Exposes\n\n| Name       | Description         | Type   |\n| ---------- | ------------------- | ------ |\n| jsonEditor | JSONEditor instance | object |\n\n### Calling the methods of svelte-jsoneditor\n\n```vue\n\u003cscript setup\u003e\nimport { onMounted, useTemplateRef } from 'vue'\n\n// Vue ≥ v3.5\nconst jsonEditorVueRef = useTemplateRef('jsonEditorVueRef')\n// Vue \u003c v3.5\n// const jsonEditorVueRef = ref()\n\nonMounted(() =\u003e {\n  jsonEditorVueRef.value.jsonEditor.focus()\n})\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue ref=\"jsonEditorVueRef\" /\u003e\n\u003c/template\u003e\n```\n\n\u003cbr\u003e\n\n## BigInt\n\n```shell\nnpm i lossless-json\n```\n\n```vue\n\u003cscript setup\u003e\nimport JsonEditorVue from 'json-editor-vue'\nimport { parse, stringify } from 'lossless-json'\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue :parser=\"{ parse, stringify }\" /\u003e\n\u003c/template\u003e\n```\n\n\u003cbr\u003e\n\n## Dark Theme\n\n```vue\n\u003cscript setup\u003e\nimport JsonEditorVue from 'json-editor-vue'\nimport 'vanilla-jsoneditor/themes/jse-theme-dark.css'\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003cJsonEditorVue class=\"jse-theme-dark\" /\u003e\n\u003c/template\u003e\n```\n\n\u003cbr\u003e\n\n## Changelog\n\nDetailed changes for each release are documented in the [release notes](https://github.com/cloydlau/json-editor-vue/releases)\n\n\u003cbr\u003e\n\n## Donate\n\nYou can buy us a coffee via WeChat Pay 💗\n\n\u003cimg alt=\"WeChat Pay\" src=\"https://raw.githubusercontent.com/cloydlau/json-editor-vue/main/docs/wechat-pay.jpg\" width=\"150px\"\u003e\n\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloydlau%2Fjson-editor-vue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloydlau%2Fjson-editor-vue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloydlau%2Fjson-editor-vue/lists"}