{"_id":"dxsvelte","_rev":"45-105a938d25d5fa6916c378971a09c14e","name":"dxsvelte","dist-tags":{"latest":"0.2.0-alpha.21","alpha":"0.2.0-alpha.14"},"versions":{"0.0.1":{"name":"dxsvelte","version":"0.0.1","description":"Bring the power of Svelte to your Django projects.","main":"router-build.js","type":"module","scripts":{"start":"node ./dist/init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"gitHead":"8be48f370d85ae3a7074eeef192474ee1b6820fb","_id":"dxsvelte@0.0.1","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-QAGvvGXA41ru+E9i84LX8baR0WEMqE6ipBpS0CIpRWuErsmTfgcO854AZyHfqDoEd+1dlFtq2Lc2oIgbF4oH4A==","shasum":"6f209861ca3d72abc82d726f546075c8909dbb9b","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.1.tgz","fileCount":8,"unpackedSize":96635,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHS4w+qNo8w3IKt8HY9+Ctbyw0+QaAf2jSYR4Dki0rGcAiAZmU5LYy2KUxR6bVnK57o3JNgDbzrTKVsC3sHyVK2Lrw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKYSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmovpQ//X8vQSY1VVRkGAxeV5tNjZw7S84rtN8L0iF2KXUTdBD/22Za/\r\n0E+ChlipvQGg0bYPEetXOKYOPYQqZh0jy9f9reCBY4Booqx8z7NCVovIzHEQ\r\nk8GiFGoXaQxZ+W62khYdN4Px07pzkkhxiiDw3gPheEkluwFz5OrKkHNRmKtr\r\nAcmccb5+TAxKG4rgJOqP+V57F9QKYsIm+6VJpK0NlHsF21TYBDr+UQoep4oB\r\nN0CQohi3tmnQz+5a5u9J50sssa7Yh3mGP9oAQLRcth0JCHneTIzixiTyj26j\r\n1D+LucqfI41NpAhrtXhFvPQ5Khd6EKJvaor4DhHjQvqviNnVxK3fGOpzI8Cr\r\nsQ+aw7+xFXl2XrTN5tIrS8z4hToNF8ibXvySjcHH3TSM2ZoLDXb5++JqM05L\r\nQm1D43ucs3JN9huGuFHwpyePUoGZQ7k349vyRYscNe1YHr50c8DFCF3JFalv\r\n9s8eppvJy8ldULLSnC7IBOHIRYNVtBL/ZHO2EuxmaOcnsufSuTpO8BVxxykp\r\n4Vt+0w9OgQZTZG/MrL39GZh90uDgd/7/Wjd1y/u4fiDe2bm6xf/hY5mRfFbu\r\nAA8Pq9U4jYPis6STVcED/kb5kZuzEKEK+ByyLTLi4QtrrApIKu0/7bWb7TIU\r\n+LWzoBuHDbGPTrYEftjQcG0eoHzZ39Tqnfs=\r\n=2Mgf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.1_1678812690486_0.5717833306212607"},"_hasShrinkwrap":false},"0.0.2":{"name":"dxsvelte","version":"0.0.2","description":"Bring the power of Svelte to your Django projects.","main":"router-build.js","type":"module","scripts":{"start":"node ./dist/init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"gitHead":"5d6346a99183f58a8345b41181e4360d43fbc138","_id":"dxsvelte@0.0.2","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-Y6J3tX7UXwENt9aXK+dzJyalVQMWhAOQBrh6anJn55ncqx3Tj4Wis23b+mT/SbvLduVZ9uHMhY/RkkgKL2Gg6Q==","shasum":"7c99d5491600020e3b2541b5757f36a9a433fb98","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.2.tgz","fileCount":8,"unpackedSize":96681,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0kkQF87dXjUl4SCz6liUFSKpO+ImXmAcGhWn/LDC/0QIhAI2AZizn8YBBsrDRrir8zfdeEErwLLzNzIr/Yky1KsMx"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKaIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpRQ//bDZMre3b2PzuLrqq4otRon3N0RwkQflDha0Q7YNrHt0fXegv\r\n5x4ZyhVwX7xk1psG2fsENAoY6FQ94r6mlQKXKNGbAofYDBTyTjkpq0ME0KaW\r\n8ttOhmagv2qfG2wl43kesLqiXw9HlyPkLoyf/cqbFSWcAfRSzkaPP0a1EkkS\r\nY3AsAcCAeRqfVfTTaCUER5LEkYQm+mrRwYsk80znTNp4HNK86Y7BR3NIRvu+\r\n41TsrCzAw/6HispINMPW/stb/7gLM0XgloU+6pBXsbJF2BuNNZmV8dsYzRfM\r\nwGzUxUgutsVdfVdGvrugAr+wd409LKIYdfBmOTw/UyEbJRnqBLjCC0p1KjhT\r\n2R241pz3kO0VJmOAcEijJ6xtsCWJ0rI+X7xWL1Fu+L+2cqyIe2dHelIz42kc\r\nrepJT/qQ0Mqe+8f8mz9ZWUwC4w5dTeNEdW8C8V2Mk9U5p4nzFJfUrR3guveu\r\ngDk7uoRAs5JYn41fWQICLRrerSmj2QDoeMxsfnYAjW3+mkXi3HDM9Nj+o4gE\r\nvhkGedtUZSEbY2ql8nOiTLg3AIodUXBJiHS0XqaMHw9A1Q6JKuTGurHhsfj1\r\n3Mm7f2upI1nndUfxMox3/SlIJCQ4S7rxR/KIg6OczioLTA6a8c8S7a1xCATZ\r\n2LDT32e1XWhcg8OMoDN3CGipe9l7isjhrD0=\r\n=4EDS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.2_1678812808355_0.10884159422091422"},"_hasShrinkwrap":false},"0.0.3":{"name":"dxsvelte","version":"0.0.3","description":"Bring the power of Svelte to your Django projects.","main":"./dist/init.js","type":"module","scripts":{"start":"node ./dist/init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"gitHead":"5d6346a99183f58a8345b41181e4360d43fbc138","_id":"dxsvelte@0.0.3","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-YfwMoKLWUF0/RQei10/unkFzbzUz5FhWBkPwdQkJuflqQTtLh/aJAP+VaPZ8V11Sq1E1i8lP/a7FlGXyCaKPHQ==","shasum":"36fb9cd9cb38bd88fc23d9bd27a9e432d76d7a96","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.3.tgz","fileCount":8,"unpackedSize":96680,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCK7xbCZhGTHl76cNbyLBSPSKW7MJ+F3368/EDjzRxvfQIgaTjRlXXMkUN3dSk9EIB2eMuNb+jbAE4QYHeCI/6K9bU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKeZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCMg/8CDyriFm1sW88f9pntuMO+4CstPf5GzmXMFq/W880OElBXxBn\r\nSFbzvTsRF+Fg/jMjIZ74lPsBj0TbjdAFuJuU/qT5hUhvbrkU8MJLiwLf2J44\r\nns34rXh5NQCzAvEE0eckRVIxNOk59qgWgkubTfbmUtiB7ScIgDl/bU45PlY/\r\nGGCZMF2k5Dsk9OkUAt5URlJtRqlfb9fApFlWv0jrHZhl0roByzBoWzvbCyPL\r\nMaZ+H5hZlA54nwBRNVm5U+Pli10TMnaOtURGhNxo5Y6h4Da4da008xV56Ltb\r\nQRbb08GfgT8HxMeeAU9JtmcTndu4OtkW08flIb5jwdELK8szClVhw8zOaTHs\r\nb1LHwWzcqo7pOm6fdZu6y3rmcc8sna8QpA/aucTEB/rgvnx686GMVXZ3pPGF\r\ng7991Tbienr+Gx+EHa/SxKWe4odCuP2lNA/hUGdPvHP3/EaDonVQdIsCVhz3\r\nl9CMMh3vb2UImNxJhCSAzYOBCnEdosYgZC9os+f48TY4kPVfpaUrJzNe8/A/\r\n+oOHuIb297rb4e43CW5LKs+XzHZzHiHM3Gs69b25aEv1/3tL/SRDH3+NdpXi\r\n8//f7yzRX6oI4Eu7irqz0tFN+vHeEdyktZ+fENODC6SBcYjCxkzalGjjplTn\r\nWD8rvpN3376eeRx+UnEur1EOks2kvz93g30=\r\n=La26\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.3_1678813081683_0.25934765134501414"},"_hasShrinkwrap":false},"0.0.4":{"name":"dxsvelte","version":"0.0.4","description":"Bring the power of Svelte to your Django projects.","main":"./dist/dxsvelte-init.js","type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"gitHead":"5d6346a99183f58a8345b41181e4360d43fbc138","_id":"dxsvelte@0.0.4","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-JaKClCOMYEahiYG6Li3EbQbQ/RpwXUCixD9SS6hvGvJ7lGBIo1xGlHDbMX9Bu4dGi5PisUzluDDOYv8wk5W/kA==","shasum":"9c877affdd6d1efbd5b9b68fd287fbc6235596f7","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.4.tgz","fileCount":8,"unpackedSize":96698,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHeDvlE78rDNk0j1506dbpb1JCd6s+ABmS3mKx23q6HAiBSbnoa6Zpvz2JF+Oifb4ivnBvBz8ltWzbHjqprorANoQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKf8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoajw/8DthNHszB2VgUL8Pm4uWeebh5u4O313TARtMcz/n1s2fuaBTB\r\n64dvF4/ag0GNS8mbGSx8CJNa25niVGTQeFhs1oPEYR9eN/CDCvB0k9F4rvSp\r\n4VoKJtEXlKMKylLUOgSeOmjl9+HHEVQnS/RaNY5UHi2EiXl5sQSCx5CMHqKM\r\nk61lVATsaRIVtDmwCoO1lEplHQ+/yFQdrvKv1O92NyEoYeGILLf+rz5LRAr6\r\ndvGtt6KUUvBhCEJwjoqQnywz0gknWKEJE7dDIJa6W3LAr1YD9fSgp15jCs/Z\r\nQ0c2aRQupbRxtVm8EjJ90xQPdgUS7oy3Ri5wDRo6EAsNrhsbfTklHmAYGEi4\r\nRe9so5T3/gRobg57s+Gq7XqmabsoI/ioWb8NThH3jkmkEfQIqO4l3eap3lse\r\nzlnb+rDSbcpwmtJmNrhjsaVBLUDoTMyRq7l1kbB0UvClvFy7R+iq9Xj2gUJ/\r\nbsFIsIrrR9zYuXRsKAp/S2tNNLbN5x+cqxNBD75eBRdbK667RsHCsX0vsuxo\r\ntO8avE8Vsx5rb6iEuIDIvBLx4FAOmQqCWFF/Ypd4RYa/02ZQ7esOWt+kIRIs\r\n9GA8ClJTbpMTh31Fhj3K0EWZmn4zuZzJfQnm70QwoB4FJS3/AoNmRMuwi0eR\r\nj63oR3Bm9O3LS0A3H4gvqMZnj+FBo/3f6l0=\r\n=UVMq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.4_1678813180537_0.0738423462604536"},"_hasShrinkwrap":false},"0.0.5":{"name":"dxsvelte","version":"0.0.5","description":"Bring the power of Svelte to your Django projects.","main":"dxsvelte","bin":{"dxsvelte":"dist/dxsvelte-init.js","compile":"dist/dxsvelte-compiler.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"gitHead":"5d6346a99183f58a8345b41181e4360d43fbc138","_id":"dxsvelte@0.0.5","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-PO3UqF80R0osp2UF7Sd5viclZ65HzY9GmU2v4Do9R+Hj1oT2IP+FwQJQbSKPoVxRjCENCD3H2qEIRvfIYFihQA==","shasum":"4c0d2f7b1e3753f665df09212ad8ba29999b36b6","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.5.tgz","fileCount":8,"unpackedSize":96783,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEjWGi7ccNq3XXxFsIHgTcvdOOdJpRr2Kxb1lW7AvnyxAiBbMTX+yl/15TwlLUZBVaF0C8k5oB9bjjFJIgafR5s//g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKqNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNAhAAndLue9B3NOqyrexo6QxtKM0RyBw4efk3zMc0BLfF0M0eVjEp\r\nuzdp0SbnVmKHtveDpruc263Ds2Kff/e9AI3vCxN/6wDAsCJSsPDLs9o40htS\r\nkWOIeMn7s8zwdRm/edR3GUcZNN4HPRlyH1mDjRxUyhBzE4lRzTIZFXmnvkG8\r\nHIEIx8uk41jDK03g8KM1BptCseb5i+hjfRb1xXcXMPma2tSC5tfEXe8GllPg\r\nYPzOQxXuQR1Sj70+x+Cw2dyX4u8m3VJfSkn4QZBBQ2FNDz4xfhojOxtNK3hq\r\ncfT4jD9QzAkTqxJkeaBCPkPHsbYOYLcAATtExZ0HxIaJ8AFJGcaY3TQnp1nN\r\nohk/+rE2jt+RlA/pBIqKhM0b/0W3bFR6ePYuPlOKOwuKKIBoLHel3spvXwFW\r\n2p8GcLeC6x8OcQx1u5sbiv1V29e43JQtJiH11tl+JGec9yBBUTASO/dzhLYT\r\nJaekEi/OXaBdQS/sI+xmaURW9KpH8QfHW9OPaMVJvzqbamqvnamO0LwHQLU/\r\nfuX7T0tX69suBkSj9LjEceIGk9H+DmvIE0epdQVTFOIa9TyvwahHiWCv/9fN\r\n+Yl5PmDmWGzn4bRCUWzJo/2KzLly1R+1AjdV2S37vKhI23RXcZUk2VutdRlQ\r\nZqvhTwzYfxlT4wUmlg84wHkvTpVb8M/3iUs=\r\n=bFvd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.5_1678813836890_0.8316372207823157"},"_hasShrinkwrap":false},"0.0.6":{"name":"dxsvelte","version":"0.0.6","description":"Bring the power of Svelte to your Django projects.","main":"dxsvelte","bin":{"dxsvelte":"node dist/dxsvelte-init.js","compile":"node dist/dxsvelte-compiler.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"gitHead":"5d6346a99183f58a8345b41181e4360d43fbc138","_id":"dxsvelte@0.0.6","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-StwGEd9i86E1leJwNsjmA4D7N/A1hOck7HfAjegARnLHPt2CmqBALKtx3F2qwTzPhCRTHQj2qb2lLinQe3Zisg==","shasum":"0e32801e41d2e6adebd76f3cd39526143bc6bbe4","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.6.tgz","fileCount":8,"unpackedSize":96793,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtXbgrzHhEr3v98dKxwP2XUqV+6DPG4nQAfh8pORWoLAiBNuM1N+Khy1+11dI8cY2jFwtR6gDf22X6JcTkC6cK7yw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKrDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1SRAAmso75gLds2XlFp6/SMGSrZWw5LWlgeOHinlVMEq2UcHqMgj1\r\nklxjWA8VD9Q2LJND2JTFm7hMq8c2D8uWQnq9Oa+ezIsbGaPzBMhYk4Eh2//9\r\nWmuX9P5HwiBWMMJlR4EoD6P3JrIuVsWRlmkxGBgMmmi5jdFngfDTXMkurYGj\r\nICpHTo7m90z/VA2l48C6tHTIo2nzuvv2Vq245WkTVkllr+2p6qsuCyzmXuqW\r\nJSSFUXYPllnEw83mCnH9r1pOFOeuFwirI8jxDGWTPKSDDKcWvx+nnbQwSbFt\r\neuEUEpsRbV57Sx0Bnc7CjqyxlC59t2Ft/FBnO3XfiIFd4GeEtwSuB5vOyEhY\r\nH5s6CVjROgc/sJuUa8+9L2HQbyuXuIzxIhRcKvCKH84xLp9CdunUDDQYRoiB\r\nWE9/PTSwHEI8sUY/WAuyzzHqMIQ2XanRAZmPn45HPwpL3binDzS0YLZwsqPG\r\nJ4lsN8PS1T3CfAZ6pUiqSJDwidNEKvtKHNIi0UBnEIorj4iQTE7iKISF0qZI\r\nI02XnQiN2sMwOXaeN7P/0NKTuR1R1bNrrmquggJ+ZKibgex72+FSxvBzdECZ\r\nDrudm7KEehslTeyVHbXbeIzc8fhJcP4jmgxzX1oj9xUcvplKpOQrFI86Mf8H\r\naBeVcx430IPtYKTkMnAGhB8ofN3KA2OfVLg=\r\n=BLwN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.6_1678813891322_0.40461721301187703"},"_hasShrinkwrap":false},"0.0.7":{"name":"dxsvelte","version":"0.0.7","description":"Bring the power of Svelte to your Django projects.","main":"dxsvelte","bin":{"dxsvelte":"node dist/dxsvelte-init.js","compile":"node dist/dxsvelte-compiler.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"299530616af2e7ce1b6c272f8faba60690714c01","_id":"dxsvelte@0.0.7","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-q+98Bw4zL3lS07JJIXdN5RiyHUh9frXNuusgD5fOcrPhlioWEHhwojSfWP6+6uEzwo64LL0mZFFowpGeiMfWfQ==","shasum":"455317cbebc406468f9f9209141de54fcf8dcea9","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.7.tgz","fileCount":8,"unpackedSize":96942,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTCy40t/w0sWp9SFGaF1qMqrC3Wbj5gPrZa03je/73rAiBDibmjZmrnQTINOEAcZyOfFCktVhWPB+PzWTqTIpOJUQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEKuLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEwBAAjzYUlF6gqweKr8di2gV2krGpbUboIFUC6teXvPy8/X8DJ156\r\nR8sMBfPzs3gYusRylE2exogjuRWYxm8Dk2Z1lF9xcqyPbpuAk0uOivgWmehs\r\nDWfTaXC3puXfAgy4E3kfAoMqRAu1L2QaHNumg92/nS6OTOJhHMPGNt5rOx5n\r\nBpzfqT9iMw6N6V1gO8wZb/olRbVlJ177ph/r6tpu101A2IY7VilLI9dBISKJ\r\nvFLvrDgVPpSWULJnUMS4FE99jhow+ya2eBr0OfRY8mhmILaRgFGIMz2Zb4qq\r\nOq7j/RYHanUYtPx5pRoQPTv4mZzfFR+YvS/KXy7l/Iqld3Vs3UxPpW7zlxps\r\n1VB/xJZBxi/6EttZr+LSaG2Paab/YV5xtuz9juj1Vtyw3MkI3l37q0AjfO+4\r\nEHSTUxuIzw0Cg6fGBBOIvCE0geBaunSkDGmQ2i7N2YKBEfl4pM/il0r7pGic\r\ncUUrOfPSWVweRxjbxCCPRIGwSIfH9HbRqMsTXo+BwLVlV/mfH6k8kPTZBOUc\r\nUdjCLd5Dt7E8VFAzfVpNiZNgSTT4LFn70twwoQbU2SZXkf7k8+lGWh89RBvK\r\n+hPAm4Z9eRn/qKkK0V/c7j24Sn6UyC92oYFjgZi1glRypfYKtTHIsO1WJuuz\r\nUVqSniwsUjVdZPFHcPoO/bS9vi5uLIp2SyY=\r\n=DAdI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.7_1678814091735_0.5709257715932876"},"_hasShrinkwrap":false},"0.0.8":{"name":"dxsvelte","version":"0.0.8","description":"Bring the power of Svelte to your Django projects.","main":"dxsvelte","bin":{"dxsvelte":"node dist/dxsvelte-init.js","compile":"node dist/dxsvelte-compiler.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"4fd42435edf5eed95fe81a4112bd5842c89c2d21","_id":"dxsvelte@0.0.8","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-5qHNVtd0EV1vPXWJST8oRGeVbZ+k9ObQEonSDpEUkgIdiaB/3nu0pQd9FrZ5ne6rALBMl7SMeJCRyJsEUvU8Kw==","shasum":"044706e1e17c75a70d7e1c56406cd4cbb11690c4","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.8.tgz","fileCount":8,"unpackedSize":96988,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDalCx6gPcnJqwEB8PysPBa4e9dof0l//XMVrYt1f+cwIgSfIkGzqhRwa+UbGT9DmhmwniCyOY4qbBgxA0KCFzaIw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEK1WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1Fw/+NKs5RQz06VtYcREXourqTZnjeK4aHhcMkGpsbtC/+wBGdY9Y\r\nrji4OfYsNIRHgLzV9SM1bq/++fwoKk3aCgfOQFUtDW8rGjAcqTa6/r4bBSpl\r\nX4ous7cALqXteD90YDz5e1wtDFvR0BCu6PGHlJxElLh6wCiJCH4DZ6O0+gih\r\nXtuuWEIsO9x9PDd9f48j4w3TsMyM3vG5rQ+uHakUQRFCYqTUcUwwNbNbimsi\r\nkWfyMrc1fd0mvaNbn5C8zJugwzc+Wzh3y7H+6SNYPEN3kd78Mg8N6LtTkd2c\r\nzT3RfLUGiXQwGxi/X3kvj9b5/3ecVbdPYUrs/unXUg/x9kTUTaPwxPDyHcWB\r\nW0vxkPToIVIJLa1D8Qa0PvX1cO8J5XGhl7goyBEn5bMGNReLUGVm5g28oTVB\r\n0/z0CXHwk7D/SOrrcIQcUq/vkeNxBL+NVu/luB6bu1CXl+ySeO+/LvD/fNwJ\r\nUVokjWAtkgVHYr7CsHEazm8MyU9OK8gdrt7j595wMS6+j1qouQ7FgQrRrm6S\r\neALrSyAUk1NgawxX1Oa1c19jTj4L+y+SyE0YC1hZJ2X2IjoZdWGE4NEvitc/\r\nHEHO3ordc2vahSANRFZyZOBFjEFlSZfgeEzpJG6zvsQwJHBrI/wgkN3x0dMU\r\njxD9XCWHUC5d/5YXI7x7Bi7LXj7hpNhhHmM=\r\n=Oy/J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.8_1678814549886_0.8986809202760895"},"_hasShrinkwrap":false},"0.0.9":{"name":"dxsvelte","version":"0.0.9","description":"Bring the power of Svelte to your Django projects.","main":"dxsvelte","bin":{"dxsvelte":"node dist/dxsvelte-init.js","compile":"node dist/dxsvelte-compiler.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"4fd42435edf5eed95fe81a4112bd5842c89c2d21","_id":"dxsvelte@0.0.9","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-q1I7lw7oTSA6HPMwYaqUMJnsq0GOhRaQ2DPFrojmyBvqNoaVt5mO8TlMHbdeKKo5pFg9CVQRy2h1x3yaBBFHnQ==","shasum":"b3bd10cf8255580c205b1601c4717755bb420100","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.9.tgz","fileCount":8,"unpackedSize":97032,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGjWMmvCZdA2otYFed4q9+pvu3al9iwY8oEKNniKA82AiAwLmmahP9bhfHQwn1N/m6jU2Y5xEqGWzKMvFs7pefs4g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELF2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNhg/9HwbTrZTFwCcUzt22RFm21ucTX1cx4CojxJVKygNDnhkh7M8J\r\n7RggKaF5/zFr67Iu7miLi5csnF3TGVLiLNFy0fsHm4gbmn+MzYjow3qqJCdc\r\n67HjUAixSLv2zJNlSO+vg29haVIo7L6ab2tULD1HFd2mqwT2TLkPfMKnufE5\r\n7nXqn2f/pBA3T+vqu2dfpT8u91MVaiVaKnvk5r24RfTfd301in5KREqSJj6Q\r\nPaBk/1hVJyp/rR9z9tt9qP+PeMfI6+ZQTZ8Ks4eO7OKaV6t4KPzJnArSwQJD\r\nxcn+AALDz/vhVqy3ngyKrmv4y5QFZZnaHyg5QI+wDSV9sv/4pvWBC04J7z7j\r\n5D//wtOWF8wiVmYPbnQrBxhDw29YEWUgirwSSSvyvGcRb3pXxcZVg6Ggw1o5\r\nN4qPxmgonVl+py4KJniUELHts1YJxaZtxOGgtytF6pP9ukirUnN1rLsPLEDq\r\nwd0ibZdOpdU3xUSJJe+X/7PZzBu3taW5qrgBiyTIJsPRNKcC12AOsCfynJN5\r\n1PrC1L4FtJ9PsBBq/wOuffrPH3x2flY6q42kSzCg//BNQF8XFAUgOM2MqGjK\r\n+Djr+Z7xjKGcQaVdZR8HM7Yd3dmRE8QcXe4qXShqDdQiTXN2ms2xMM4pYPgB\r\nCjL/sRdVmDBS4wR5qyVIRPKTOdW6IcwLuG8=\r\n=PjTH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.9_1678815606289_0.237081990264411"},"_hasShrinkwrap":false},"0.0.10":{"name":"dxsvelte","version":"0.0.10","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","devDependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"4fd42435edf5eed95fe81a4112bd5842c89c2d21","_id":"dxsvelte@0.0.10","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-Ht6RUhMFD9j/vErmbAQpqZZhPqJBTZZxpema45trKaUjqCsrmGKlV6d9JYMFL+JlyfE9IJ5jIMo+IMLb5DftdQ==","shasum":"529ba7adffb76ad23859cef5537256bbe29052f5","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.10.tgz","fileCount":8,"unpackedSize":96994,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBM76OQ/63CSCS4bj8DEcPWJx351L6TOPXAq/nehECFiAiEArgEut52Fw5KvT7iTiFGdCOq3U6EdsQ/ZONAwlV0l+Ho="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELZgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruDxAAh3bOmabVbBIEiV8F7B5Fy/se17WqIKGoZly7yMKfA0oOS4OV\r\nd8h4VU6n/REQnVJXyYvI1/UkBz8A8lzIkAcFITRbGg4jkzcVhM/wnRGXMxQV\r\n3PtvhSmwaPklKZUlFbWv/alQO1dqnPG98Hbrd8PqdSe2wD6XDUIWIW96ahlF\r\nuYX8oEvaw7Mw41skRxTs4HhsM6VO/wMJyBpaPixvuKdYlJeZ/Rqm6VAR1TQg\r\nGEaM7vervuk3shJsMNPZadXEJdsgyvhWr1dOvkwI/c2TAVRNHt05N9690tf8\r\nX57ASD860tw9a0dN9V6gtZcR2csuvA9v/YcC7xPq/JkSJlYpxYCulWtek6jP\r\nLMO5UZwqxc596bFq5/qxDvJDQKe9hXzKMfebuyJV3A6FEuBf1SXvQeZjBfU/\r\nOIVVqRF0cIlyMwb97bh+rDKlK0aGEPL5II2ZsjjK/E01Dcoj6/o4Zu9HBnnC\r\n3XhEeaOVuX7UbPrkvbspgGvkuB1swodwL+6zEDffDLEbJSo1gUjULOib2SYv\r\nVGr7uoI+Cb7VQ7flkE9irH6Wu2wOAnorxD7ud9nJk9y9F24SyMyg5lESsttY\r\nVYAhKaN3a3578LOgAmLg14Qef3Tpoiu/UMHbiSZs7xqVbXi9knnoDW2ikNRV\r\nMsoP6B/PE6RWa8bt3mNNAKJUOcuH0UdQcas=\r\n=pb+x\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.10_1678816864664_0.9191114246823717"},"_hasShrinkwrap":false},"0.0.11":{"name":"dxsvelte","version":"0.0.11","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"4fd42435edf5eed95fe81a4112bd5842c89c2d21","_id":"dxsvelte@0.0.11","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-XsVJ9lYpBwldDI7djWc5lbHi7Fatkwv35ZBHptL/Fc8i2CSHJOVSjNJy4Pfqk7srVJPwe00W02/z5ytwePw/1A==","shasum":"bfb7e2133483e8450e51214c490f5547b024cdb2","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.11.tgz","fileCount":8,"unpackedSize":96991,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtsiJBe4j+8/0bHKa66hM08z0Vj/baARI6Qh6liquK0AiBe2NY6US7vE761sRVmOCjkImkrpZ6+Kki44PgE4ZWTeA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELbVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjCA/9H8IIhvLpuK9v8eqH4GHSYQHobu32HEBzqB9jOGWb7GRkIbb9\r\nl9z27S6JzRPmyjDvtDbN3U94t9Cg2t2ngLrCZB9yeqwQb/5H2g8oQNjV15WT\r\n7ruaf0MXcqvIwxGuPZUBdu4kQhhx7+pkBxWoChLFqlzRhue6MCk7M+CBwnwe\r\nRERHUDnpNq8xocFLpotOISLoT5sBi2blzmVNAMihSby2pGedlqMYgC1DZ7LJ\r\nLnIbv6QT/upnxVdXi7r2LDRY3AkFE/JihLaFSs0yGRETC7dz0QqTyLXEzJJE\r\n4omHviplkVZ6APOMPN8aWyL/pPfLjsEXbp4VEtTkjjM0JZZGxwhBHygnUeca\r\nonpn9Wdp9gPqoKW5fCV/7kyd9YMNEi3OiWI0ApIVqbgIfrWzX9StoMWtFo6L\r\noybxKFAxXJnwqVItPqF7ffcC/0SHp920WoVXvLAjBo9Z5aYDDfQCrllIBCjs\r\n4NVSIhAsMXLiIGfu1aVeNYZKnui5XL/Rh4EkHGNS5tJwkyY7gPF2P597IUTc\r\nUpObMAoW6tRTvuuNb0jgMMvcz5gUIzaQY0hdQqD4r1qYd8enHqdTBY9+fBuD\r\nRGipMtJ0Dx8QVen0QFa7MWUe7YDOIpAjlpeceGlBLKXfcL0KThMUStR6emUg\r\ntJO+YYVRYKYd+Kx8splDXDVJWALm9ej3xFc=\r\n=z5Sz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.11_1678816981334_0.429234116405971"},"_hasShrinkwrap":false},"0.0.12":{"name":"dxsvelte","version":"0.0.12","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"4fd42435edf5eed95fe81a4112bd5842c89c2d21","_id":"dxsvelte@0.0.12","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-PKJ5g6qiEXHh8H3E8ZesvtnUdcZAbaiyqW5wYl0Xrx8jzmeejjsAoywyglqvm9jD1Nc4DSZ8EAAb2/Lza/kiYA==","shasum":"494d83d15e3af053abdef9e45c94f491000bca68","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.12.tgz","fileCount":8,"unpackedSize":97247,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEEeC1BVuxKdnm+XwNuWrLJTMg9exQe0ParNdCAXFlpQIgf548Apq2to+w7Kdglig89xLfpJXSzdG2cycyTQyB+TI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELkKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpQRAApNVAwZs+3/9ZyQlztyObmg8/oAekqwBCB7K3HZ2oOZd4XRwl\r\n/u3hOzyRbJLAyiY7SiinV9rAI7qjn8JH78g7OUSYlBHctIo8oN5iq8HNcAAb\r\nryZ+lI0WZL2777wLOokxxyj8QCGbndc66JxO6RkIvFPDSsWuMJR6lsJsNW1u\r\nCvLPsfYc6OH64/gXueAufZeM9T4SILxvFONiaYANXQNVPz8Zsorgq2ZlpVQa\r\nB6nO9ozIUwF6oapQuXouU5ncmJqDwTSM60qdlTCP9zpS+CaJ4eh8pklm0xe9\r\nk7reOiN6GH168UTIL4J6TkEmv74gpPROU/BX7oiuGyN8bZXZy1azGW4QLB0F\r\nFbH3JGDjrz/3u3Q1fQUStREwjQs723Xq7iKTWx3xkLzR4ZEHLYOPyuBhECa1\r\nJH63a1OKxOO/L831hM57yf6RP1W2PNQm99fyzh2AEIV5deL4KPDjKXOSHZz4\r\n2Ljxt4THLlx1qUgsGc07roE/S5wqm+VQ85G4d3LG8lXcohWEPXqvhw6N+NqL\r\nXJmh8+NPviUqj/AGZgfbmAcfmtQZqICWp4s5Qw8IVkrCBXFhz8FnBcuO6yBz\r\no+0DdXWeiD6rBKr5TdcaudWH3VpNNZRKMVVgVO7AwkYt2oNkEUoXJ/yF+vAo\r\nRhY9fPsZ0sFR+aBqzeebmzJVqNSfptzOiNI=\r\n=RV0f\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.12_1678817546138_0.7274458474582202"},"_hasShrinkwrap":false},"0.0.13":{"name":"dxsvelte","version":"0.0.13","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"cf1ca15b5cf74bd821ed9607a690e2b74b18703d","_id":"dxsvelte@0.0.13","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-Tvwr2rR4wf0MZfy6r5OtVgcLbqa/Gp3gXdxuMnYPqMdbXKMDzSV5lSejw9jyRBpKUmayDbOpPVgFNDESHjxQ2Q==","shasum":"b240630375875ac76ec5273b5e44ac834f86f71a","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.13.tgz","fileCount":8,"unpackedSize":97238,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1U2wp3KqkjgdGvzYHzYEyUf/GN7ZH0LY7Xy4fZBR36AiALV7O85/WovDU69ifUYznlvqfYrjwHgH9nzZs5MZ1PZg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEQeaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpkaw/+Jr7GsWRB4elE1PDAQ5xlYZ/M50hBofqNWzpRpbI7Jiw3XfCk\r\nVgDHq0RbMhmX3uOVLwzlN9LHuexZmIuWM8jVpwKnG8aTd5Eui4q5Il3gUbSV\r\nC6+L66vy3uJLtFNcnbqYhOLyin9yHok5OQNTSE6jpfjY2Oryf0Y7/NVSy5xz\r\n725weIy/HV6kv4mVEd3dpC8EwMusZZnoYnOaVL2NvLX3zPJvT/dhQEJAZpMG\r\ns5+SyU4vp5kO3xCh+CHjoo+YeDKL1zIsQ7A6V04Q0gzHyItb2GrB2OKlvXmf\r\n2CSu5DgA18mQ5TyTCmK7F17rEtCL0xx9RVLI4tuBjlvDRlo3J29gghDIMnBK\r\nOQ5SzrXF60kOF2JIfbGOiR99SGd9BxIAxSapmBaw8NYceMXxPMM109jAgtwN\r\nKHOYGWG6unDZWmJj7uNgQPtCohNmiez203r4zIaPX0dJdgt8Vqb8SFFUzY2j\r\nrTcgV4U6DSFcpWfqtMPPl/Cugp5i6SX1w4brNoaCNL0rbRnfio3z0t9nqD+q\r\nkMr2Kh9/HTPVvSQdSIGekDrKmAE0X+Nzqc1i2X7HHw/81/aatzOUOu+9yBKP\r\nXU9rgmPKUB0CG13knyXq1mR+v8bTxeSN68gz1gRdhsxm+0aIOYcp2G0GCCF/\r\niPoPFggW5MkruKuk+3ndC5wsjWBr94CRh5g=\r\n=4j58\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.13_1678837658637_0.10850067367924487"},"_hasShrinkwrap":false},"0.0.14":{"name":"dxsvelte","version":"0.0.14","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"214b9c1f7305fc5a0f134d31ee86b82aa3d3eff6","_id":"dxsvelte@0.0.14","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-VS3XxglGSEgOxjcGnBpN9pApvZ7ruLz0ZFxRtIGvR5+I/xt+CUz0idCPu8iuqxo2YLkbLN/fqC03IfUBaIGBGQ==","shasum":"6bf63eac484e4542aff28641bf9df3d627f4f5a1","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.14.tgz","fileCount":8,"unpackedSize":97286,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6rd5XxD95yAf0VBrnf2uDFBgcKPRxHFr9xiTRhJoypQIgXl1vgjW8551uNLf1bxh/iiZqLuCcyjlWCexjMs/lRZQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEQiFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+0A//coEJuFeSxfAYX8uz+Kgpu7xPtt7yINy5JZ/UwiH6Msg9UKi8\r\n5HnfKZXZjcNqxHgOK2R/Pj4/EIncVyI3CbJRiR32XB2ITudf+N6u0KurQ/yr\r\n4/si6I7O8Wr++0RwVbRjaJECyyia9QSyxaKiDI99a904+5hV3LSyWA6QXw+X\r\ndTo9yS32qki6YQ/UcVmEGM4y4ABHoXZZVHHGNQw0hdgX3s4ELJ8whSXgzyqK\r\nrmaw28NfYMhfoGrPUVPatHl8viZECNoeIMQ7kZQwDqwNdZBh0trPoKzXPrl/\r\nfJqHZUJrFdsaIZSmHQjLYfJwXSbrfM56V5VN17JHiTsV3L2THn4EaBRgtmxo\r\nt+smGDYVZ/A/FZwClQoAQ8aK+Ca+iqD5xWt/IlqTxNLWFUK/i5FhA8XdCdPm\r\nbPVhyCYDGKZ0QTS3yCrzyl6FsiKlHXuNip5mF3OeiDfaj0Acx/gRXZaFwdl5\r\nMC4BIDq64Fg9WRB9viefhWgsWZKBMlmOkJqiINcLBozGrFnd2vFnU/J87tx5\r\nJzwk323qNrJf3vulFXWJ3mXwn1XrR1yd08K7fz743tlTfbz7dn3OU/vKdffx\r\nM+Oxug1Qh64gZrHlwJJvFwC+WqC1xuCBlp4kBfNQ8mgYyTBTta2sMt5GMAgd\r\ng97gSAoXJiCcNN2d8XWmsf9kEwROOBtnCWk=\r\n=zMKO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.14_1678837893319_0.8829634038030936"},"_hasShrinkwrap":false},"0.0.16":{"name":"dxsvelte","version":"0.0.16","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"3f5bfd953869ff43ca6e1b78bb1385885c518b5e","_id":"dxsvelte@0.0.16","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-zlLaz4yafZVBgZZkCEmG94L5J12KPaWlabKqOfOpIgJuJZ4DpBdah0R6JmoEPpuTZz3VtiFgCWwjuSi9sKFYjw==","shasum":"9800b5e17767d0c91545b3c3fdb5eacb01fa105c","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.16.tgz","fileCount":8,"unpackedSize":114046,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1u8oklHv5xqSXZzMNCOu4TQhN9I9MGbg4LVsaimNDigIhAI0G28iOpdc1iFV77eyjn+Gh22Qap+dbwOa0PGkhWzNA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJQ1FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkBg//ZLDI+Wqp4xoM6W23VFU0RWunAkcu9d2hp+BrU2eR2Bp6l9lL\r\nCo+z9wtjGuHj/nuz7vml/ZQ1JwgqinYmfdEh+VAe4oHI1ojL/R+NF0nfDX3F\r\nMv1+i3FiihK/RV3GDdLQMnJD1NiIEbddrnZ+QqDrdGAaIU8wpMgYBCxtVy1Y\r\nHVV9OVt9hgi08SBPHY+2fEml9ZIg1Vw467GJEZWJE3BIhyuroHwndsvdIzlM\r\n1A5qhWivOuN8efJfaCy+ppCtU/XB6YJi5IRBiWVjd68j/Ohv0vg2eNWOF3VY\r\nDiUt6Z0+flnahpVyYSQ6oz+tdi4BLbnP03gHfwwLV4yP+ShnaB4OVsJbXrFe\r\nRDC5lhjE5FFv/Z0kxbnWIueTB0xqORiJh3rKI8QpyYnFs6TY/scq69p/MPw5\r\nDqPudHKcIwu1k+EujXQJzCk8br0rIGltMaKnPOwPQ/UChefFsyPdbhgdJfNq\r\n+GfJrEH3wh+Sd1qmxRhcEvB+Peg49ngkFj7nTadbG3mJgC+sU5/dOCYl5vT8\r\n+pYbmJlMk0d4DSK783npQmFzTk6OHv2qo2S76hNdNynaqA+5bQkU1+4tCuuN\r\nw+mIIGAXRfVMTv+kL2CWO/0pwRFZM/R18NciEQA3tSkeqeaBbKoqnTbPCvot\r\nNj4P8jDB06svheFJe5g8lDC5Qr95uETs3mQ=\r\n=PsJu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.16_1680149829017_0.9922273510690114"},"_hasShrinkwrap":false},"0.0.17":{"name":"dxsvelte","version":"0.0.17","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-svelte":"^0.7.3","svelte":"^3.56.0"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"957b2dd0ded13b3694055c72aa21f3c6f6c015d6","_id":"dxsvelte@0.0.17","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-6Hy4sR5R6O540AMFsmn+xN2mskVHLNbm6RZg77ffoZALG1HhqoaJvtqco/j7f0tlnyOxSMu7L19B6y9h1+aeyQ==","shasum":"8c55c568fccab107adce4f113a22258e7f052195","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.17.tgz","fileCount":7,"unpackedSize":105409,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8s3b3thxmPEQSXYV2JBjZiPJhII8KV3FIoGw0dDp56QIgZD/ZmrlT54CSWqoKj/YYu+20YI+gi3Ics0CikTHrL20="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJbI6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXsQ/+Pd5fpdsk9MtNs4xSpNgO/L/lwOGmlewxrVzc1sF2haeTrrQV\r\n1T1Y4XvWB+fC7XlzA/PwFz846qheeLHoWtnm5rFRahV5aZ9R68gm22v1Hr1M\r\nwQS/ZTSoJXfbV5xRmPeWNy1h8/ol5UZrZyuv9FrLwoMIKsKIQvrGewobVX9Y\r\nw22uaCRq3mSnmuDocNbjJshWw69z7pVETVZTpi5ZMzKSXI9xzvnI5BSo7oW+\r\nQNII8UxBAWibBEvwSKzQnqM8JXD+RpmFSqU0SnlH5nI+KAa0a6mgmsSdvLYm\r\n27t5MQ3Rm+jv64p13ynz7fKj6Uo2lBD1e+wu73YV74HEm6pf8QTHAjxEmspe\r\nnI462LNhj18cMvNvXKPK3OIp1GSND1EFThJvqnBTv79dZxap5nu+tnnfzrE/\r\nlmXvKs7BCeG8ChsE92OuPIYV4MIeAjnnwVKQP6iVOlqFKU4+/YvqVmKSsoQg\r\nMbliRyBDxtsqskrefvbtt/c1a9slJmsHJHh850PrG6yIxN+8AZkVzRZ77aRn\r\nInLQSAg+Gnvb9UO0F4OmO9jfeAq3hT2gN9QRxpcoQU5ynCAO1QuEvBnOnzr1\r\nBHCuyIj+s7MPhDLB5YZhT7ssVVU9pEcoEYD9ixcSGjDcN4Flnx+8RC5qW+5Q\r\n+hraqV/UoW6jIe/SMLYTUscGZ7VFb8IRtVE=\r\n=i8fS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.17_1680192058026_0.5005668548862725"},"_hasShrinkwrap":false},"0.0.18":{"name":"dxsvelte","version":"0.0.18","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"1408de9dbe0ab8e41fcbffded6a83319104ef968","_id":"dxsvelte@0.0.18","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-lPTDzOp5tKuYOoLtIwDHuhVKMyEbRdvtVsX6yuDG8m5LtTbFZZ1Uecg70JVBSGKxwAWB6/uphwOB8xMAS/99LQ==","shasum":"719d011076c844025a913b1c89a4d935de5012ae","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.18.tgz","fileCount":7,"unpackedSize":99139,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzwG7XL/cgVp/NfZYLW6pjklbJ4NwxCA7YuMaA2PN4lAiEAtPZZMl/RvKTTKvV7DdwWUD5nM2XC5giXTeDaQeLsBQk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJ8HFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs7w//et0WoKj6yiRXuAwNEqGsfzVV0PcjRNTc30QT9oOd05ciW6FC\r\nugqY7RAT+NrIse9j48wFZ5PI12Lp5h0KXI6aNjjM8NJxmfW31pgnKsOZKlxP\r\naUMJIQ6yboJYVZ1zB7CflpvhssdDLqRXGEc818dWyZ+gq6EtxmuGfkjHAbcs\r\nYVGplpDOnuHCyuls2pbQcqzPZOBEIRHD9x6cwqxosHCDVuPGTSobsW428XUQ\r\nBCIIv0ppoGstnYx1uo3HzY6KG8sjhzQov+1AMPPg26Fwl+3GeblKjH2cMzNE\r\nA+WSoYy+xCVKtZbDBbGf/5I9FZnNnSxNpPIcvfKJ1FvlkeOA7M590jeK05yl\r\nZR/QQe4Y/fewu8OLIXRdAdK7MGmdKEWkunllzOYle+8V0c36NgJG8oJZ8KCq\r\nAmIdC5BX1c7XwEaeuzDEKz3Bj24L12T5XT7tAba+HQypaMl1r/dIO7JjyAcp\r\n3qdxOinm5nr6+gIVXbWFvOex0rR+Ianse8mLAPQbYxsb7R6A92FLFp9WuMeX\r\nMkKe1gdFHPp6D53b7tjRZuFKKicHZb8hZuhv4cWqQnZrXKE+btofvV1r4QKv\r\nqI+l7NfV3eamFDIiTCE3db7fql5WDhrCFU6onytJ8ogDA9QfyAzQdBd3IGf7\r\nyz0pCG7VuRb7PHNYhSRHluhRzSBgPlTIW7o=\r\n=7LjR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.18_1680327108955_0.29814139874385615"},"_hasShrinkwrap":false},"0.0.19":{"name":"dxsvelte","version":"0.0.19","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"41159b9532d9e1f7a7e3058b061ee34834346cfc","_id":"dxsvelte@0.0.19","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-9T5i1fpvw9Ziyxd/07ldydpK6QZxfqcGWScwSA4v5nmCRTUfD/K9WweG2yQUOG2tfsvLXzGDcxHORvYz3l9Cxg==","shasum":"51c378fb331c7eef3d2d8f7c20f697fdb5467e43","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.19.tgz","fileCount":7,"unpackedSize":99644,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGzP5k5xLk4lYROg0p8cHcsGz0n2jd+qmwm+es3AY9EsAiBm/8UW4pLxmoFPWmzPmtNgNTy7DIuw7mLwhKBDMNDZDQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKLIGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU0w/9F2yoRsQ7Nk3HWQYqp5AKxbh1fBbLjR6xiFJd9xNQjoeJexTs\r\nPA+ArjwyKeaopLbA+KakPtXyQvuacnrfwSdb4uA6dhXeadKcS2T7znAH+9cm\r\nkxlbpzKq7Ct9NM9GGRj/nuabReSwBdhdPo7m7ov2MOO3fam28unIGyxS7MY0\r\nS3usc/eQIjxvGCOyKa4sCs40cn+NM+zjorrLat766eTtcNLkX6Mzd4EYd5b1\r\nSEhJLU9TqagQ6AKBscij6JAFT8ksHcLJMBFulMH0mXakJvUS6a28Y4U+FcAn\r\nD/74SmBrL3cCCtJvxnrQGiIAlMsZoUBnJHdt2L6/asu88lBqC0VyNqbroj8J\r\nfKenvbArrrhm5Ylt7yFPomJagbb3KJdvCX+f+uBf07/tc/agN7wahySxeDin\r\nUF77LYFF3dQ/MrVN2qj8LmJSQHOrQNxVlv+lnJyt1ymYuW08IM9G+rl0Rj/o\r\nfCtMTHf///w2EMZN4Ejb8I2nnXBM7IbKJJtg+acGnGhQkAX9Psft/ZUTGdix\r\nZ+viTh+kUMPiMV8ApTuTHI078DKVwgalJ0XNZCKgBXRsT8UIJyOXmyxGFbIy\r\nodglj1Q2juzJ2GFB0tJ4vpSBHvqTgcqqvVR4eX0SmBaqH2uZQxYob8vyZT8y\r\nZpbB1TtKoBeVsqizEM8vvRkYYUa1rkbQzuE=\r\n=Yb3r\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.19_1680388614259_0.35439246961486104"},"_hasShrinkwrap":false},"0.0.20":{"name":"dxsvelte","version":"0.0.20","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"676672f2d49c2d237d8c75ab1552e06d0b7dccf7","_id":"dxsvelte@0.0.20","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-8Zsa+Gs3VziXgzZSEPkOd98NO+mvZnEATN4V5Y0B0sG5FMbVIB3L1miRuurii6Xa9Lp/sxo0WevjeFgfvUofDg==","shasum":"e6b7aa7fbaef42d5d5633610567499ff9dff0684","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.20.tgz","fileCount":7,"unpackedSize":109824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw1g5KBY88a7NwDykccx1CcGXQsSXXOpWVH5i3AzRTxgIgMZO46kZ/ynJ5iyIHDRPu9IR2aS5l3F2Wa4U8yLrC5zE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLi9CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDaQ//ewaKSEqR/5krZp10DUO1vhTcBSc2hC9g7MeaXoF4HgFlK5dq\r\n80qmg4LUeHFzeQZLLDYfUtOOhmTd0PYxXLEQvT/KK8Swnt0ZRSzsXJ6263eg\r\nG2CZ7gpvNxp64sf7G7fCRln+Lgfmgg45P//EXDMbv3siTbEbbV0QBLUwIce2\r\nHlWTvCCS1AZ7vXvhe5st7LUKZU39C9LlovGEayo3UOGGeqdw3VymfRkdYK0a\r\ne03bkd6e1vVScIHtcAkfh3YsI6FTjamUO9QE1k4QjzTCA1Hl9EgeyUC77hTn\r\nN0WZji/svV3lWKx6Gw8RTN/25n0hEybIZL1wLIrdSGteT2gIA206CnC3C6rK\r\nOV9z1IM3VW9B95evN70QFmoScUgoe1gW04V1U52pqAWK3VXUFAAMYd4G5CEV\r\nII5D+kkjDsZxal4057Y9wa9mt97aIF7Sk85NKU7oNKl6LchUhYvq5luPzkuD\r\nnOq6YvnXLLADbqL52l4SScsj+PhbGx87LN9+Q+7SvZgSq0zrT6hclbWhtP99\r\n4louv7NYhqd9L6skXKZrEwPaqTplkIgLtqK5/boXqhQw3pFDKtfoYrmH1lhZ\r\nZ53UCZTAl6d989IdcnO4Urm99eBh4AToNpVbtfMw7VI3mZHcRs4yYmJ5GkHY\r\nA0nXdQhQ18LZLkHw1YacFY0iNrB9eUG5Dnw=\r\n=9HAC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.20_1680748354737_0.30411815636392503"},"_hasShrinkwrap":false},"0.0.21":{"name":"dxsvelte","version":"0.0.21","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"203e4df8bdc434bf9222d033a87b89ac7784516c","_id":"dxsvelte@0.0.21","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-q07T+hxCsSJ1IlkQTmQYq8aZokvCF5Rs1ElrgBPsoQxkFrAZLL02yArlD38LG8JbujZGD29qKNtIJcZgZMeYWg==","shasum":"b516e88e8c7f8f8f5da15a77375cc76dc6dd6e54","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.21.tgz","fileCount":7,"unpackedSize":111628,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM6Ig4ehSrUNBhPz7ebgtJbsfsETl2hzRGP4MFfkQYYwIgBl4byARKKr/+/AQ4ao8ycReId90TSGW7EYzEn3AkcrI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMNKLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMDQ//cn0oAz4zj83XglO0Xz86ERwYEQixmK5PlLGyl6cEBDpk9PfM\r\np4k95vtU3wmLhzWtix+7laN4aukDkW6Sp+p6KKv0bZUeM+lgYCkP6/NL/bYd\r\n21+p2SDMfGXduiv616XkYvWcCbHKcYS2/oy3BKWiRttf032w6woguSiLudRV\r\nS0qvTGxp/c9tueunx9gxtUQxK/HAPmhNwMAf1SeZs1fw8QbBrwCVV3wV8nb/\r\nxinaWZIYWeUrfQdlRmJgnJoa0XgWVZyfEJJX2erwzfhjrNMK413ORgyVQelw\r\nkx2arxWFa1ZtYRi7r01xCMWZ8s2EiPy/pEDiucm96DO0xizvcyOcNScte6gM\r\nyI+oXIArr/GkMpTasEQefQ9PwIiSeQpb9y0cHryBcKcce43L9qjqWI0gZ7qi\r\nHz1WZmnI2xmAMe4q5oLkPlHKQkA0tG6F3HHr0JYXTWOg2JRwxlIDwohlBGye\r\n8Qldxj8srtJg0QEC+/gqt4xEEEpDtbTprkrObUbrv8vTz/HNTjvkYAY4N/UR\r\nH4fsgnIygteMXlE8dkiRgjSkux5jUQhXlW0H6lKVSUp9VgZJVQtHnNUt90QW\r\nf75VtzTRN8+BU3MDo0miSM7cisq0HyHdzmRkR4yRCatA6eisExzjJmdznzNZ\r\n0aV3svb+dxjJ9ANJhsDr/FsPaVDEEXhlQZw=\r\n=4qJa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.21_1680921227331_0.39148550815665506"},"_hasShrinkwrap":false},"0.0.22":{"name":"dxsvelte","version":"0.0.22","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"783a0f311d4ad9b8421331614a6dd78d00d8594a","_id":"dxsvelte@0.0.22","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-DO0CqupAF/pc/tttwpCjW9neKgOEuI3Qo3SI9sHibJlQirHo3RnoCuL4Zvy4JzVLFcrLjbLvitRc173sHIqeOA==","shasum":"4a2404f501827e1ed2e890b6c0ce3e22c973bfba","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.22.tgz","fileCount":8,"unpackedSize":113928,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQtWqzoe1i0hHzyadWAIMD4WM/jzUe4vPD3jS2OySfwAiEApSOkDmwY657N4j/XBYbPt0wDVv7r77To+bCT8UASWI0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNNC7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEZg/+J3uCu9y17QFehkny6uw/cRw2cOME7GZvNqwvb8N0DsDkCnQo\r\nHv1lJJ3DTvmQuS9i24OgUvRdR7ONNrSsWS4ER1ZrM05CTaN/LVGxvWEymzEk\r\nw6xpZNz8eDWMP2MJ9wyl3V9jbsohJB7VWaTMMobiMJlvtYmdilm+eRVM06Lh\r\ngxZ/is1dJP3ZQekJTbVlg5cvsO3BHSmCvloU0seUeLls8AenKKUlrnSCiUnq\r\nPynbRFBMiU51AJooVM8MFqUrBh2V1tndoqMggSZGb7XUNEHYn2LqjJdhKnWf\r\nq4LrdOCJ9B+EuB0G4U6f/TtCRNAj5eSCMp3W8CXQsbARXVEyXnF9Ck0t4D5g\r\nowkvRCFblcni9uAFAYCTfP2tiPezBDjqQLEVgnUZtIa0htyryVppkBCWcnsb\r\nPkrgr4DjD+G+wZl2e80890bKhIVOKVwmSx7YK6DNxi21qjjV57oooDXvYvAY\r\n/p0YyS+IitVPTq2moicRNJxbLtKiXgVe4uYsyp07Y2/Y+YYvwFx232k0QTxa\r\nrIRe9ka5DxquAY6BJwaS1VROtinExEUSKb3HKM3XOdBvsa0k39g7i2sPxRk5\r\n1jDEdy/KC2sMcuFQ/9cQe/OIkEBAyKUWhN6tzEJ9lp/74A0ieAyTNMvFaUUr\r\nsMn/fDOAvoMq8gRQCHGNCTfsvW4iVgJH8+M=\r\n=pjyP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.22_1681182907588_0.9099228500828029"},"_hasShrinkwrap":false},"0.0.23":{"name":"dxsvelte","version":"0.0.23","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"5fc3a357647cae31c5487983eb3ee7ffffb15f73","_id":"dxsvelte@0.0.23","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-nAc07FqQTZoMwzl+mOpm/gKKYpPizBhmeI00QsZKCUtsmFQA20OhRZaWz/dY0DjJFdNHdCNDQaONwxdVVDGFNQ==","shasum":"229cb1b080e55a9ddea71093949442305f3de825","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.0.23.tgz","fileCount":8,"unpackedSize":115319,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICspyra+s7arxWdm/33eswXF4H3dHwOAzJcXyeu+lPGuAiEA3BE41263ox8EGCMtsRwA5RuyZuJZvYCALaz+02G6Mq0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNNh8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpe0g//S5bv+9yv12LsNcDHchTJ93Bk7cfD0zZ05SQwUcXFBYIEFol9\r\nyxjpX9wz1/IWIF2mWYtYLkCBE+GarAijOFUDvRFva8G5oqYePnKTZe3hjc/D\r\n8mm/4n3ViY7RMAbPMFBys27j85MHI22LPjEcM5JWY5/+GlH6A8BJvyGuW2Qj\r\nbXp08o+wAI4cqcWVxC15T6zl7BbDgrGxopkiw2WHXboJ7MGlIGv1TfFGff0x\r\n/vdVSCIICwAjOaNAw3e+5xt55HY/rSaGq3T4e8h+T9mK3prFvegcpGxeaV80\r\nlHfaRHsM2EW4qdld4XUISJ8TDCgZHf259OPbxIoVAaAp8f7NMtAYWOHFl2sm\r\n0LRyZPFym6z7NZqujyPiD1xKpy6lnd94j2iPv0qU4bEzFY+IyxLxPqqPLlBY\r\nrZtAkahZ3PBxBpYXdJQFY3eEQAa4RV/5Gs6w27zqytGaxGVQ4cKFgDkOvu9n\r\nYEAWVaUgiJ+ZiousJ3xNjfDiPnC2TYihJ+axJKfdLouWHXN3jh0+XNxsdeCW\r\ndoFVvBGWOI8/oYVRPxMSOsMZDFhHj9khLsDTap0dnalLTsreIAO9OLENY7uG\r\ntu3eGZPLfWuk2lKazgTKgySlO+at2MxT643+0BiQJ7X2EjrbDxuW+DK1EVaa\r\nQVCIQEX2Bht6gSw9wUZ9p3ytt/nhL/Aucxg=\r\n=Nvt2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.0.23_1681184891922_0.7533353835473198"},"_hasShrinkwrap":false},"0.1.0":{"name":"dxsvelte","version":"0.1.0","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"141a52bcbd7c4ac403b2bca2291f97575a780d27","_id":"dxsvelte@0.1.0","_nodeVersion":"16.17.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-hYdX/iquVrpN9joRJJiWxjHevGCjl9uQauLX8xWjyFIlf5RaCzrlhTPJvenPTTh/AcS71CcDZyw6/5Mvmw0htw==","shasum":"6b4a9a733bda7a094d70dcee5f8f375632d6ed89","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.1.0.tgz","fileCount":8,"unpackedSize":120804,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/T3nggLIPcE7ilqft7SyfUzHNvyZBvyWf/szgzWKQyAiAXE1tXtPiFyGZZGLFcuiByy54Zco3NUMjCzkNUhLV51w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNZ87ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtFA//aDEBK8YL2Vsmu9WW53sTthsF2Ercfx2eaakORwTRhgger98X\r\n2vYsSH9j+C1tkdGmXRj2go1GcUfmRZOQ0NDCdex8/DklOpEYh//44cCjQBpn\r\ntRA5cRQXY9lQTMCg98iHCo33XlyVbFTNhqS4k73jtqOC5iENQLEE1c4gFCz1\r\nQgypMxmMZhATQ1x9B5iSSWvQCKaPyJzT41RyiK7km5h4v/KudV0+UFTc9XIK\r\ng3jLeYWfJhwKTfUGmCtsz0n0IqpjrHGyqQJNz2UcPIbKzlXcSzOwbwotNe5f\r\nVSbA0s07fxpv5mYw5GsMjjgDXorEotgHRjX6D5UZiTQeUZDCVGDZeaZLuwrD\r\n/NGzrmJjcpn5bUbdE70UQqnV+TH+5zbgs1bMNRw52sZRpIUCEaDd+TmwD60y\r\nT7FNuTWBIW+PWDAGSqUsPC4YN9O5a1bvkU/FVMKplsWXMgWhg0wPnHKutO36\r\n/sLnRbs1IasNLOWrOnSkBZhKf9p5WOCjvB02gTzx4EwzZwTJHNqoPHER0sLN\r\nk3ZMgrSdlecKQcdGBOnn4hwiF8J6tiWlt1zLmdIEmSuV3KVmOlQaif9aIw5Z\r\nDWwH57wTpwtB112hW2o2/rrXHsbk/vd+BVKkZXyOYY6UkVpuU6VIqNwREHrD\r\noRlityFfzVlmfZFyyNUyVyPMaK2Xoq+RSUE=\r\n=ml7Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.1.0_1681235771480_0.7605148448912624"},"_hasShrinkwrap":false},"0.1.1":{"name":"dxsvelte","version":"0.1.1","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"7348e6646f2a10b50cb2360cc5c114e0de2f729d","_id":"dxsvelte@0.1.1","_nodeVersion":"16.17.1","_npmVersion":"9.6.4","dist":{"integrity":"sha512-SLFPMkiEnEPj1HzGjuN9B+fmjoMj/OY6edZgGWjWgrT6kkxzkyRBrsZbwT8nsNhthnOXopLP9NuIedFj6dxl/g==","shasum":"229c9c352bbf3dfa4ecfeaf42b6ebcb0cd57211c","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.1.1.tgz","fileCount":8,"unpackedSize":121513,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICcCzyJeMQZkRAyiLWkxT3Q7e/CzigP7BEx4oIZ9WCP6AiBGahGoqVAxPWwwE593Aez3dApmMSJK4gxdtfHijc5mBA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN777ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxPQ//f/U92fDOgFqCUzL8lNEM4PAMolHO+Fv35SjSnwx1Ey+OL5I8\r\n9jj1YKD9kKzcIuxlgERkO9RW3YtVNObJaRUHUC/qlu+aPeR8DuQWr2ygD1O6\r\nkeEBR8/smo+cu5XJ4PINWe59Q+xp8F2MG/bTILLhGCyoJoyA+UAdblMwDJdJ\r\noBO1A9XTSpLA3V5TS1Pq0UbZbjjX4PupVSSYE7wUpSn4va/J2g8YYzZxANB1\r\ngo71d5TMTEfRhT5pgv1Gtwe17fhhmZSkS7IC2P3uF3Huz7Uf0ulmy69sH9UB\r\nZs9JcjAPt55pr9WG5uzlyU8oSD5lKMjsVd4eg5U4L4wGtx4qqny5JyLgNVm/\r\nDHX3YLVoOC5yQCxgHTzP+7skvLov21U57YL7vgUV3jlaprwdJohy4RFRttER\r\n6Mewl/EdOKM4Y7eTGIfLfsD2t7j88MLYSyKHYf/+0vVW6YZBYGskK8Vtvje8\r\nirrDIvHaJKgI7Itx1IJYOglyN3OxZOpth/E6KKHQvyG5IEV7HRladwIN8HNP\r\nPT+EIOFzz7Zvf8Xau8AF0z1X8TSjJGYeOkpaRxjYHomM+gKR6ijrvKXum27x\r\n7NnTsZ7FHisXcpTWIu2wNdJgEnW0oOevfls1xApZBORbpwAcZycOpMxzxbFI\r\nayELwnzm0qiWZDKSq9xVHcBINC4cRy5CMWA=\r\n=+NFC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.1.1_1681374971687_0.6366832872069081"},"_hasShrinkwrap":false},"0.1.2":{"name":"dxsvelte","version":"0.1.2","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"7348e6646f2a10b50cb2360cc5c114e0de2f729d","_id":"dxsvelte@0.1.2","_nodeVersion":"16.17.1","_npmVersion":"9.6.4","dist":{"integrity":"sha512-wFPN1f/fW9Se03zqRfp8FWh1en1ifBB3+m8P0eFVPHXYCiHD2WNJKuDfBl0ZvNA4oRk90pIjInoIYgoX/mpjvw==","shasum":"ce1da3d4e8902c0df54f7c9403f771a4fad1ae92","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.1.2.tgz","fileCount":8,"unpackedSize":121515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj7VGJR2kvaLrW+jGxhaGWFHnZbYP6FoNurGHRg8SCAAIgLj/2mflYJq2IxVd5Yl0vJim9Rt+6ca7TCIg7xPYrLlo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN8cQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo++A/+JfC75J5NE1tf260ypQqUkjCZNZyS7wB3mixk4i5FiAcRt1X2\r\n4YdVwPGxNnZ5HSuTsqhEcpMPZ3HkJ68dekVAtDBkRXhX1eGQAL/oVl/ypSpD\r\nzwVMgd+xDFbjUZFve2PwNrOy6BwamZBY2Vpzdla8Oas9ybq1tr0yytOmYTHq\r\nBMS1alVSuGodWwgZZPq4I0DhWacxx+e/X/h5bBuq21ES9vBtIPXljDuqGZ4O\r\nerkNbNF5917UF6gsQI/DbsFEUeS0cd8teHerOoS2CqFbzwchyqTYVMaSxSLA\r\nITpLIOHAcj2NER8G1+xeGKdF6+T+EHPdyU2nVsPmb863a7lLqLqg/233auzZ\r\nsalBkdoq6XZFR0Iw1l/1FUPPLSp38ubs64QvI22p4deIpP95t+65hO1jhYiG\r\nh4nKNCL+K3OAdRp4yGItCCO8msIOIxoOhXElECADBoRxuib6LY2ti+kDchA6\r\nwyCg6YSKCY8Pp/R67+tiNMRe/xEsfS6TBmQnQFXvNYnhpM4B+bJrg6xk9Lum\r\n4xa3GbyDeYYHhISzITdB3p76GMUzIZGLhwhVnkY/MJzTGExkiDTpQKMBia9F\r\npywzF9+t0Fo8OkcGNCjw9QYwL9K5Ep9gyd2TAP72x19w/frqkQvoNEEArsUP\r\nZFwszQfxwK1wuzGxnGRgFAnxvB9UGjRHCxc=\r\n=1+Q+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.1.2_1681377040125_0.35553555807184023"},"_hasShrinkwrap":false},"0.1.3":{"name":"dxsvelte","version":"0.1.3","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"ts-node ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"2cbacba03f2bd548e847d5a6145cb0c1d94e8379","_id":"dxsvelte@0.1.3","_nodeVersion":"18.16.0","_npmVersion":"9.6.4","dist":{"integrity":"sha512-n7751ux8rUQhPFMUlBvyy/IQslbSLGxyendbo12Ci2WwVe2xDOWQypFdVr4XsoiyCWGfIRxQ1AWclrKyS9gesQ==","shasum":"e1edb01c083d0868b4b707c41ebf43c4a1826c61","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.1.3.tgz","fileCount":10,"unpackedSize":123028,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqOnefNsKQLft5AaK1TlMGg6PKUCJt5XRdpXUZ7MiSQAiEA94mPqo9wZhsIEEjQvKgNLEJHEqgXN4O4SkzLC2YYHsc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPtmmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqF3Q/+JswzjWkEtpwgLhkbXmz6z4Y4yxsnTfyxMbqKBSyjRAbTsCOY\r\nBjCbbm7RfxPsweGX05mTZf/3HbPJFnEkltExs45ubVGIzqUUtG6AYy8BeBt/\r\nKh2XaxFpvIppxt/wNMsd8qqfDIJnIGY+nN646AExfbuTSNgCOH2QT9MGIn0w\r\nscVOrE5T0P/Gz+oqOgaai5pagZfczprkAahdcujjCvp9yqpI6WdFUidmLFeB\r\n/np4AIXNkd3xZjDaZM1FJt61G9XufuTwiehfK43sg3Re27fFN7RTz6Bk0KDT\r\nCewkbDAqp3YXNPJj7Cc7tlWQmOf5emJ3s76x4ZLevWMcUfSBezlucVDwSa5o\r\nmqKisLy1p7Wc3SoH7fWnhHwM/v/paGqavrtnAv6RXdQBquBmM8FVcZYVzwEL\r\nofyuInP7eXvD/CyymLwcMN1m9jWY6raYSVFotBMLyRmdGFmXUn+IObXq5VcQ\r\ndvr00ede7Uxk7CaD6XobEUh3Pg1FDFF9mERLdZ8rWixzdtF9XpdvdQPVWfZ8\r\nI02lsZlZtstaJbJv8itNc40QZA2Z6mRmAJUL3F/T0pitzhQb+EUzCwrWx2Y1\r\nszw5TVC2kd36RCJb3p2gUpUim2iLQP0NmdS24XTjJHoqQKD6qWFY8s85u3vK\r\nZpts+8SLH5mhNmT8d8lDPDNaVyDbcLL0hQU=\r\n=PO/a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.1.3_1681840550601_0.2106321892290337"},"_hasShrinkwrap":false},"0.1.4":{"name":"dxsvelte","version":"0.1.4","description":"Bring the power of Svelte to your Django projects.","main":"dist/dxsvelte-init.js","bin":{"dxsvelte":"dist/dxsvelte-init.js"},"type":"module","scripts":{"start":"node ./dist/dxsvelte-init.js","compile":"node ./dist/dxsvelte-compiler.js","build-dist":"ts-node ./src/build","build-dist-and-update-playground":"tsx ./src/build && node ./update-playground.js"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","dependencies":{"@types/node":"^18.14.6","esbuild":"0.17.11","esbuild-plugin-inline-import":"^1.0.1","esbuild-plugin-postcss":"^0.1.4","esbuild-svelte":"^0.7.3","js-base64":"^3.7.5","svelte":"^3.56.0","svelte-preprocess":"^5.0.3"},"keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"gitHead":"810a065358d27847661683815a7133eb2922624e","_id":"dxsvelte@0.1.4","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-90c13A15Rk3p+Apu+18PyZdwEX+bgSbY82Jc5v7FarHHbFbCG7f5S88757ZiqZPiNZfBgrc6c1ne+EBX65v18A==","shasum":"10ef3a02eff13ae81cb6a9a8c7321d318fab03b9","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.1.4.tgz","fileCount":10,"unpackedSize":126730,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmab6m3+zfrj0POOmjJAzjBRTFEB4YWEH8u68H6DenqAiEAv2duKk8R6ORvX8p6SSHpxdCTunF/gI+0ggC+fyhJE5k="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.1.4_1686332646343_0.6482746487678444"},"_hasShrinkwrap":false},"0.2.0-alpha.0":{"name":"dxsvelte","version":"0.2.0-alpha.0","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9","figlet":"^1.6.0","inquirer":"^9.2.7"},"devDependencies":{"@types/node":"^18.14.6","@sveltejs/vite-plugin-svelte":"^2.4.2","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"036731aa6a1e46b1d17cc6ef5864adadb8f6d740","_id":"dxsvelte@0.2.0-alpha.0","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-pdLs8Sp5rkPZyvd248Cf3BBeDLMH8Cswt4PJrAKvuCQTaHXkf6QtDj0cXRiMSaZsquAcKR3EVp6qhmpLoLTgQw==","shasum":"6ef86d4a8f811b0f4953c91778871cd41c0bf3eb","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.0.tgz","fileCount":21,"unpackedSize":149653,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD51qeEiA2NgW5XA4pON8hxbhNmq5l2lTdq+2JdkvEjjgIhAObxQiup2owTHV9CPkjEwoIF2b80dencbmiKWekNOHba"}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.0_1687662296489_0.2811696881207759"},"_hasShrinkwrap":false},"0.2.0-alpha.1":{"name":"dxsvelte","version":"0.2.0-alpha.1","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9","figlet":"^1.6.0","inquirer":"^9.2.7"},"devDependencies":{"@types/node":"^18.14.6","@sveltejs/vite-plugin-svelte":"^2.4.2","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"95974d0dc588c3f9d79cfa72742583eec54fc8c2","_id":"dxsvelte@0.2.0-alpha.1","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-Ovfvj5sF6IoiDxJXGZKAO1FTbV7bYKtDuxieKOHS/0D1DoskeYNuPGshVg7gSeaJ/n3iKjGADiklu8mzw4f0Pg==","shasum":"75a6bae4db49bdabc4e1cdd25935cc2374e6dadb","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.1.tgz","fileCount":21,"unpackedSize":149667,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHq0OriCglP1FdyBbdzDNjljz/moAwkV98bBjy/7gcdgAiBLaVuT167butM3HcnT30lTn9/jzIm/oV++5kFgdHn3ag=="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.1_1687662517280_0.5591277310426059"},"_hasShrinkwrap":false},"0.2.0-alpha.2":{"name":"dxsvelte","version":"0.2.0-alpha.2","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9","figlet":"^1.6.0","inquirer":"^9.2.7"},"devDependencies":{"@types/node":"^18.14.6","@sveltejs/vite-plugin-svelte":"^2.4.2","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"5c78f814269729a17974ee652d019699a0715f82","_id":"dxsvelte@0.2.0-alpha.2","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-Yd3UmrhlpsDx3Z3dJL/kp7Basm9usUzY9Bk6vtsDn5RDxw2UWRCMDtzQo0j03BitnA5I9FrqfpKQ8z26FuWaww==","shasum":"b35562db65024420dfa7ca6e457d13ab97940796","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.2.tgz","fileCount":21,"unpackedSize":149853,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/h1c9ZERF4zRCRQkYD9IIJv/Xkp/QoBrAfNiABmQFxAiBccch/v2m1mp2MsIJjF+3fNAAa68XPU/RDt1Yp3ByTbA=="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.2_1687662815529_0.29591592226900487"},"_hasShrinkwrap":false},"0.2.0-alpha.3":{"name":"dxsvelte","version":"0.2.0-alpha.3","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9","figlet":"^1.6.0","inquirer":"^9.2.7"},"devDependencies":{"@types/node":"^18.14.6","@sveltejs/vite-plugin-svelte":"^2.4.2","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"5c78f814269729a17974ee652d019699a0715f82","_id":"dxsvelte@0.2.0-alpha.3","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-yvY/WpW4KRiOe3qWqOm6s0DkYPU61tt3OdL+8M18JZ63fJ8HSHGsMTHFrBFQepTqKoVr/Z8PWeeFlbM32E427Q==","shasum":"00f80c89b85cb3ed84954a7f796eb363cdb79012","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.3.tgz","fileCount":20,"unpackedSize":148161,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6Nc1w9hTfa9TChDCWxdIP+VfYZhowOzeYJYyFVFS2gAiEAin0IqyqthA+yna+u22phgC6xFds8wdl9B/WQ8iIApDs="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.3_1687690776444_0.03777550381995676"},"_hasShrinkwrap":false},"0.2.0-alpha.4":{"name":"dxsvelte","version":"0.2.0-alpha.4","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9"},"devDependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"ea81fa071dfcf3ee313fcfcecbac8b5a8e4769ab","_id":"dxsvelte@0.2.0-alpha.4","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-sZO1lXAHk2kCa3o8JE+PlYKdgJQZxht+SntejSwreBcowcwSLsxsymE/Kk+LvagdgtfsYGq9y3NNdcG+vmc0gQ==","shasum":"d4625ebad34b4f8edd1ffcb62599e247cb54bec5","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.4.tgz","fileCount":20,"unpackedSize":149612,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvq7vmq5Ih1FMDYYYoJZb9/nghbIfDC+h9iVLiwM+WvAiA6eq/PE8ci+EQMHRPDyLvU7dqHq7Vmj99QzethnbQ23w=="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.4_1687741116932_0.25020507351266774"},"_hasShrinkwrap":false},"0.2.0-alpha.5":{"name":"dxsvelte","version":"0.2.0-alpha.5","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9"},"devDependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"d4a622e0310e780b829e4365aa2c2eb8f30cb8c2","_id":"dxsvelte@0.2.0-alpha.5","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-ogtxNNXnGF0NoLlZkanMxNEB7g/TePzK+1YsPTEmarq1aV3IMYgE3ZC92S6lZWlYtUAGYky5SA9IPDjzjFXaOQ==","shasum":"a26197a08c815f7b9c7a48d8cd245fe867e93066","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.5.tgz","fileCount":20,"unpackedSize":151361,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDE/Xawoe+tWvM8B1+Qv5+jWjnJiSv4fY6QfjsI+rpCpAiEAvyhRV42TkUsxkErUtIxbWzhZRNX390grvBzyDrrgJ3A="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.5_1687743056415_0.6219732004345873"},"_hasShrinkwrap":false},"0.2.0-alpha.6":{"name":"dxsvelte","version":"0.2.0-alpha.6","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9"},"devDependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"fdab6a4ab17f1b5df538bf421c488af1e489e767","_id":"dxsvelte@0.2.0-alpha.6","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-j9EDM7xBtwjo8hsu0+fTuufy7HUBJWk9QiqVUDZ80mC/7sguIc5J+05LEputmc6DQJZ6/slZ87qb1pIWv1yy9w==","shasum":"b9152e033859179bf9484e70f02f1edf682db43f","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.6.tgz","fileCount":20,"unpackedSize":151478,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE87pOJJ+b23JBspg7dMGRJW2aiSjTRFAwlhJhMw2v96AiEAgcTOF7/lnxqT3fgHWnuhjtm9iC9ksU0R/z3sEXNalKg="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.6_1687743313399_0.9025883969123007"},"_hasShrinkwrap":false},"0.2.0-alpha.7":{"name":"dxsvelte","version":"0.2.0-alpha.7","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.0.0","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"165efcfce155eac31cb6ea9472eb837d5fe50df8","_id":"dxsvelte@0.2.0-alpha.7","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-FhY+eJL5ZvtQhuiOxWJRupjDQkwAcpt2DMpgPvgG1CW3gbkmLB1QuhqqIuvDuRmuga22pyL9Z5TPJdSvJhCMiQ==","shasum":"d99c7de0dcf34d7d73cee5c734b2ca686b842ca6","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.7.tgz","fileCount":20,"unpackedSize":151361,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1D1a8+dHyXTv0QWj9KoHGZtReSjUDtrzDsFRRHmnHnAIgHoNQlp9xP0PTLzWd9EpGbITTYJCFkHx6cTexJpfd7Xk="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.7_1687743494227_0.5208864414048073"},"_hasShrinkwrap":false},"0.2.0-alpha.8":{"name":"dxsvelte","version":"0.2.0-alpha.8","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"f965863a671604f15dc2f9090872a58b883b1f0a","_id":"dxsvelte@0.2.0-alpha.8","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-JA9WF/igtTRpjKdLHoI7y4StN6QIClmMCOMZ/Zcq+732Tk7lvwZmosLCx3ZVQ2cKc/Ozwcupr1Mb6b9DGytAoQ==","shasum":"cc776611a51f4cfaf8b086a73822c803fe5b0177","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.8.tgz","fileCount":20,"unpackedSize":151302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiTP93la8p1Ah/yAy7dE3DJi+MHHbNtKOTqn2ZAO8C4AIhAL4gCoZ/1xJn730y1TM2qBdHYgb32W4r9gZtixQNGOYM"}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.8_1687745634450_0.5221966397284901"},"_hasShrinkwrap":false},"0.2.0-alpha.9":{"name":"dxsvelte","version":"0.2.0-alpha.9","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"a208dc015fa0a596d687a7628c73d394bf21adfb","_id":"dxsvelte@0.2.0-alpha.9","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-yjEjyRe0uXKmzwpzevxuZEpDvvCsjQYId5dYAfl9iOoO7aGtWJ8r3BimEwzfW2kv2yK9h3VwazzTi15OGTAk6Q==","shasum":"40d6e91f7c963b3649cb4f54e4109dc2a5648e4c","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.9.tgz","fileCount":19,"unpackedSize":153224,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgVD711X57z7cacSMxEBxXShh+s9oD9LKyCrxKTkTtFgIhAJtMhq/w7yOGCYV/iJYPJ1D7KcQmfqJkrZBe599CvW5A"}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.9_1688003075989_0.06400593517334685"},"_hasShrinkwrap":false},"0.2.0-alpha.10":{"name":"dxsvelte","version":"0.2.0-alpha.10","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"80685221d4c576a1f329443772fa3c24e37d2f17","_id":"dxsvelte@0.2.0-alpha.10","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-4BAmlHobdzQIppW+RFufuBB0+UT6mbPsrY2o5ZmbWds7oRQOxFeIr45o0E38ftnHIi/GPTbZe0BVInEcySj46g==","shasum":"aef8f68ab8d4402610337285a0f7e97488d88c27","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.10.tgz","fileCount":19,"unpackedSize":153939,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB39AiaLSsFJ6HYBqYlePX2NODWzQQ6Aqht85V3+j/zvAiEAzFVO0ci0B/RbbTfh/x+H+jxbDiCjeAlVsvLB6wEUU+M="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.10_1688003704359_0.29081230865153906"},"_hasShrinkwrap":false},"0.2.0-alpha.11":{"name":"dxsvelte","version":"0.2.0-alpha.11","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"b774912cc1e0c2fe56d70dd7b3e23fa451ceb5c1","_id":"dxsvelte@0.2.0-alpha.11","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-s6Xl47ySFv2GQJ7udYVTPbdfUpTrUBLOQ1DXll9nfV/SfZTE/zHr3+e/TudYaPO45x6cibH4zeyx8+hXEGXQ8w==","shasum":"55a9a911b6a7dd16269a2f183bc26ce35e1e6476","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.11.tgz","fileCount":19,"unpackedSize":153401,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw5Wq2nKwuU2HcJ6JJzK22dTGX+qbJ7yOUFWHX1HoSiwIhAP491qfavzV3awIGcnkoRB02qdl7WQqASr+lvQ5+S7mN"}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.11_1688004635601_0.26606253333119145"},"_hasShrinkwrap":false},"0.2.0-alpha.12":{"name":"dxsvelte","version":"0.2.0-alpha.12","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"d51ea1a891724e700b995d39366b35f1bd707b86","_id":"dxsvelte@0.2.0-alpha.12","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-UyC1WIPfO/VxD1wtAA4wi2pPm2iR7gGSQYUNgtyoQ40FlrLEms8RU/13JHcJtLGryYdLNddxSWBAd1d0jC1pfQ==","shasum":"38c11714a2aa2532e4a86fcfbca9e5320d50ce74","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.12.tgz","fileCount":19,"unpackedSize":153285,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBhjWTQBeROfyro83H5gsGruV/UreZuNKA/xqjVC4ycGAiEAtcl8ydIcwF4vOJFpslXhBMesh19oO+YQPO8R+jjoelM="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.12_1688005165307_0.8391114755339315"},"_hasShrinkwrap":false},"0.2.0-alpha.13":{"name":"dxsvelte","version":"0.2.0-alpha.13","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"e954ed918ed6fc7e904b9ad7fd3bfcd8df136270","_id":"dxsvelte@0.2.0-alpha.13","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-OADPqrX0vHLSkB1SWH8pdNH6g5FYkWmcLxyJRsQbJoCNwbWZyQyFkQPMrrpRqRaSFMcfhtcM1EZxQOw89AUD5g==","shasum":"79621134b5eaa23938bc1765cff385533aa2e4fe","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.13.tgz","fileCount":19,"unpackedSize":153285,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG60e3TgHS1Gg7F+G54/OVoA+aF+rlO3QbQ8QT3t/S+mAiAn+KeUMf6sMaKxUFDfRhg0w7t1+/KQOFP5ezH3kvdC3g=="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.13_1688005591989_0.5626974847591237"},"_hasShrinkwrap":false},"0.2.0-alpha.14":{"name":"dxsvelte","version":"0.2.0-alpha.14","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.2","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^3.59.2","vite":"^4.3.9"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7"},"readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in early Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the **$data** object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, initialise your Django project so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte\r\nnpm i\r\n```\r\nYou should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## To-Do List & Known Bugs\r\n- **404 Errors:** Will be added in the near future.\r\n- **Page Title Updates:** Will be added in the near future.\r\n- **CSS Generation:** PostCSS support for Tailwind etc.\r\n- **Type Generation (Autocomplete):** Decision TBC\r\n\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n","readmeFilename":"README.md","gitHead":"51dfff6ccc32ac05b7612393345364d7ff5dc560","_id":"dxsvelte@0.2.0-alpha.14","_nodeVersion":"18.16.0","_npmVersion":"9.6.5","dist":{"integrity":"sha512-dmD9de3hYVV+W3dMppnEmZ5ZdnvaghYsHd1SvPGiBJW/WgBNVB5smBI4VLw8vjSd690yiYDpphbeX+iEqe/iRg==","shasum":"a32344a558a55bdadadc9364ccc6334dd1d663c0","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.14.tgz","fileCount":19,"unpackedSize":152058,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCK0hP+UbLFiwJB+SRrGqxM6t9/BstXrvqN0n6KLIWJEQIhANQ1wu/EHRYqPK6uIjfDrXZZzNLygFaddAi21/3IxEHJ"}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.14_1688044857375_0.4729022213429295"},"_hasShrinkwrap":false},"0.2.0-alpha.18":{"name":"dxsvelte","version":"0.2.0-alpha.18","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.6","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.2.2","vite":"^4.5.0"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7","prettier":"^3.0.3","prettier-plugin-toml":"^1.0.0","toml":"^3.0.0"},"_id":"dxsvelte@0.2.0-alpha.18","gitHead":"128408f872fb69718cbd5bdd42271cdfb9835a72","_nodeVersion":"18.18.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-aQisDIwmaSaCEfTH1XWWnWcic2fVtXCje02oE0iQpaTkW1a1+YydC0pjRtehI9G/vce+B94DDq5OMmQoYq2SMQ==","shasum":"c6c45152eeefdfc7fc73130113e30f6fcdff88b8","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.18.tgz","fileCount":20,"unpackedSize":157437,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcML/DF6NG+L59ApsJBqP2qYXBg62vCVkHENWuwAjNxQIgdoDZb780GUT2ro66o4PFzkjXMq/FqznE8rivPxYqjNw="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.18_1698374004744_0.456139650200146"},"_hasShrinkwrap":false},"0.2.0-alpha.19":{"name":"dxsvelte","version":"0.2.0-alpha.19","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.6","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.2.2","vite":"^4.5.0"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7","prettier":"^3.0.3","prettier-plugin-toml":"^1.0.0","toml":"^3.0.0"},"_id":"dxsvelte@0.2.0-alpha.19","gitHead":"75a30d84aeb049448fcd8e84e31453de1ba28bc9","_nodeVersion":"18.18.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-vA7Z2faPRHIJlv4jjkBBEXbRg36HYHLptKXdkvPZZGwMK/AzNibK4c32Ur/b+bZ6/Zy2/fZEtiDr9/2SdLcVOQ==","shasum":"2179ca4a5edb7db0d150728f4ba91541fa8bec69","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.19.tgz","fileCount":20,"unpackedSize":160430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDifpUfvAagB7eRWXYYdCD4qSXdiix19VhOkRJDiVjw6gIgL3mY1aj1fyoHhK0ubVJz7B97xHxPHL62fH1gT+W3Mds="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.19_1698463123989_0.6620889135172416"},"_hasShrinkwrap":false},"0.2.0-alpha.20":{"name":"dxsvelte","version":"0.2.0-alpha.20","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.6","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.2.2","vite":"^4.5.0"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7","prettier":"^3.0.3","prettier-plugin-toml":"^1.0.0","toml":"^3.0.0"},"_id":"dxsvelte@0.2.0-alpha.20","gitHead":"d1a46830d9da11746ff642b1b971be79aafe7e66","_nodeVersion":"18.18.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-PQIIk5TXOHs1s/msAhpbwSHoQXGRmxDmuGlml5LBnwwzmNJcfGBwSt4udjpaFiD9vieIFp2eMz9LycGNguQbBA==","shasum":"2bf4e5ea854510f3a99f4af6ee3c69d257d5cb19","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.20.tgz","fileCount":20,"unpackedSize":161263,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnl2ViCn9bSBJHsNRxE69lTVhOvaXg3Zp4jZETcymVEAiEAvwQWN/JN4791zMx8gcft3pmqAMb7zNOImNusKcxdhlU="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.20_1698466000066_0.2714767598116825"},"_hasShrinkwrap":false},"0.2.0-alpha.21":{"name":"dxsvelte","version":"0.2.0-alpha.21","description":"Bring the power of Svelte to your Django projects.","homepage":"https://dxsvelte.com/","main":"./dist/configurator.js","exports":{".":"./dist/dxsvelte.js"},"bin":{"dxsvelte":"dist/configurator.js"},"type":"module","scripts":{"config":"node ./dist/configurator.js","build":"tsx ./src/compile.ts","publish:pypi":"python3 -m twine upload --repository pypi ./pypi/*","publish:npm":"npm publish"},"engines":{"node":">=16.10.0"},"author":{"name":"emmyarty"},"license":"MIT","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"dependencies":{"@sveltejs/vite-plugin-svelte":"^2.4.6","figlet":"^1.6.0","inquirer":"^9.2.7","js-base64":"^3.7.5","svelte":"^4.2.2","vite":"^4.5.0"},"devDependencies":{"@types/figlet":"^1.5.6","@types/inquirer":"^9.0.3","@types/node":"^18.14.6","esbuild":"^0.18.7","prettier":"^3.0.3","prettier-plugin-toml":"^1.0.0","toml":"^3.0.0"},"_id":"dxsvelte@0.2.0-alpha.21","gitHead":"adac32d13c1b6c7e63680b16014565da6729f8a2","_nodeVersion":"18.18.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-BHruU1LbIh5Sn/7BvDtQnJdf7es1iWzxsrQU/FfYKzLSb3fObQcrECyy7cKcw+EyeWb6VGbDaMRvlvv2Cl1VUQ==","shasum":"55f1518c1573104ee3c86a46024d6645df3408b1","tarball":"https://registry.npmjs.org/dxsvelte/-/dxsvelte-0.2.0-alpha.21.tgz","fileCount":20,"unpackedSize":161507,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbTNSvdhB5JrG7Gwo3MJ8C9u+2Y3bNYT7zgohc2pKOJgIgI290iThGLVhusdcr77qcftHZtQ7QhjvswI8fmv8gEFU="}]},"_npmUser":{"name":"emmyarty","email":"emmyarty@live.com"},"directories":{},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dxsvelte_0.2.0-alpha.21_1698538389940_0.9089755426271007"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-14T16:51:30.485Z","0.0.1":"2023-03-14T16:51:30.734Z","modified":"2023-10-29T00:13:10.328Z","0.0.2":"2023-03-14T16:53:28.547Z","0.0.3":"2023-03-14T16:58:01.847Z","0.0.4":"2023-03-14T16:59:40.756Z","0.0.5":"2023-03-14T17:10:37.034Z","0.0.6":"2023-03-14T17:11:31.510Z","0.0.7":"2023-03-14T17:14:51.899Z","0.0.8":"2023-03-14T17:22:30.023Z","0.0.9":"2023-03-14T17:40:06.477Z","0.0.10":"2023-03-14T18:01:04.805Z","0.0.11":"2023-03-14T18:03:01.528Z","0.0.12":"2023-03-14T18:12:26.332Z","0.0.13":"2023-03-14T23:47:38.765Z","0.0.14":"2023-03-14T23:51:33.519Z","0.0.16":"2023-03-30T04:17:09.216Z","0.0.17":"2023-03-30T16:00:58.281Z","0.0.18":"2023-04-01T05:31:49.181Z","0.0.19":"2023-04-01T22:36:54.456Z","0.0.20":"2023-04-06T02:32:34.940Z","0.0.21":"2023-04-08T02:33:47.528Z","0.0.22":"2023-04-11T03:15:07.780Z","0.0.23":"2023-04-11T03:48:12.132Z","0.1.0":"2023-04-11T17:56:11.651Z","0.1.1":"2023-04-13T08:36:11.888Z","0.1.2":"2023-04-13T09:10:40.308Z","0.1.3":"2023-04-18T17:55:50.902Z","0.1.4":"2023-06-09T17:44:06.544Z","0.2.0-alpha.0":"2023-06-25T03:04:56.696Z","0.2.0-alpha.1":"2023-06-25T03:08:37.457Z","0.2.0-alpha.2":"2023-06-25T03:13:35.830Z","0.2.0-alpha.3":"2023-06-25T10:59:36.688Z","0.2.0-alpha.4":"2023-06-26T00:58:37.164Z","0.2.0-alpha.5":"2023-06-26T01:30:56.610Z","0.2.0-alpha.6":"2023-06-26T01:35:13.682Z","0.2.0-alpha.7":"2023-06-26T01:38:14.494Z","0.2.0-alpha.8":"2023-06-26T02:13:54.654Z","0.2.0-alpha.9":"2023-06-29T01:44:36.222Z","0.2.0-alpha.10":"2023-06-29T01:55:04.575Z","0.2.0-alpha.11":"2023-06-29T02:10:35.839Z","0.2.0-alpha.12":"2023-06-29T02:19:25.518Z","0.2.0-alpha.13":"2023-06-29T02:26:32.201Z","0.2.0-alpha.14":"2023-06-29T13:20:57.551Z","0.2.0-alpha.18":"2023-10-27T02:33:25.035Z","0.2.0-alpha.19":"2023-10-28T03:18:44.211Z","0.2.0-alpha.20":"2023-10-28T04:06:40.256Z","0.2.0-alpha.21":"2023-10-29T00:13:10.144Z"},"maintainers":[{"name":"emmyarty","email":"emmyarty@live.com"}],"description":"Bring the power of Svelte to your Django projects.","author":{"name":"emmyarty"},"license":"MIT","readme":"![DxSvelteLogo](https://github.com/emmyarty/dxsvelte/raw/main/meta/logo-dxs-square-200.png)\r\n# Django x Svelte: Alpha\r\n\r\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/emmyarty/dxsvelte) [![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/dxsvelte)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://opensource.org/licenses/MIT/)\r\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](#)\r\n[![Maintainer](https://img.shields.io/badge/maintainer-emmyarty-blue)](#)\r\n[![Svelte](https://img.shields.io/badge/-Svelte-ff324f.svg)](#)\r\n[![Python](https://img.shields.io/badge/-Python-dd743f.svg)](#)\r\n[![TypeScript](https://img.shields.io/badge/-TypeScript-1f82df.svg)](#)\r\n\r\n## 💌 Introduction\r\n>**Warning**:\r\n>This project is in Alpha and key features are still under active development.\r\n\r\nDxSvelte is a powerful integration package that brings Svelte to your Django web applications with a simplified workflow, closer to how you would normally Render views. Enjoy the full benefit of SSR in your next single-page application (SPA).\r\n\r\n## 🎉 Changelog (Release 0.2.0-alpha.20)\r\n- Project fully ported across to Vite, and can now leverage many of the awesome tools available to the SvelteKit ecosystem!\r\n- Svelte version migrated from 3.x.x -> 4.2.2 following Vite port of DxSvelte.\r\n- Published the Python package element of the project to PyPi.\r\n- Improved type hints and in-line function documentation through JSDoc.\r\n- Exposed ``goto(path)`` as a ``@common`` import function.\r\n- Added CSRF tokens and a form object builder to handle its attachment.\r\n- Experimental Bun support.\r\n- Implemented sourcemapped SSR errors with CSR failover.\r\n- Other miscellaneous clean-ups.\r\n\r\n## 🔎 To-Do List & Known Bugs\r\n- **404 Errors:** TBC.\r\n- **Type Generation (Autocomplete):** Decision TBC.\r\n\r\n## 📔 Documentation\r\nThe new documentation is now available to read. And it was built with DxSvelte!\r\n\r\n[![Documentation](https://img.shields.io/badge/Read%20It-Here-orange?&style=for-the-badge)](https://dxsvelte.com/)\r\n\r\n## ⚡️ Features\r\n- **Seamless Integration:** DxSvelte integrates tightly with Django's route resolvers, allowing you to easily build SPAs with Svelte without manually connecting the dots through DRF (though you don't lose that functionality, should you need it). The whole philosophy here is that SPA functionality can and should be a 'first class citizen' in Django.\r\n- **Automatic SPA Generation:** You don't have to manually configure REST endpoints or manage complex API interactions. Instead, DxSvelte automatically generates the SPA for you, based on the routes defined in your Django app.\r\n- **Easy Server-Side Props:** When rendering a view, you may pass a dictionary as the second argument and access it via the ``$ServerSideProps`` object in your Svelte template file.\r\n- **Server Side Rendering (SSR):** DxSvelte uses Svelte's efficient rendering engine to deliver fast and responsive user experiences, without sacrificing the power and flexibility of Django. But not only that, DxSvelte also takes care of SSR (Server Side Rendering), so that the first page-load is already rendered when it arrives in the browser.\r\n- **Fast Compilation:** DxSvelte uses ESBuild (a powerful JS compiler written in Rust) under the hood to give you the best possible compile times.\r\n- **Incremental Adoption:** The default behaviour when it comes to navigation makes it easy to adopt the SPA incrementally. If you have an existing project you don't want to rewrite or only want for a specific portion of the site to be an SPA, then just keep going as you are; the SPA will honour any **\\<a href=..\\/>** tags which lead away from the SPA by checking itself against the automatically generated routing table.\r\n\r\n------------------------------\r\n\r\n## Getting Started\r\nTo get started with DxSvelte, ``cd`` into your Django project and initialise DxSvelte so it's ready to start building your SPA:\r\n\r\n```sh\r\nnpx dxsvelte@alpha\r\n```\r\nFollow the wizard and you should now have a directory tree resembling the following:\r\n\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── my_project_name\r\n│   └── ...\r\n├── static\r\n│   ├── index.html\r\n│   ├── ...\r\n└── ...\r\n```\r\nAt this point, you can start building out your individual Django apps. To 'tag' them so that they are rolled up into the SPA, you need to assign names to your paths and prefix them with '$', like so:\r\n```python\r\n# Example app called 'home_page'\r\nfrom django.urls import path\r\nfrom . import views\r\n\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/', views.about, name='$about'),\r\n]\r\n```\r\n\r\nThen, within the corresponding views:\r\n```python\r\nfrom dxsvelte import render\r\n\r\ndef index(req):\r\n    # Your normal view logic goes here\r\n    return render(req, data?)\r\n\r\ndef about(req):\r\n    return render(req)\r\n```\r\n\r\nBuild out your view components, and optionally within your main app folder create your own **layout.svelte** file:\r\n```\r\nmy_project_name\r\n├── manage.py\r\n├── dxsvelte.py\r\n├── package.json\r\n├── tsconfig.json\r\n├── home_page\r\n│   ├── ...\r\n│   └── views\r\n│       ├── index.svelte\r\n│       └── about.svelte\r\n├── my_project_name\r\n│   └── layout.svelte\r\n└── ...\r\n```\r\nIf you do write your own layout.svelte component (recommended), ensure that you leave the '\\<slot/\\>' element in there somewhere - that's what gets replaced with your page contents. For now, more advanced layouts are not supported.\r\n```html\r\n<h1>Your Website Name.</h1>\r\n<slot/>\r\n```\r\n\r\nFinally, build it.\r\n```sh\r\nnpm run compile\r\n```\r\nThat's it! Now you can start building your Svelte-powered hybrid SSR SPA, all while using Django as your back-end.\r\n\r\n\r\n------------------------------\r\n\r\n## Passing Parameters & Server-Side Props\r\n\r\nYou can now pass your server-side props as a Dict from your Django view directly to Svelte, while still taking full advantage of SSR. Usage is simple, but be sure to validate your objects on the front-end before accessing them. The data argument is optional and can be omitted if you have no server-side properties to pass.\r\n\r\n```py\r\n# urls.py\r\nurlpatterns = [\r\n    path('', views.index, name='$index'),\r\n    path('about/<str:company>/', views.about, name='$about'),\r\n]\r\n```\r\n\r\n```py\r\n# views.py\r\nimport render from dxsvelte\r\n\r\ndef about(req, company):\r\n    data = {\r\n        \"aboutUsText\": \"Lorem ipsum dolor sit amet, consectetur adip...\",\r\n        \"company\": \"You are viewing the page for \" + company + \"!\"\r\n    }\r\n    return render(req, data)\r\n```\r\n\r\nMeanwhile, in your **about.svelte** component over in the ./views directory:\r\n```jsx\r\n<script>\r\n    // The import statement from @page below retrieves the server-side props.\r\n    // The line beneath that registers 'data' as a reactive variable from it.\r\n    import { ServerSideProps } from \"@page\";\r\n    $: data = $ServerSideProps\r\n    let incrementedValue = 0\r\n    const increment = () => {\r\n\t\tincrementedValue ++\r\n\t}\r\n</script>\r\n\r\n{#if data?.company && data.aboutUsText}\r\n    <h1>About {data.company}.</h1>\r\n\t{data.aboutUsText}\r\n{/if}\r\n\r\n<button on:click={increment}>Number Goes Up</button>\r\n```\r\n\r\n------------------------------\r\n\r\n## Contributing\r\nWe welcome contributions to DxSvelte! If you'd like to contribute, please open an issue or pull request on our [GitHub repository](https://github.com/emmyarty/dxsvelte).\r\n\r\n## License\r\nDxSvelte is released under the [MIT License](https://opensource.org/licenses/MIT/).\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"README.md","keywords":["svelte","django","SPA","SSR","CSR","client-side rendering","server-side rendering","esbuild"],"homepage":"https://dxsvelte.com/"}