{"_id":"@anacode-editor/code-editor","_rev":"10-38cc693089de7e771ddbd5a8253c0881","name":"@anacode-editor/code-editor","dist-tags":{"latest":"0.15.0"},"versions":{"0.0.2":{"name":"@anacode-editor/code-editor","version":"0.0.2","license":"MIT","_id":"@anacode-editor/code-editor@0.0.2","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"1ffe75133775fc055ea3d03e8cfd65805ac9db03","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.0.2.tgz","fileCount":659,"integrity":"sha512-AbOpUJkb9i3sHOoKSPNqEWDLl6N87wnr4dbsROcj9FnD/gtWTmx1S+8C4EmO5DfQGrI2yswa1Xrhd22oenVYsA==","signatures":[{"sig":"MEYCIQC3qPeZzH3bD9qRpTa/RuWXjQ00+4L1LiNjk8y7t82BmQIhAK7Ap9lBfuOBuozz3HMC7DLP3k+MC+gaEiVbYKGpIa2N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":905942},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"}},"gitHead":"302f548ba9bc17096584dc8c50701ea2f6abeb61","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.2.2","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.3.0","@lucide/svelte":"^1.16.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.2.9","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.0.2_1782683258872_0.7816411362424294","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@anacode-editor/code-editor","version":"0.0.3","license":"MIT","_id":"@anacode-editor/code-editor@0.0.3","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"c2a75c158e5a67289b4c08925141486372581633","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.0.3.tgz","fileCount":683,"integrity":"sha512-5GuGmP4yZI/giFkXxB9SXfhj2n0LSeLLEeOVOEnD7IaKZJ/6qZ6Zp/B8jf9H47OENQBtyWnUGRpj/TT3P89AyQ==","signatures":[{"sig":"MEUCIGUVEwwrOgnKI3brMOOVzGzv17q925Cax77W7CHtVsasAiEA2+cEfc4kav5io1g62mZueEHkOWAW5QNq4HSEmTAypec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":957504},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"067cdfa1010950deb6457128d2d58229120e8fdd","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.2.2","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.3.0","@lucide/svelte":"^1.16.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.2.9","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.0.3_1783209016075_0.6690410646491483","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@anacode-editor/code-editor","version":"0.0.4","license":"MIT","_id":"@anacode-editor/code-editor@0.0.4","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"31a3c0c30a067f013d566afd0a382d3f9e27e7ef","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.0.4.tgz","fileCount":685,"integrity":"sha512-DNJF/Z+Gf4NGx/0uEo/531523CncnGAHKws+2nhRhMeKsMmb6DqS0a9HO1Zxsvu+rPCPQpoM9cdxA8JyKXRh9Q==","signatures":[{"sig":"MEUCIQDe+CATd4aiGLde1KGHd9KNpE9cfKemMlVyzR3JJiMp5QIgE5dK0UsUmhcoTqAUPAyxC2VUUnu2Xzmom9jytMF2Dm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":958927},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"1c1b381a6ab1e77bd51e97a3adb1e51a598f6ea3","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.2.2","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.3.0","@lucide/svelte":"^1.16.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.2.9","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.0.4_1785696429297_0.2706864987261597","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@anacode-editor/code-editor","version":"0.0.7","license":"MIT","_id":"@anacode-editor/code-editor@0.0.7","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"15432605313cab869d1868acf6a86128bc1e7a08","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.0.7.tgz","fileCount":687,"integrity":"sha512-5a5XlZX+Ng995dh8jbMUmxiSjudlMh/0E8yp6Uv4YxTY8vg2/BOjPpsRO0kqODCMFLm3fj4QXWxEx4FvCQv9zg==","signatures":[{"sig":"MEQCIHxdtlPlWVOYWPFPVFVDoGW2MxkJzHU5zc+WB6ihvG/5AiBJ4eDIrw5C2AJjVOm9/0B+3CqS7Otj6YxEn558QynK7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959898},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"1acaa2222bce7c26c377578d4009e42b89414a46","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.2.2","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.3.0","@lucide/svelte":"^1.16.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.2.9","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.0.7_1786053864660_0.7740998885620534","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@anacode-editor/code-editor","version":"0.0.8","license":"MIT","_id":"@anacode-editor/code-editor@0.0.8","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"09d5a0710fe3314bd96853f4225d0c90ebc419f6","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.0.8.tgz","fileCount":691,"integrity":"sha512-O4opoKmBKdRITCy8VdSmtc7JY2ScAEsotwyqXPyVB7uyPvtZSEEqhaK1GwrdaL+9bgpDAgwHLV7GsF5/ekC2MA==","signatures":[{"sig":"MEYCIQDBfrLpSo8OZA12B8gKtdC7M779s09rRhS0nVNZ/mv+VwIhAIn5ifQ+YtFTfx7VudsSP8h9CpSkIqTM9kOY7SdVgFBl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974219},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"02a9ef75d449e409df20c1154798593ba9125444","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.2.2","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.3.0","@lucide/svelte":"^1.16.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.2.9","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.0.8_1786186494240_0.696032005657641","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@anacode-editor/code-editor","version":"0.10.0","license":"MIT","_id":"@anacode-editor/code-editor@0.10.0","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"b1a059fe0148a634c0ef39bcaeade7bf6e8ec331","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.10.0.tgz","fileCount":691,"integrity":"sha512-sOgCukGWcWxLNGL8T3JESAeKz0ZuFelrtg4t1MUCUM84DSpl1C0jnVZa4fOcgshJo0e9cbg8zSjcYWjbSeEeOQ==","signatures":[{"sig":"MEUCIA4y685NcQfJrAjSFKEPkpH9d22yKR+31lwRd4VXJQ71AiEAiTTFS4XY60jVm4nUc+1QKaqoEhKCrIu2IeD8FmfP4X0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":981468},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"5f96d949931341ebf560c66ca63b1eff7f91ab53","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.3.1","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","prettier":"^3.9.6","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.31.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","prettier-plugin-svelte":"^3.5.2","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.3.0","prettier-plugin-tailwindcss":"^0.7.4","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.16.3","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.10.0_1786795727399_0.9353607798153356","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@anacode-editor/code-editor","version":"0.11.0","license":"MIT","_id":"@anacode-editor/code-editor@0.11.0","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"72881611b4d2db0b896405831a78d14d7782950a","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.11.0.tgz","fileCount":701,"integrity":"sha512-KnFtKC22Stn134oO/GV19Uoajh8aRgh5nhwojRTHRiqJSqMuv4xSwLV+HMGVHPx6f7wceuMoezHIAVAwstN2CA==","signatures":[{"sig":"MEYCIQCnm1WIFWbcZZUS6SHn3fJ3JoB9lrfeeC4H8KWOmS3FcwIhAMfl4TlMkoCZRwY+MwM4PbIqLUz/K1pHf6eqriB6Xk4u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":988137},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"e143e44ae9183cdd14c5543005b01169478b1130","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.3.1","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","prettier":"^3.9.6","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.31.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","prettier-plugin-svelte":"^3.5.2","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.3.0","prettier-plugin-tailwindcss":"^0.7.4","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.16.3","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.11.0_1786827577970_0.34432802975144083","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@anacode-editor/code-editor","version":"0.0.12","license":"MIT","_id":"@anacode-editor/code-editor@0.0.12","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"571ebfc686bfab35845181b1d4293d8486f6402e","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.0.12.tgz","fileCount":701,"integrity":"sha512-BB2aJWFWQwgZ13I0+JS+0Uml2Ffw0nAqDAmz8/vyNc1YOPnds4PEFsInB1nxUJ5+F03Zcs55y1DOWORIwCAzaA==","signatures":[{"sig":"MEUCIQDKsx2Ie/w/9I9lAlZXIe5VEB5yV76k7H/6JK91OVmHywIgCZevTInqf2MhIhvf+EyjvkwlRQTFnYrYgGxhp9O9ivg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":988781},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"42ee0491a1d3256236095e0bb6d21cfd6ad19eda","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.3.1","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","prettier":"^3.9.6","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.31.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","prettier-plugin-svelte":"^3.5.2","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.3.0","prettier-plugin-tailwindcss":"^0.7.4","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.16.3","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.0.12_1787348581693_0.3867446847093987","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@anacode-editor/code-editor","version":"0.12.0","license":"MIT","_id":"@anacode-editor/code-editor@0.12.0","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"dist":{"shasum":"c2c2afcf2115fcb7f5004426b314dd1d5aeb3e49","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.12.0.tgz","fileCount":701,"integrity":"sha512-m8QipscBxayTEu0lru9JddXYKvrSzk/fnCDqive92BGAFJo7yqst6wyfr0ycwSR6C6cH60urFKyITPWvm8M3xA==","signatures":[{"sig":"MEQCIEvUjiu3NIdpe9f4bbZ0sh1WS1IYIAUX1FJp1gbBGAKIAiAsCHvfwHIEJJcXLklp2ZGP1dxvnvYkABNsRy4VaKiwJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":988781},"type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"42ee0491a1d3256236095e0bb6d21cfd6ad19eda","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.3.1","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","prettier":"^3.9.6","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.31.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","prettier-plugin-svelte":"^3.5.2","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.3.0","prettier-plugin-tailwindcss":"^0.7.4","@sveltejs/vite-plugin-svelte":"^6.2.1"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.16.3","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/code-editor_0.12.0_1787348712168_0.4963624844353778","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"_id":"@anacode-editor/code-editor@0.15.0","dist":{"shasum":"0fd53c64a5429af3e07d2a966d05a8e7b1e8c5a3","tarball":"https://registry.npmjs.org/@anacode-editor/code-editor/-/code-editor-0.15.0.tgz","fileCount":709,"integrity":"sha512-K1q/SOnFQyCY/b+5Fi1PcM/Z8fMHexcghieXNAY4qJ42lIr9djmJHJwYU7IUiXNZylHThDeJSoLiuRL4c+tDrA==","signatures":[{"sig":"MEQCIEdKt1IXeFRWR6vdEp5U0+unR8n8kp6yGt04EcrjZgQQAiBub0kpnuQvMqIx530+1ge6/IPzCass4yJBqlF1NuQDqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDI3zBWFeQxkGVE+aTUEyf/HxlJOg4Q7duq5zUsUOHuIAIgJaBbFhXVfbmb4pLWo9s/E6qIuRv0mbJv3nOia0Q7898="}],"unpackedSize":983893},"name":"@anacode-editor/code-editor","type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","svelte":"./dist/*.js","default":"./dist/*.js"},"./icons":{"types":"./dist/icons.d.ts","svelte":"./dist/icons.js","default":"./dist/icons.js"},"./state":{"types":"./dist/state.d.ts","svelte":"./dist/state.js","default":"./dist/state.js"},"./config":{"types":"./dist/config.d.ts","svelte":"./dist/config.js","default":"./dist/config.js"},"./shared":{"types":"./dist/shared.d.ts","svelte":"./dist/shared.js","default":"./dist/shared.js"},"./session":{"types":"./dist/session.d.ts","svelte":"./dist/session.js","default":"./dist/session.js"},"./*.svelte":{"types":"./dist/*.svelte.d.ts","svelte":"./dist/*.svelte"},"./styles.css":"./dist/styles.css","./file-system":{"types":"./dist/file-system.d.ts","svelte":"./dist/file-system.js","default":"./dist/file-system.js"},"./persistence":{"types":"./dist/persistence.d.ts","svelte":"./dist/persistence.js","default":"./dist/persistence.js"},"./localization":{"types":"./dist/localization.d.ts","svelte":"./dist/localization.js","default":"./dist/localization.js"}},"gitHead":"885b45a66e36a17029b14e09243028ca6b8e4ba8","license":"MIT","scripts":{"dev":"vite dev","lint":"prettier --check .","test":"vitest run","build":"vite build && npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","package":"svelte-kit sync && svelte-package","prepare":"npm run package","preview":"vite preview","test:watch":"vitest","prepublishOnly":"npm run package && publint"},"version":"0.15.0","_npmUser":{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"},"_npmVersion":"10.9.8","description":"A self-contained, reusable multi-file code editor built on Monaco.","directories":{},"maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","immer":"^11.1.3","jszip":"^3.10.1","lodash":"^4.17.23","paneforge":"^1.0.2","graphology":"^0.26.0","monaco-editor":"^0.55.1","graphology-dag":"^0.4.1","tailwind-merge":"^3.6.0","@iconify/svelte":"^5.0.0","tailwind-variants":"^3.3.1","graphology-traversal":"^0.3.1","@iconify-json/vscode-icons":"^1.2.51"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.2","svelte":"^5.43.8","vitest":"^4.0.18","bits-ui":"^2.18.1","publint":"^0.3.0","prettier":"^3.9.6","typescript":"^5.9.3","@types/node":"^22.0.0","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","svelte-check":"^4.3.4","@sveltejs/kit":"^2.48.5","@types/lodash":"^4.17.23","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.31.0","tw-animate-css":"^1.4.0","graphology-types":"^0.24.8","@sveltejs/package":"^2.3.10","@tailwindcss/vite":"^4.3.0","@sveltejs/adapter-auto":"^3.3.1","prettier-plugin-svelte":"^3.5.2","@internationalized/date":"^3.12.1","@sveltejs/adapter-static":"^3.0.10","@fontsource-variable/geist":"^5.3.0","prettier-plugin-tailwindcss":"^0.7.4","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"svelte":"^5.0.0","bits-ui":"^2.16.3","tailwindcss":"^4.0.0","mode-watcher":"^1.0.0","shadcn-svelte":"^1.5.0","@lucide/svelte":"^1.0.0","tw-animate-css":"^1.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/code-editor_0.15.0_1789500082665_0.6968746615047012"}}},"time":{"created":"2026-06-28T21:47:38.773Z","modified":"2026-09-15T19:21:22.961Z","0.0.2":"2026-06-28T21:47:39.033Z","0.0.3":"2026-07-04T23:50:16.242Z","0.0.4":"2026-08-02T18:47:09.455Z","0.0.7":"2026-08-06T22:04:24.834Z","0.0.8":"2026-08-08T10:54:54.429Z","0.10.0":"2026-08-15T12:08:47.569Z","0.11.0":"2026-08-15T20:59:38.131Z","0.0.12":"2026-08-21T21:43:01.841Z","0.12.0":"2026-08-21T21:45:12.330Z","0.15.0":"2026-09-15T19:21:22.803Z"},"license":"MIT","description":"A self-contained, reusable multi-file code editor built on Monaco.","maintainers":[{"name":"anass-bousseaden","email":"anassbousseaden@yahoo.fr"}],"readme":"<div align=\"center\">\n\n# @anacode-editor/code-editor\n\n**A self-contained, multi-file code editor for the web — built on [Monaco](https://github.com/microsoft/monaco-editor), packaged as a drop-in Svelte 5 component.**\n\n[![npm](https://img.shields.io/npm/v/%40anacode-editor%2Fcode-editor?logo=npm&color=CB3837)](https://www.npmjs.com/package/@anacode-editor/code-editor)\n![License: MIT](https://img.shields.io/badge/license-MIT-green)\n![Svelte 5](https://img.shields.io/badge/Svelte-5-FF3E00?logo=svelte&logoColor=white)\n![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white)\n![Built on Monaco](https://img.shields.io/badge/built%20on-Monaco-007ACC?logo=visualstudiocode&logoColor=white)\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"static/editor-screenshot/dark-editor.png\">\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"static/editor-screenshot/light-editor.png\">\n  <img alt=\"The editor: file tree, tabs, breadcrumb, and Monaco\" src=\"static/editor-screenshot/dark-editor.png\">\n</picture>\n\n_File tree, tabs, and Monaco in a single `<EditorSession>` component (shown in both bundled themes)._\n\n</div>\n\n---\n\n## What it is\n\n`@anacode-editor/code-editor` provides the pieces around Monaco that a multi-file editing experience needs: a file tree, tabs, an in-memory file system, per-file save/dirty state, and detection of when a file has changed underneath the editor. It's packaged as a single Svelte 5 component you can drop in, or as individual services you can compose.\n\n- **Drop-in or composable** — render one `<EditorSession>`, or wire the underlying services yourself through subpath exports.\n- **Works with real projects** — import full projects from a zip, edit them in the browser, and export the result.\n- **Content-hash conflict detection** — writes are compare-and-swap against a content hash, so a file changed elsewhere surfaces a conflict prompt rather than being overwritten.\n- **Layered and typed** — a documented [architecture](docs/Architecture.md), interface-driven services, and `Result<T, E>` return types throughout.\n\n---\n\n## Features\n\n**Editing**\n\n- Monaco-powered editor with multi-file tabs, breadcrumb, and per-file view-state (cursor, scroll, folds) preserved across switches\n- Configurable font size, tab size, word wrap, line numbers, minimap, and theme (bundled Night Owl & Tomorrow)\n- Light/dark aware\n\n**File system**\n\n- In-memory, **command → plan → event** file system: every mutation is validated into a plan, then executed to atomic events (event-sourced, Immer-backed)\n- Create / rename / move / delete with a graph index that rejects illegal moves (cycle detection)\n- File-tree search, drag-and-drop, and a typed command registry\n\n**Saving & conflicts**\n\n- Per-document draft state: dirty tracking, save / save-all / revert / force-overwrite\n- **Content-hash conflict detection** (compare-and-swap) — edits against a stale file raise a conflict you resolve via reload or overwrite\n- Handles files that disappear underneath the editor (invalid-document state) and reloads buffers when content changes on disk\n\n**Persistence**\n\n- Zip import / export of the whole workspace, with pluggable strategies\n\n**Engineering**\n\n- Layered, documented architecture (Core → Primitives → Orchestration → Composition)\n- Interface-driven services; `Result<T, E>` error handling instead of exceptions\n- Subpath exports and shipped `.d.ts` types\n\n---\n\n## Quick start\n\nAvailable on npm as [`@anacode-editor/code-editor`](https://www.npmjs.com/package/@anacode-editor/code-editor):\n\n```sh\nnpm install @anacode-editor/code-editor\n\n# peer dependencies\nnpm install svelte bits-ui @lucide/svelte mode-watcher tailwindcss tw-animate-css\n```\n\nThe snippet below creates an editor with a two-file workspace.\n\n```svelte\n<script lang=\"ts\">\n\timport { onMount, onDestroy } from 'svelte';\n\timport {\n\t\tEditorSession,\n\t\tEditorSessionFactory,\n\t\tNodeType,\n\t\tROOT_NODE_ID,\n\t\tROOT_PERMISSIONS,\n\t\tEMPTY_CONTENT_HASH,\n\t\ttype FileSystemMapReadonly,\n\t\ttype FileSystemPath,\n\t\ttype NodeID,\n\t\ttype IEditorSession\n\t} from '@anacode-editor/code-editor';\n\timport { FileSystemZipImporter } from '@anacode-editor/code-editor/persistence';\n\timport { StaticDefaultEditorConfigurationService } from '@anacode-editor/code-editor/config';\n\timport '@anacode-editor/code-editor/styles.css';\n\n\t// A minimal two-file workspace.\n\tconst initialState: FileSystemMapReadonly = {\n\t\t[ROOT_NODE_ID]: {\n\t\t\tid: ROOT_NODE_ID,\n\t\t\ttype: NodeType.FOLDER,\n\t\t\tname: 'project',\n\t\t\tpath: '/project' as FileSystemPath,\n\t\t\tparentID: null,\n\t\t\tpermissions: ROOT_PERMISSIONS,\n\t\t\tchildren: [1 as NodeID],\n\t\t\tuserSpace: null\n\t\t},\n\t\t[1 as NodeID]: {\n\t\t\tid: 1 as NodeID,\n\t\t\ttype: NodeType.FILE,\n\t\t\tname: 'hello.ts',\n\t\t\tpath: '/project/hello.ts' as FileSystemPath,\n\t\t\tparentID: ROOT_NODE_ID,\n\t\t\tcontent: 'export const hello = () => \"world\";\\n',\n\t\t\tcontentHash: EMPTY_CONTENT_HASH,\n\t\t\tpermissions: { read: true, write: true, rename: true, delete: true },\n\t\t\tuserSpace: null\n\t\t}\n\t};\n\n\tlet session: IEditorSession | null = $state(null);\n\tconst factory = new EditorSessionFactory(new FileSystemZipImporter());\n\tconst config = new StaticDefaultEditorConfigurationService();\n\n\tonMount(async () => {\n\t\tconst result = await factory.createFromFileSystemMap(initialState, config);\n\t\tif (result.ok) session = result.value;\n\t});\n\n\tonDestroy(() => session?.dispose());\n</script>\n\n{#if session}\n\t<EditorSession {session} />\n{/if}\n```\n\nThe factory also offers `createFromFileSystem(...)` (bring your own `IFileSystemService`) and `createFromZip(...)`. See [`src/routes/`](src/routes/) for all three patterns running end-to-end.\n\nAll three accept an optional fourth `EditorSessionOptions` argument. Today it holds `fileTree.showRootFolder` (default `false`): the root folder row is hidden and its children render at depth zero. Pass `{ fileTree: { showRootFolder: true } }` to show it.\n\nOn creation the session opens one file automatically: the first file directly under the root, or, when the root has none, the first file found by searching folders in tree order (each folder's own files before its subfolders).\n\n---\n\n## Localization\n\nThe editor's own UI (file tree, tabs, dialogs, prompts, notifications) ships in English, French, and Spanish. Pass a locale — and optionally per-string overrides — as the last argument to any factory method:\n\n```ts\nconst result = await factory.createFromFileSystemMap(initialState, config, {\n\tlocale: 'fr',\n\t// optional: reword any string, in any locale\n\toverrides: { 'common.cancel': 'Abandonner' }\n});\n```\n\nOnly English is complete by design: it defines the key set and is the fallback for any key a locale (or your overrides) doesn't cover. The full key catalog and types are exposed via `@anacode-editor/code-editor/localization`. Locale is fixed per session — to switch languages, recreate the session.\n\n**Monaco's built-in UI** (context menu, find widget, …) localizes separately: Monaco's locale is global per page and must be set before its module first evaluates, so it belongs to the host app. Load the matching NLS pack before importing anything editor-related:\n\n```ts\nif (locale === 'fr') await import('monaco-editor/esm/nls.messages.fr.js');\nelse if (locale === 'es') await import('monaco-editor/esm/nls.messages.es.js');\nconst { EditorSession, EditorSessionFactory } = await import('@anacode-editor/code-editor');\n```\n\nSkipping this is fine — Monaco's chrome simply stays English while the editor's own UI follows your locale.\n\n---\n\n## Two ways to use it\n\n|                 | Drop-in                       | Compose                                                                                                  |\n| --------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------- |\n| **You write**   | `<EditorSession {session} />` | wire the individual services yourself                                                                    |\n| **You get**     | the full editor experience    | full control over file system, save, conflict, tree, tabs                                                |\n| **Import from** | `@anacode-editor/code-editor` | `@anacode-editor/code-editor/file-system`, `/session`, `/persistence`, `/state`, `/config`, `/shared`, … |\n\nThe root entry exposes the drop-in surface; concern-scoped entry points expose the underlying services for composing the stack yourself. Internals not promoted to a barrel remain reachable via deep subpath imports.\n\n---\n\n## Architecture\n\nDependencies flow downward only. The core is framework-agnostic — no Svelte and no Monaco below the UI layers.\n\n```\nLayer 3  Composition      EditorSession · EditorWorkspace · session factory\n   ▲\nLayer 2  Orchestration    presentation orchestrator · attachment port · projections\n   ▲\nLayer 1  Primitives       file-system · documents · save · conflict · tree · tabs · prompts\n   ▲\nLayer 0  Core             command→plan→event engine · graph index · hashing · Result types\n```\n\nThe full design — package boundary, dependency rules, the command/plan/event and Result patterns, naming conventions — is documented in **[docs/Architecture.md](docs/Architecture.md)**.\n\n---\n\n## Tech stack\n\nSvelte 5 (runes) · TypeScript (strict) · Monaco · Tailwind CSS v4 · [bits-ui](https://bits-ui.com) (shadcn-svelte primitives) · [graphology](https://graphology.github.io) · Immer · JSZip · Vite · Vitest\n\n---\n\n## Vendored ui-primitives\n\n`src/lib/ui-primitives/` is vendored from the shadcn-svelte registry (style **nova**, preset\n`b3abuW3Imm`) and stays byte-identical to registry output so `npx shadcn-svelte add <name>\n--overwrite` re-vendors stay cheap. Lint suppressions and formatter workarounds do not count as\ndeviations. The only real deviations — re-apply them after any re-vendor — are localization\n(`getEditorMessages()` instead of hardcoded English):\n\n- `dialog/dialog-content.svelte` — sr-only close label\n- `dialog/dialog-footer.svelte` — close button label\n- `breadcrumb/breadcrumb.svelte` — `aria-label`\n- `breadcrumb/breadcrumb-ellipsis.svelte` — sr-only \"more\" label\n\nConsumers must import `shadcn-svelte/tailwind.css` alongside `styles.css` (peer dependency); it\nprovides the `data-open`/`data-closed`/… variants the primitives rely on.\n\n---\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}