{"_id":"@cesarchamal/single-spa-vue-app","_rev":"12-b69e11546ccd356ff4914caedaaa8d8d","name":"@cesarchamal/single-spa-vue-app","dist-tags":{"latest":"1.0.18"},"versions":{"0.1.1":{"name":"@cesarchamal/single-spa-vue-app","version":"0.1.1","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@0.1.1","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"d2bb4801224021c467833d1b4de55ae7369096a6","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-0.1.1.tgz","fileCount":6,"integrity":"sha512-k8wmzL686uy1VWng84xRKIvj3JPKos/ufvbjU0WsrU37XDkvQLVX5CjcOOhjEWRNEFlDWSfLKWBGBkV8ZGnm4A==","signatures":[{"sig":"MEUCIQDROzY2lez2qtuU+ejm59IVwfTE9pkOjEONuC6AQlCs1wIgVpP39XUWJ87HlQ9SjiaGwQiglT8tnaNgLp7kBGo9+E4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285127},"main":"dist/single-spa-vue-app.umd.js","gitHead":"855ef7d54b9dde8c92842684d5857d96bcb06692","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"8.19.4","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"16.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","core-js":"3.4.4","webpack":"4.41.5","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_0.1.1_1757242281440_0.7403458623100958","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cesarchamal/single-spa-vue-app","version":"0.1.2","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@0.1.2","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"05613f550a0a1a2527b6e1cc1c50fd3f33866807","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-0.1.2.tgz","fileCount":6,"integrity":"sha512-KF+yPlA6sHaedvRoWTkJVy4dMiAylIRPj4rZrK5Em4KRDTjLQgd3P5e4X2TQKVYBQcCr+hJ2UuO4Ig+0xu7sNQ==","signatures":[{"sig":"MEUCIG9Q6/OCY1oktqmk5dfGg0tVPqW9mdn6k3O94kpmsenoAiEA5Qj/VCGJs4xeICU27yNQ/HSQ76oXC3GtkVyb5+kiU1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285127},"main":"dist/single-spa-vue-app.umd.js","gitHead":"855ef7d54b9dde8c92842684d5857d96bcb06692","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"8.19.4","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"16.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","core-js":"3.4.4","webpack":"4.41.5","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_0.1.2_1757248143738_0.22395960573201723","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.4","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.4","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"a4d5d2d522220225acc5477e696da4154f1fcc09","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.4.tgz","fileCount":6,"integrity":"sha512-+cQg78/Xk01fS036TzPzkV7wSgA7WnayQeKaQQLmhhBe+7TWNup2xs9DPA5/jg+gpaI9V85lCkJbnDxOJ8hrFg==","signatures":[{"sig":"MEUCIQDspDqtTDwdcqf6nmMIhZD2I5Twe/Z2HoJ9GPE8R+JW1AIgEQuZ+yTxvTDmmJAT76MvBoyJDQgTR3OOnTeI4E/bEII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559005},"main":"dist/single-spa-vue-app.umd.js","gitHead":"26db03d5f5526ffe713cd1c58ef431e17fb821d2","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"8.19.4","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"16.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.4_1757746391085_0.04514375007396221","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.5","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.5","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"76b512337682e011f8470d7dc9b5aff75c314c3a","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.5.tgz","fileCount":6,"integrity":"sha512-/4auVxHOWk0iGcmZcU8CI94gKFhOIZTz7Qkdk368k5R9JcWg4kNt+09xOPSuflxDTyYkdp3/TnAfDyeU29XaUw==","signatures":[{"sig":"MEUCIFMuOGsWb9po0mKftYsaa4ED87rDX92cuFvpXRPeSaydAiEA2RGNgXNt5gJMDhc0No2U7ADdpvFvUqLytDyCAbL5JB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559005},"main":"dist/single-spa-vue-app.umd.js","gitHead":"26db03d5f5526ffe713cd1c58ef431e17fb821d2","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"8.19.4","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"16.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.5_1757748364420_0.7586701024869269","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.7","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.7","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"3fd80c2e07674a99c41d120b04bdf2c73fb184ea","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.7.tgz","fileCount":6,"integrity":"sha512-fBNgWRpn+Qia1hoEPaEzcZDah/deaVH2fbtNC3tzLskjFpxXBE0n6t1EjhIPoRnRoS7wSaaaePRpt1MRFjf9NQ==","signatures":[{"sig":"MEUCIHQGjg+FGNQSAye583pbPAyDIxL2Tfx8gqMK5RSOVa/cAiEAt0FfsskoBau6R/PombtV9ueYD/gluxYbvEqAJMY+YCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":558881},"main":"dist/single-spa-vue-app.umd.js","gitHead":"da60932a2411345b9f1e485898d27a0ca41a1e37","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"8.19.4","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"16.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.7_1757770249525_0.537929769066305","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.9","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.9","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"a83687378457e844cb7ac2913857a06a6c24d064","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.9.tgz","fileCount":6,"integrity":"sha512-u9/lYRFxsPReYBmuCqILfK8mCAWwdXBs7V6zM+jemSXdEWvqQehZZivil5jZ2joTneFJ0ZbxXBB0RYp39V8pdQ==","signatures":[{"sig":"MEUCIH9MVvprzX7kC3STAbu8ds2vnbbIhzPUnFNgSQ0fwv5LAiEAl4+8Ei9JF8m1XPDmkB82RNKILWvLmi0BtJRUCs6XnlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559055},"main":"dist/single-spa-vue-app.umd.js","gitHead":"da60932a2411345b9f1e485898d27a0ca41a1e37","scripts":{"lint":"vue-cli-service lint","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"10.5.0","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"18.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","cross-env":"^7.0.3","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.9_1758016152237_0.24298064466279468","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.10","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.10","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"1e52b402d04c00893b91bf412c629a2b5903655d","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.10.tgz","fileCount":6,"integrity":"sha512-BDh1qcHTwk8FREkvdw7s1BdHGvBdr2w3mkf6eXkiPz0SRumVElHFS8PmC+auEEDlSg8kSIVTb7jVsUkhUCYNHQ==","signatures":[{"sig":"MEUCIQDqxZ0sAAZyJ7fzIGjLfrzm3DAsih5E+ejQCevvlBwJEQIgMF/1+Y8+Yoo0pC8hjeKJhWMwUx3HYOoaTf6OUlFLF2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559309},"main":"dist/single-spa-vue-app.umd.js","gitHead":"da60932a2411345b9f1e485898d27a0ca41a1e37","scripts":{"lint":"vue-cli-service lint","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"10.5.0","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"18.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","cross-env":"^7.0.3","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.10_1758018244773_0.580130202013228","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.14","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.14","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"e57736694a6a4c28610a465e260f0b123a60968f","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.14.tgz","fileCount":6,"integrity":"sha512-1bjPE6h4Y4XmE7QQgJNNKK51UW0fsKmMBXAToXr940pvtTy9fSKom9Jv4CkMy802ik01PywaWmCd1ChpY+wMIg==","signatures":[{"sig":"MEYCIQCC8RXXwC4PAyT4nk3Jt+WZnaWvuZXw0AV/13GqpTtjWQIhANtELYbFxBTSWsG/b/9tCxStQCQa9NiU5bDpFEsgnAvu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559309},"main":"dist/single-spa-vue-app.umd.js","gitHead":"da60932a2411345b9f1e485898d27a0ca41a1e37","scripts":{"lint":"vue-cli-service lint","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"10.5.0","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"18.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","cross-env":"^7.0.3","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.14_1758022232942_0.7624812508182475","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.15","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.15","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"8d0d4fa0fdf831c509789cdaa2126fd5c3b96d7c","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.15.tgz","fileCount":6,"integrity":"sha512-fzZMS75urOHg0qSP0XxdU+14815JwygSN1TGdwJmjYRBtsn63S8w0RGICUVXQbe9ySkQ46MmZckI1d4++9LxAA==","signatures":[{"sig":"MEYCIQCO6lKHvPOmMRqWDtb9SD6vzB8mqhDovHuYUfAyJYde4QIhAKd0tPzjNa0ksfyvyafc3VL58TJznn1y9DRZ3HSZlkm5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559309},"main":"dist/single-spa-vue-app.umd.js","gitHead":"da60932a2411345b9f1e485898d27a0ca41a1e37","scripts":{"lint":"vue-cli-service lint","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"10.5.0","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"18.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","cross-env":"^7.0.3","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.15_1758030350574_0.49483547509319314","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.16","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.16","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"3bea3e3d6c792ec507b14df824467df08b321c75","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.16.tgz","fileCount":6,"integrity":"sha512-yVUcIroLQ9HyYlcxSak8GSRsKg2YeDk8KeBk+w5NZg4XCFavaUfJzezi0qRdzkBejDjoMgbtZ3JdUJeTk1TJ5Q==","signatures":[{"sig":"MEQCIDRBK+fu0ng7U8eVmrcAVR7A6uKJI3X/CyDYAwnikEO/AiA8XueRRUYX5Wa/GQzAW0ML5gNcMtxdh5kMj2qdzT/kzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559309},"main":"dist/single-spa-vue-app.umd.js","gitHead":"da60932a2411345b9f1e485898d27a0ca41a1e37","scripts":{"lint":"vue-cli-service lint","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"10.5.0","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"18.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","cross-env":"^7.0.3","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.16_1758038362977_0.3418175610170462","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.17","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","_id":"@cesarchamal/single-spa-vue-app@1.0.17","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"dist":{"shasum":"b3fffff7cd96c4226d5c8b0d6a047869b9e9ba42","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.17.tgz","fileCount":6,"integrity":"sha512-CzaVsIe/ibLXama81dy7XTivwTyYO4FyNwMGCuYRoQ5xtgyfhmyjY/E2nfbmGLx22qfh86Gq6eyIDCMGXl0jtA==","signatures":[{"sig":"MEYCIQC3c489Qvp8MWR2pjCJf2nybhQ8KR6Dsl6EpZu9iJgqvQIhAIWn/VIgaIBmHt/vZaIsqI0b69V2M5QJgmVT3LGexU1c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559309},"main":"dist/single-spa-vue-app.umd.js","gitHead":"ed2f6e4381d5c16f8691a516c86814d8c95af935","scripts":{"lint":"vue-cli-service lint","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","serve":"npm run build && npx http-server dist -p 4205 --cors","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production"},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"repository":{"url":"git+https://github.com/cesarchamal/single-spa-vue-app.git","type":"git"},"_npmVersion":"10.5.0","description":"Vue application with two example pages for be included in a single-spa application as registered app.","directories":{},"_nodeVersion":"18.20.0","browserslist":["> 1%","last 2 versions"],"dependencies":{"vue":"^2.6.11","rxjs":"^6.4.0","core-js":"^3.32.0","vue-router":"3.1.4","vue-toastr":"2.1.2","bootstrap-vue":"2.2.2","single-spa-vue":"1.7.0","@fortawesome/vue-fontawesome":"0.1.9","@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/free-brands-svg-icons":"5.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.32.13","eslint":"5.16.0","webpack":"4.41.5","cross-env":"^7.0.3","sass-loader":"8.0.2","babel-eslint":"10.0.3","@vue/cli-service":"4.1.0","eslint-plugin-vue":"5.0.0","eslint-plugin-import":"2.22.1","@vue/cli-plugin-babel":"4.1.0","vue-template-compiler":"2.6.11","@vue/cli-plugin-eslint":"4.1.0","eslint-config-airbnb-base":"14.0.0","vue-cli-plugin-single-spa":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/single-spa-vue-app_1.0.17_1758042518039_0.5532200712502771","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@cesarchamal/single-spa-vue-app","version":"1.0.18","description":"Vue application with two example pages for be included in a single-spa application as registered app.","main":"dist/single-spa-vue-app.umd.js","scripts":{"build":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js","build:dev":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode development","build:prod":"cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build --target lib --formats umd src/singleSpaEntry.js --mode production","serve":"npm run build && npx http-server dist -p 4205 --cors","lint":"vue-cli-service lint"},"devDependencies":{"@vue/cli-plugin-babel":"4.1.0","@vue/cli-plugin-eslint":"4.1.0","@vue/cli-service":"4.1.0","babel-eslint":"10.0.3","cross-env":"^7.0.3","eslint":"5.16.0","eslint-config-airbnb-base":"14.0.0","eslint-plugin-import":"2.22.1","eslint-plugin-vue":"5.0.0","sass":"1.32.13","sass-loader":"8.0.2","vue-cli-plugin-single-spa":"1.1.0","vue-template-compiler":"2.6.11","webpack":"4.41.5"},"browserslist":["> 1%","last 2 versions"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cesarchamal/single-spa-vue-app.git"},"keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"author":{"name":"Cesar Francisco Chavez Maldonado"},"bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","publishConfig":{"access":"public"},"dependencies":{"@fortawesome/fontawesome-svg-core":"1.2.27","@fortawesome/free-brands-svg-icons":"5.12.1","@fortawesome/free-solid-svg-icons":"5.12.0","@fortawesome/vue-fontawesome":"0.1.9","bootstrap-vue":"2.2.2","core-js":"^3.32.0","rxjs":"^6.4.0","single-spa-vue":"1.7.0","vue":"^2.6.11","vue-router":"3.1.4","vue-toastr":"2.1.2"},"_id":"@cesarchamal/single-spa-vue-app@1.0.18","gitHead":"ed2f6e4381d5c16f8691a516c86814d8c95af935","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-2m3iRq24ItVoXxl6NzoWHGLAJH52ek6OybF2oWKbMLxPBWQm/VCr9G0eEkVjouXUnAuwruG19FClDwi1B+rIog==","shasum":"677baa49743942fe45e3396a96496b02db2ae533","tarball":"https://registry.npmjs.org/@cesarchamal/single-spa-vue-app/-/single-spa-vue-app-1.0.18.tgz","fileCount":6,"unpackedSize":559309,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDEVtvJ/azAy9lQ7KiB4fZ+OvTzB4MPPcd2gAOhVNzqHwIgMGAM/mWL5D6nUgOjEJjcxHB94nIonx7dLMWd7W9h7QA="}]},"_npmUser":{"name":"cesarchamal","email":"ces_ch@hotmail.com"},"directories":{},"maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/single-spa-vue-app_1.0.18_1758341509196_0.5571979848509117"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-07T10:51:21.305Z","modified":"2025-09-20T04:11:49.638Z","0.1.1":"2025-09-07T10:51:21.642Z","0.1.2":"2025-09-07T12:29:03.959Z","1.0.4":"2025-09-13T06:53:11.265Z","1.0.5":"2025-09-13T07:26:04.663Z","1.0.7":"2025-09-13T13:30:49.706Z","1.0.9":"2025-09-16T09:49:12.557Z","1.0.10":"2025-09-16T10:24:04.973Z","1.0.14":"2025-09-16T11:30:33.118Z","1.0.15":"2025-09-16T13:45:50.799Z","1.0.16":"2025-09-16T15:59:23.154Z","1.0.17":"2025-09-16T17:08:38.217Z","1.0.18":"2025-09-20T04:11:49.402Z"},"bugs":{"url":"https://github.com/cesarchamal/single-spa-vue-app/issues"},"author":{"name":"Cesar Francisco Chavez Maldonado"},"license":"MIT","homepage":"https://github.com/cesarchamal/single-spa-vue-app#readme","keywords":["single-spa","login","npm","webpack","vue","bootstrap-vue","bootstrap"],"repository":{"type":"git","url":"git+https://github.com/cesarchamal/single-spa-vue-app.git"},"description":"Vue application with two example pages for be included in a single-spa application as registered app.","maintainers":[{"name":"cesarchamal","email":"ces_ch@hotmail.com"}],"readme":"# single-spa-vue-app\n\n<img src=\"https://single-spa.js.org/img/logo-white-bgblue.svg\" width=\"50\" height=\"50\">\n\n[![npm version](https://img.shields.io/npm/v/@cesarchamal/single-spa-vue-app.svg?style=flat-square)](https://www.npmjs.com/package/@cesarchamal/single-spa-vue-app)\n\n> **Part of [Demo Microfrontends](https://github.com/cesarchamal/demo-microfrontends)** - A comprehensive Single-SPA microfrontend architecture demonstration\n\nA Vue.js 2 microfrontend for Single-SPA demonstrating progressive framework features, reactive data binding, and component-based architecture.\n\n## 🏗️ Microfrontend Architecture\n\nThis application is one of **12 microfrontends** in the demo-microfrontends project:\n\n| Microfrontend | Framework | Port | Route | Repository |\n|---------------|-----------|------|-------|------------|\n| 🎯 Root App | Single-SPA | 8080 | Orchestrator | [single-spa-root](https://github.com/cesarchamal/single-spa-root) |\n| 🔐 Auth App | Vue.js | 4201 | /login | [single-spa-auth-app](https://github.com/cesarchamal/single-spa-auth-app) |\n| 🎨 Layout App | Vue.js | 4202 | All routes | [single-spa-layout-app](https://github.com/cesarchamal/single-spa-layout-app) |\n| 🏠 Home App | AngularJS | 4203 | / | [single-spa-home-app](https://github.com/cesarchamal/single-spa-home-app) |\n| 🅰️ Angular App | Angular 8 | 4204 | /angular/* | [single-spa-angular-app](https://github.com/cesarchamal/single-spa-angular-app) |\n| **💚 Vue App** | **Vue.js 2** | **4205** | **/vue/*** | **This repo** |\n| ⚛️ React App | React 16 | 4206 | /react/* | [single-spa-react-app](https://github.com/cesarchamal/single-spa-react-app) |\n| 🍦 Vanilla App | ES2020+ | 4207 | /vanilla/* | [single-spa-vanilla-app](https://github.com/cesarchamal/single-spa-vanilla-app) |\n| 🧩 Web Components | Lit | 4208 | /webcomponents/* | [single-spa-webcomponents-app](https://github.com/cesarchamal/single-spa-webcomponents-app) |\n| 📘 TypeScript App | TypeScript | 4209 | /typescript/* | [single-spa-typescript-app](https://github.com/cesarchamal/single-spa-typescript-app) |\n| 💎 jQuery App | jQuery 3.6 | 4210 | /jquery/* | [single-spa-jquery-app](https://github.com/cesarchamal/single-spa-jquery-app) |\n| 🔥 Svelte App | Svelte 3 | 4211 | /svelte/* | [single-spa-svelte-app](https://github.com/cesarchamal/single-spa-svelte-app) |\n\n**Main Repository**: [demo-microfrontends](https://github.com/cesarchamal/demo-microfrontends)\n\n## Features\n\n- **Vue.js 2**: Progressive JavaScript framework\n- **Vue Router**: Client-side routing with navigation guards\n- **Vuex**: Centralized state management (optional)\n- **Single File Components**: Template, script, and style in one file\n- **Reactive Data Binding**: Automatic UI updates\n- **Component Composition**: Reusable and composable components\n\n## Technology Stack\n\n- **Framework**: Vue.js 2.6.11\n- **Router**: Vue Router 3.1.4\n- **Build Tool**: Vue CLI 4 with library target\n- **Language**: JavaScript (ES2015+)\n- **Integration**: Single-SPA Vue adapter\n\n## Development\n\n### Prerequisites\n\n- Node.js (v18.0.0 or higher)\n- npm (v8.0.0 or higher)\n\n### Installation\n\n```bash\nnpm install\n```\n\n### Development Server\n\n```bash\nnpm start\n# Runs on http://localhost:4205\n```\n\n### Build\n\n```bash\nnpm run build\n# Outputs to dist/single-spa-vue-app.umd.js\n```\n\n## Vue.js Features\n\n### Single File Components\n```vue\n<template>\n  <div class=\"feature-component\">\n    <h2>{{ title }}</h2>\n    <button @click=\"handleClick\">{{ buttonText }}</button>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'FeatureComponent',\n  data() {\n    return {\n      title: 'Vue Feature',\n      buttonText: 'Click Me'\n    };\n  },\n  methods: {\n    handleClick() {\n      this.$emit('feature-clicked');\n    }\n  }\n};\n</script>\n\n<style scoped>\n.feature-component {\n  padding: 20px;\n}\n</style>\n```\n\n### Reactive Data System\n```javascript\nexport default {\n  data() {\n    return {\n      message: 'Hello Vue!',\n      items: []\n    };\n  },\n  computed: {\n    filteredItems() {\n      return this.items.filter(item => item.active);\n    }\n  },\n  watch: {\n    message(newVal, oldVal) {\n      console.log(`Message changed from ${oldVal} to ${newVal}`);\n    }\n  }\n};\n```\n\n### Component Communication\n```javascript\n// Parent to Child (Props)\n<child-component :data=\"parentData\" />\n\n// Child to Parent (Events)\nthis.$emit('update-data', newData);\n\n// Sibling Communication (Event Bus)\nthis.$bus.$emit('global-event', data);\n```\n\n## Single-SPA Integration\n\nThis microfrontend exports the required Single-SPA lifecycle functions:\n\n```javascript\nexport const bootstrap = vueLifecycles.bootstrap;\nexport const mount = vueLifecycles.mount;\nexport const unmount = vueLifecycles.unmount;\n```\n\n### Mount Point\n\nThe application mounts to the DOM element with ID `vue-app`:\n\n```html\n<div id=\"vue-app\"></div>\n```\n\n### Route Configuration\n\nConfigured to activate on routes starting with `/vue`:\n\n```javascript\nsingleSpa.registerApplication(\n  'vue',\n  () => loadApp('single-spa-vue-app'),\n  showWhenPrefix(['/vue'])\n);\n```\n\n### Vue Router Integration\n```javascript\nexport default new Router({\n  mode: 'history',\n  base: '/vue',\n  routes: [\n    { path: '/', component: Home },\n    { path: '/about', component: About },\n    { path: '/contact', component: Contact }\n  ]\n});\n```\n\n## Vue Configuration\n\n### External Dependencies\nThe application uses webpack externals for shared dependencies:\n\n```javascript\nconfig.externals([\n  'vue',\n  'vue-router',\n  'single-spa-vue'\n]);\n```\n\n### Library Build\nBuilt as UMD library for Single-SPA consumption:\n\n```javascript\nconfigureWebpack: {\n  output: {\n    library: 'single-spa-vue-app',\n    libraryTarget: 'umd',\n    filename: 'single-spa-vue-app.js'\n  }\n}\n```\n\n## Component Architecture\n\n### Page Components\n```vue\n<!-- Home.vue -->\n<template>\n  <div class=\"home-page\">\n    <hero-section />\n    <feature-list :features=\"features\" />\n    <call-to-action @action-clicked=\"handleAction\" />\n  </div>\n</template>\n\n<script>\nimport HeroSection from '@/components/HeroSection.vue';\nimport FeatureList from '@/components/FeatureList.vue';\nimport CallToAction from '@/components/CallToAction.vue';\n\nexport default {\n  name: 'Home',\n  components: {\n    HeroSection,\n    FeatureList,\n    CallToAction\n  },\n  data() {\n    return {\n      features: []\n    };\n  },\n  async created() {\n    this.features = await this.fetchFeatures();\n  }\n};\n</script>\n```\n\n### Reusable Components\n```vue\n<!-- FeatureCard.vue -->\n<template>\n  <div class=\"feature-card\" :class=\"{ active: isActive }\">\n    <slot name=\"icon\"></slot>\n    <h3>{{ title }}</h3>\n    <p>{{ description }}</p>\n    <button @click=\"$emit('select', feature)\">\n      Select Feature\n    </button>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'FeatureCard',\n  props: {\n    feature: {\n      type: Object,\n      required: true\n    },\n    isActive: {\n      type: Boolean,\n      default: false\n    }\n  },\n  computed: {\n    title() {\n      return this.feature.title;\n    },\n    description() {\n      return this.feature.description;\n    }\n  }\n};\n</script>\n```\n\n## State Management\n\n### Component State\n```javascript\nexport default {\n  data() {\n    return {\n      loading: false,\n      error: null,\n      data: []\n    };\n  },\n  methods: {\n    async fetchData() {\n      this.loading = true;\n      this.error = null;\n      \n      try {\n        const response = await fetch('/api/data');\n        this.data = await response.json();\n      } catch (error) {\n        this.error = error.message;\n      } finally {\n        this.loading = false;\n      }\n    }\n  }\n};\n```\n\n### Vuex Integration (Optional)\n```javascript\n// store/index.js\nexport default new Vuex.Store({\n  state: {\n    user: null,\n    preferences: {}\n  },\n  mutations: {\n    SET_USER(state, user) {\n      state.user = user;\n    }\n  },\n  actions: {\n    async fetchUser({ commit }) {\n      const user = await api.getUser();\n      commit('SET_USER', user);\n    }\n  }\n});\n```\n\n## File Structure\n\n```\nsingle-spa-vue-app/\n├── src/\n│   ├── components/          # Reusable components\n│   ├── views/              # Page components\n│   ├── router/             # Vue Router configuration\n│   │   └── index.js        # Router setup\n│   ├── store/              # Vuex store (optional)\n│   ├── assets/             # Static assets\n│   ├── App.vue             # Root component\n│   └── singleSpaEntry.js   # Single-SPA integration\n├── dist/                   # Build output directory\n├── package.json            # Dependencies and scripts\n├── vue.config.js          # Vue CLI configuration\n├── .gitignore             # Git ignore rules\n└── README.md              # This file\n```\n\n## Vue CLI Configuration\n\n### Library Build Setup\n```javascript\n// vue.config.js\nmodule.exports = {\n  configureWebpack: {\n    output: {\n      library: 'single-spa-vue-app',\n      libraryTarget: 'umd'\n    },\n    plugins: [\n      new webpack.optimize.LimitChunkCountPlugin({\n        maxChunks: 1\n      })\n    ]\n  },\n  chainWebpack: config => {\n    config.externals(['vue', 'vue-router', 'single-spa-vue']);\n  }\n};\n```\n\n### Development Configuration\n- Hot module replacement\n- Source maps\n- ESLint integration\n- SCSS preprocessing\n\n## Styling Architecture\n\n### Scoped Styles\n```vue\n<style scoped>\n.component {\n  /* Styles scoped to this component */\n}\n</style>\n```\n\n### Global Styles\n```vue\n<style>\n/* Global styles */\n.utility-class {\n  margin: 0;\n}\n</style>\n```\n\n### CSS Modules\n```vue\n<style module>\n.title {\n  font-size: 2rem;\n}\n</style>\n\n<template>\n  <h1 :class=\"$style.title\">Title</h1>\n</template>\n```\n\n## Performance Optimization\n\n- **Bundle Size**: ~235KB (UMD build)\n- **Tree Shaking**: Unused code elimination\n- **Lazy Loading**: Route-based code splitting\n- **Component Caching**: Keep-alive optimization\n\n## Vue Devtools\n\n### Development Features\n- Component inspector\n- Vuex state management\n- Event timeline\n- Performance profiling\n\n### Production Debugging\n- Component hierarchy\n- Props and data inspection\n- Event tracking\n- Time-travel debugging\n\n## Testing\n\n### Unit Tests\n```bash\nnpm run test:unit\n```\n\n### Component Tests\n```bash\nnpm run test:components\n```\n\n### E2E Tests\n```bash\nnpm run test:e2e\n```\n\n### Linting\n```bash\nnpm run lint\n```\n\n## Browser Support\n\n- Modern browsers (ES2015+)\n- IE9+ with polyfills\n- Mobile browsers\n- Progressive enhancement\n\n## Migration Path\n\n### Vue 2 to Vue 3\n- Composition API preparation\n- Breaking changes assessment\n- Gradual migration strategy\n- Compatibility considerations\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Follow Vue.js style guide\n4. Add tests for new components\n5. Ensure accessibility compliance\n6. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Related Projects\n\n- [Vue.js](https://vuejs.org/) - Progressive JavaScript framework\n- [Vue Router](https://router.vuejs.org/) - Official router for Vue.js\n- [Vuex](https://vuex.vuejs.org/) - State management pattern + library\n- [Single-SPA](https://single-spa.js.org/) - Microfrontend framework\n- [Demo Microfrontends](https://github.com/cesarchamal/demo-microfrontends) - Complete microfrontend demo\n\n## 🚀 Quick Start\n\n**Run the complete microfrontend system:**\n```bash\n# Clone main repository\ngit clone https://github.com/cesarchamal/demo-microfrontends.git\ncd demo-microfrontends\n\n# Start all microfrontends\n./run.sh local dev\n```\n\n**Run this microfrontend individually:**\n```bash\nnpm install\nnpm start\n# Visit http://localhost:4205\n```\n\n## Author\n\nCesar Francisco Chavez Maldonado - Vue.js 2 Microfrontend Example","readmeFilename":"README.md"}