{"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"dist-tags":{"latest":"0.7.6","next":"1.0.3"},"author":{"name":"dolymood@gmail.com"},"_rev":"6","description":"A Vue.js upload component powered by simple-uploader.js","readme":"","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"license":"MIT","versions":{"0.0.1":{"name":"vue-simple-uploader","version":"0.0.1","description":"A Vue.js upload component based on simple-uploader.js","main":"dist/vue-uploader.js","module":"src/index.js","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","unit":"cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run","test":"npm run unit","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.0.6"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-istanbul":"^4.1.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chai":"^3.5.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","cross-env":"^5.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","inject-loader":"^3.0.0","karma":"^1.4.1","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-phantomjs-launcher":"^1.0.2","karma-phantomjs-shim":"^1.4.0","karma-sinon-chai":"^1.3.1","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.31","karma-webpack":"^2.0.2","lolex":"^1.5.2","mocha":"^3.2.0","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","phantomjs-prebuilt":"^2.1.14","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","sinon":"^2.1.0","sinon-chai":"^2.8.0","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"cc14e554684bde032c40c6f7954f41c65044c790","_id":"vue-simple-uploader@0.0.1","_shasum":"28b5d323935d2b8a1e0dc81ffffadc036b7377bf","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"28b5d323935d2b8a1e0dc81ffffadc036b7377bf","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.0.1.tgz","integrity":"sha512-PbENHBoUI+Ai0F6PGOOpUQ7Wb+QOF18DEJ23j63UnGAdCBw8Bv1U5Gd0/GxZ5eQR/xBGs+TMPRTNH6NwX7kE5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaXFlZ3HIB6GfeWlGaSIdzuxg7cowg4LaK+LBVDI6szAiEA11JL2yoCvsUAsiV+EvWxYLZtA6utDKgRKW7302cQSkM="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.0.1.tgz_1503393957312_0.5441373116336763"},"directories":{}},"0.0.2":{"name":"vue-simple-uploader","version":"0.0.2","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","module":"src/index.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.0.6"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"813096b2b5728a57ddb717d1eedc82293d1cbe88","_id":"vue-simple-uploader@0.0.2","_shasum":"f689b05562aa17c7dcb6126faf6606be9e0438d3","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"f689b05562aa17c7dcb6126faf6606be9e0438d3","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.0.2.tgz","integrity":"sha512-2Q9HtWZZpek1gcCshkKa2rvnOCTgWZKVJgObqW9GuISSDdCqs3lnJuB+Niy87l5o6KllAcdIMBsgRaMXVUzd/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF6yjxqz6ScygW7E3owyn1oaQHBiPZ7MhoLWWI9EhujlAiEApcY8yxVXXnuyDgOBZ2DgnfEFlU6dr81D5dHO4druyKo="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.0.2.tgz_1503456865750_0.9630038780160248"},"directories":{}},"0.0.3":{"name":"vue-simple-uploader","version":"0.0.3","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","module":"src/index.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.0.6"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"7177492bd5b5779d1eed8cc6c48afa96fe9b2eb9","_id":"vue-simple-uploader@0.0.3","_shasum":"d881a41dbde3b0fde637ba20368f3656e61f0931","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"d881a41dbde3b0fde637ba20368f3656e61f0931","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.0.3.tgz","integrity":"sha512-1iVlQQc2cNiDQsy084NkPfk5POaqdmbElbCTjhxWuHPdQaTPQ+9AWTefegX60BU1Mx1Z5hoXXIKgRaI5JLnUcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1Ts/NJyeSLhPvnNHpaPQogUcEZuw7Mpz3pV3hcCaT8AIhAM4eraJJJ4CwgIGw/eEuEo0Q72tjsbOVrEfB2o3Fpa9I"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.0.3.tgz_1503479712099_0.7511408359277993"},"directories":{}},"0.0.4":{"name":"vue-simple-uploader","version":"0.0.4","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","module":"src/index.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.0.6"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"fd3623e8f3e318208181e50853b23261f885a8a4","_id":"vue-simple-uploader@0.0.4","_shasum":"693833cae40e5991f58f9cf9fb3acdeeb9d2a073","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"693833cae40e5991f58f9cf9fb3acdeeb9d2a073","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.0.4.tgz","integrity":"sha512-jis7hx6SicidEw4w3/0zXqkuMBPVdOex3OJ2nTwwudlbi5JjK9hqAdFNgJY+cV9Y9Qeqw3wnwZk/ckqdhWD4xw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDcYs6CG+t3na/zcN9ud0j6aX+ZQsjNkuXhsr/+YtR1sAiEAvcrG82yFesb9bUOfoJPUAA+j4SXgBAM4uN8u3zKspy4="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.0.4.tgz_1503625778642_0.31893487623892725"},"directories":{}},"0.0.5":{"name":"vue-simple-uploader","version":"0.0.5","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.0.6"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"3170bca62a025e6b42f2ab19880ef2057a32ad45","_id":"vue-simple-uploader@0.0.5","_shasum":"482e4316d0dca1afc7c5bce7c1b4f17ec20eeb2e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"482e4316d0dca1afc7c5bce7c1b4f17ec20eeb2e","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.0.5.tgz","integrity":"sha512-LTRXlYMHG0PUzgry3A6Qj4+YFqMxlCZ+CFI7uS3tH85I+0fs4Ts+ZN4wPtlSqc6g4etX24mC/XbBLItvZzps2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC97Qv4dzDozS7lQzwjjI09zcXKjHixGW7/oJOPwbNqKAiBoIlNYO7vm4XNw5KCGJcdJWtr7pBbONG1CQ/1buulKmA=="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.0.5.tgz_1503909675252_0.46514889714308083"},"directories":{}},"0.1.0":{"name":"vue-simple-uploader","version":"0.1.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.1.0"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"34c8a2e19b58a81ef68e3949ee3b1b18d54743ef","_id":"vue-simple-uploader@0.1.0","_shasum":"c60c3b0cdc584c2ac8e3907ebcd3725df71c1e6b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"c60c3b0cdc584c2ac8e3907ebcd3725df71c1e6b","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.1.0.tgz","integrity":"sha512-bfdIK62TCsrWjvs0mlROS903qyjobomh8YE4xZD9b4CEnpBwEXzDaSI43834CfmDi3W+6rkH2ANCkBP/NH/MNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuiO7sLsYei5Uv5kz3gLRaodd9FbDu7HquNRXhx7m6NgIhAISbwvu5fjYBZYoZHHn6SbHXSGgxxaQlGyQKblvAa1I0"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.1.0.tgz_1504694237658_0.841393168317154"},"directories":{}},"0.2.0":{"name":"vue-simple-uploader","version":"0.2.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.1.0"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"0256d11694cf555a6e17851a311091fc4bb5d5c0","_id":"vue-simple-uploader@0.2.0","_shasum":"27503b8d80c08b326dc06fbf905ead0f96b2dc1e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"27503b8d80c08b326dc06fbf905ead0f96b2dc1e","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.2.0.tgz","integrity":"sha512-Ia7XexAJrmETuNFnUnNRY3GZSirT/a4iqh9w7SW7rWS7ARd0NT3PJSnDluUEmmHth3u4H1vbktLLDyseDvNl3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqgavRRtVOWrRYVhihCP9Me0kbgKU3UVvzedjY/iLi6gIhANEsho6sSsIjBl+Re5FVLULe9bPjkmm7ar4u2gwzdEuR"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.2.0.tgz_1507863170831_0.8224444056395441"},"directories":{}},"0.2.1":{"name":"vue-simple-uploader","version":"0.2.1","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.1.1"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"e8daf5599c4d6409c30e21d311fb11bfd4f10206","_id":"vue-simple-uploader@0.2.1","_shasum":"a6f8863d25b1be6d0e5aed83e42c99b871ad9411","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"a6f8863d25b1be6d0e5aed83e42c99b871ad9411","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.2.1.tgz","integrity":"sha512-FPAm2wcEoisrKhwfI8YbdXCD+ZOONXL9iQD0HF5VKvEraIvE3gHq/tlFPFncfXy5cDewq/WBmwIouUPDlG0Z3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRaLzCpf43hn5/5J96Dk566x8S0Rh8DsE49TP99ddNdwIhAPaZQ/krrnhGn1QofnmeYlz9fBHqLsJjfHnlHeLl5nDj"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.2.1.tgz_1508256504932_0.5079746339470148"},"directories":{}},"0.3.0":{"name":"vue-simple-uploader","version":"0.3.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.0"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"e66ef2608980cdac666bed52cc9536823734f426","_id":"vue-simple-uploader@0.3.0","_shasum":"af9339e3b5a7edfd696012ae76898da95b8fe3b2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"af9339e3b5a7edfd696012ae76898da95b8fe3b2","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.3.0.tgz","integrity":"sha512-p/YLfLpgLtIF76MHWyiPSAkiVMpJbILatpKaIU1Gz6IV24Seb2o9dKm9kCMJcufn1LU2HePijqVIathIK3Trmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPfZ+JaSCyXekGOi0PguzbZ3JYrapn9SoCRJIikdpMrgIhAKn4idD2SRPRKwhGNYrPocIXfkXKXxoQl4D60rhZ/+eC"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.3.0.tgz_1508991329224_0.581885774154216"},"directories":{}},"0.4.0":{"name":"vue-simple-uploader","version":"0.4.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.0"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"364268dbd559ee16dd1011bb097b96dcb3b601f6","_id":"vue-simple-uploader@0.4.0","_shasum":"2e3886ac9c73e98875a8a533d26be3a46009e367","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"shasum":"2e3886ac9c73e98875a8a533d26be3a46009e367","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.0.tgz","integrity":"sha512-wnvtVpmm0IdcW6ElW8clzSlcsSmabOkXJdCmodECj4piCVYCKBGDI9S40bEOAXlsjvHdBXJDAa3e2qaqSTZ+HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOhLuuW+Ru0jP4SBx2lt01dbLKbIi0JJarysTTigff6AIhAIV9y9DS8cNA5s0zVaEuye3QemXu8LNyL3S16Pf/aj//"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader-0.4.0.tgz_1513605559278_0.4083807396236807"},"directories":{}},"0.4.1":{"name":"vue-simple-uploader","version":"0.4.1","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.0"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"ba33269deebf75b90553b12ebfe302f1204f7743","_id":"vue-simple-uploader@0.4.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-ohrOjbnNvyFJCR/slndYGP3gCeeHYVstnWE5mGjihuRe/jIwafbV3h/NRg9x7QVcQDr06GHqDbZmAZl++JXqlw==","shasum":"3bee8e1ee53bfa4940cbc189a161f88baf3f2444","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.1.tgz","fileCount":26,"unpackedSize":703822,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH87y/Ck0qrPYrhq/ieSFTb2TqtMfDTGQnZA+OND8ouYAiEAojyImqZaAs1gikI39ypKRAgoFYA+FrF3rAyPMnm5vOs="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.4.1_1519270828809_0.9249101701145597"},"_hasShrinkwrap":false},"0.4.2":{"name":"vue-simple-uploader","version":"0.4.2","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.1"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"d5b4f4aec0d1a2c9e745f05a3ca26c0d0c2cb2f0","_id":"vue-simple-uploader@0.4.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-kdtV++BFTx4nOSw5AOiNBL5U+Ltqh0lNr/tUimCG+nJvQMNWC4WWSm8xOKM3u3dyjXtmMUEJVfs/9/ByRH1LbQ==","shasum":"9a6bad74743932c35f106c2e1ed9684a06566396","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.2.tgz","fileCount":26,"unpackedSize":704453,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnEvHDRmEiFpeWVpLs8TNOBNx+GvVz9qkMGsIvz3h8xwIgH9qvltGMbgCuunyeWpQ82C2o4NdlUrZx7YkFNBmLRmA="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.4.2_1520864597299_0.13375634741338094"},"_hasShrinkwrap":false},"0.4.3":{"name":"vue-simple-uploader","version":"0.4.3","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.1"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"2ec88020c412b74180ae6f73243db6c17431634c","_id":"vue-simple-uploader@0.4.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-WUZpGnGqx7RF1bqY+S1fNoiYV/CyHgfg5PNZGpx0xIQc7dG1lKss/jABn689GrXKEvi58VlrUyZXv/yuJYoHuQ==","shasum":"e50db40cc51489282c3760e2a98b291f57b84059","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.3.tgz","fileCount":26,"unpackedSize":705401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4pVHCRA9TVsSAnZWagAANKEP/jm9Xm3LnikM0meAI5IM\n6Ju0yI87OU+cDco+e2/GrafF0xBihR4T0GRj7DD4Zo/Cv+DYyrVh446hGtfO\nn/IX04pMxv/GcB3GCWAaJK+CkcK/izZ+nUnXbQiqTV7/qKjdp+dbhViwR3BJ\nAw4XbUZs/qTfsEKfwa3UkaVmiIdEvsHmhFVHlYpcz/tt8dtPXhbQWwICngmU\nxFGaLBHG+aWqePNAOIyMzWOlS3eiC1NE4ZbSzNNAjcoOL+Ua+82cY6HQ9C4E\ns53eRrp9bPlMkts12NrLym5l+Ar0tWrcQ+anvPr0GPacoVwuEfdpn6MHh2wn\nzxrvptEpYADW1qqfiRAm2inMwgCerxSNP0uXbx5aLQIXk+1CuqRcxcpTZE6T\nCCBNgljG7H9DAYJpRxKEJG9ktLkQ5x/i+bqQgyOENoUup9Wl02JIvAdF+6OQ\nCBwV865Cy7qeQJZ0H0AyTye0u0nOQSdjRpNK527Qj+rPMZdsM/swL9u+K6HU\n+PQ9DuEkgD9pIay2s9JWhr6WhIqrt1SzVZMelD1+JjVu6uwf1fXxIUHFv/r5\nPldgTnfQpO7iMeKI2z5xliGxVEiv/BSDuV1nOM5i1a8rp30H5xx2oODuEVS0\n9cnNzjDm6yXL5mBShRqzo5I67PZFvZ+gVQqDpAhL9tZeDl9kBV4Qhsu4KM7e\n3Vct\r\n=FdHx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN17TUl9/AqjMSC08gADpzFE1p/XPIMJJrK4y+WkZ5lAIhAM6ybZ0MpHH6hDUbxtrD5iLtAg2nZoEx1QErOq21OzrW"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.4.3_1524798790227_0.46524644092448564"},"_hasShrinkwrap":false},"0.4.4":{"name":"vue-simple-uploader","version":"0.4.4","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.1"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"6eb8540705410172baa743fe590f751b97d4b115","_id":"vue-simple-uploader@0.4.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-hO7i4qLJA289BEN++69aG/wqUXObhchx31gfgAsPbrdN+rU5hLhNp7v9E/CLmg4YuBpeLo5t+6D06fDtSh1E/Q==","shasum":"01eb1b72823c7003d541bd434f071172fdf00355","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.4.tgz","fileCount":26,"unpackedSize":706680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6qzfCRA9TVsSAnZWagAAM+kP/RyP+Ni/wLlNTbHlTpYd\nYDOTNGJ/GsOZmCwY7lSgjFMikqkg6pWPKLMq+ybYXlmY1brf/Sg/xsa7rq0o\nI5dn9sSe/RwiZZTXAFt2lkhCB8gwLmOtXJ2+s3rj7aRPb4+AO8UjUAnurwvG\nIgvzX8Psa8ue4dsV6IAvqZhLeAtaEE1GfW7dJ3mjeq0GLGRlSARdlzqFTVOy\nDCjkWDKAwVkXTjS/eUykeprUtUy07jPWZnCYMK7tcMGDhipfX+hZ5k0SAhEN\nbOj4IaeFDIVvnfkr7I2wYOxLNh+dhfU2IWk2ps2nrOs/YJDimtUqU+2FO1Yl\nzx05ANEe1o67PFu7eMaD4E2hHDobxSSeTQhILvWK+c2sEE1BzHWy4Jp6xxB/\nO06pqluO8Sax3tQTXrinCWsM5+7BwrMNteNlPs2jyWhoVL4tZv4s5U/vcKDq\n830FeYYw1kRcgv+KCsfw2l9OQ5gRoOTW8WHsEPfxm7xL+1oBLMBI2NGcyBPW\nFTFqneam0BrPIO7GcvY7/ymPjUWyt8arfRqY08vU2QlRQsdJwJTaR+fLBbXt\n54SwqS8uvPClDPC9382c8JnNXnnw+WcVJHgK+2wwMeamtWnj60f98Fn/9tLW\nuNt4ncbFhpwvFbteZPJK/Jqahd72JDKuUgOzDFRswGF6xhwVzh29xbDIChnw\nysl4\r\n=vSQz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0jBSjwOEBxM7EllAlpSJa8xTq5Do7xp1WGS3ycjjZPAiAL9l2htgkf67niMDiR58HCL6RVxlxdGHTGgKpGgxNYOQ=="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.4.4_1525329118576_0.7629412889237932"},"_hasShrinkwrap":false},"0.4.5":{"name":"vue-simple-uploader","version":"0.4.5","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.2"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"d3bcf995e7a8c0875486012d8623b8914166feaa","_id":"vue-simple-uploader@0.4.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-JWSW/5EV0+uPOLqKPBeyFk0Sz4q2bBGnjd2vzlCvcPeIYFtTO4t6caWlcn3GTYI5pRIdm4oaTMKxVu2LPQDWTA==","shasum":"fc6828a7b049b4feefc2d2858bc8358dd45b3816","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.5.tgz","fileCount":26,"unpackedSize":706882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa68JQCRA9TVsSAnZWagAA9pIP/0/mM1f+VI9WdvhTJ7U3\n4h+bJAcxuusMFYdN5cDk4Y0gtx6R1NywpdZ+WD7n3nBAbL0/v/OA5M6cxpxy\nIyARIlmF1N+gpFxLkjhIitnlsvADBag06sHpeam1+CdFnniYtxq87x6rZqL+\nv/8GpTP1iHI4eIkql2Fl7eQN62up7CWp7ucKYWhhVku8Qb+w4NVWARwOMfDb\n9jWOw4QH3Yp64ZThDOg6HJeqkd+b9pqYRTWi/AUQQZgom35ZpVmXtATDX2aB\nDss82nnTJNYdgpXpP4ylizs0HYalo/qWXIp7Mjjt+O4lIAbgp0amDg7axxxW\nKneBb9Y9InBFFPjukUKIWrdIJVjmxoawsg+1eK/kSeYXKuYf/N+69/62EWKe\nxOwN+yUhjAY21zwUhaHn4N4r2gcGyoOs3QR+PnnNzcE4PNKVjx0uDDkADzAN\n/hAyoBcGuiv2LJ5IspEm7EBbG3L/XHNJQS4Yr79DcBxWXLraQ6KI4f7iKFW4\nWXhLBRb6exaLtCjyRLHgwOfaXnrVccxske3DjL4BgGD3LB96PN4E7Zy3fot1\n+g+u/bR1nVvTthgSN0s5VTFKhEIAjrr3hBbxGYv45zgNsKmNQqzYtoIrSLXA\neqOCSMq7mmJqQxZG4l8o+CNIVOaE3Dp9SM6fU205FwiU/NYBtjnyi7OHG5NZ\n0s9x\r\n=7zaZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRl/wiehojFs1a0njdXLdwwpiDHPKpAwedUHrdiOolPwIhAPmDbhIgRJMH1Z+8EMfNg2mphMjQyKPpDkFs9GafVJSE"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.4.5_1525400143458_0.29064427182480435"},"_hasShrinkwrap":false},"0.4.6":{"name":"vue-simple-uploader","version":"0.4.6","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.2.2"},"peerDependencies":{"vue":">=2.1"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"99ea2f91861ad051a5364981f0b5842fea0727dc","_id":"vue-simple-uploader@0.4.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-6jqs1vcCHaY9eSrgJn7wkJCP1lUkZaUBQHHmot0Fc3cOPPYwrGEyoMn04ao1t9cD6sjID5CefGw3T0nQwQxsWA==","shasum":"7bd953d4e09e87e7d465ce96afed8ea0a7194f19","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.4.6.tgz","fileCount":26,"unpackedSize":707105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa772UCRA9TVsSAnZWagAAveoP/0FcOvm2I7x3G7OxHXrh\n9nTWh5GbtaBVf1ql9Jk+dC8olXvowVmu6Rc7uYTwTySsAqyz0Ns/YkUgIsQA\nwEGP9AaOJkOhUxhbBmVfm3SqotbZxUkUv8AI93hnzYzzSwAIF8Fd0Y8iTyI1\nEsdsr8fLTDsvHUUG3XWmMvMS4qYq9zZHbIxP0qZKGjZIRmmHaHxCAl/XIql8\nNIBxKxceKqGQPQ/qVRDEO3J/yUp+2lx1HCcL7wsruC86sv6cJsK97AsV1uQI\nrbSxQLf2QmciK67t3UbFqcX7C98Y3cxPfUAkcF30O5R61U1rxgt/XMbSKmiQ\ng3lXlB89ebcKWezVHRc+8vrRwwToAvLj638/VrzgVn05O8bK9W4vHnLL0Rpj\nV/vpXarHlqIr3SBbb8TXl2ys+OqHa7shoQ62+K0wkhX4nC44LvUHVrT0CD7h\nGFbng36r+TV/ln9yNrJdZqnMsshOoMYk3GE0weBUM0RrS8ecEL1CAq1jkAHy\npxBui57w0uas9qROn2r9PkwrAsm5jW2PoGyGhMtkLkzoseiAZIE/c5igKkke\nyn7v3mQnscO1pHUxPjBU/TBub9+xXb5rM7jgsZfQKmiKBO4KqTnljdAxYPQ3\nXGEL8jxXZ0KMoBihE+3uw+7OrjVSRxqG5kiyRHY9+814qQmlc/L/jKxXeDMh\nGfd7\r\n=4qR8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmrY/hmayPP+dgws5a9OBGcL93j1XZSQNJHpfFvUPQiAiEApetvjwqfB5qcN0mUSlX2RZgYVpAOzwsES12SPjqCsaE="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.4.6_1525661075148_0.44022729660996496"},"_hasShrinkwrap":false},"0.5.0":{"name":"vue-simple-uploader","version":"0.5.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.3.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"90d1d6f3fc9e5058ba87b67fcea4f9b78643dc65","_id":"vue-simple-uploader@0.5.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-sX1KSgPE+xtpIiHERXg/XUBege34X/LzATXEoEnT63yxStiv/JdIDYky1Ose0wl1ztngrkjPNQDvek01leXoWg==","shasum":"8024b7f765381e8ef5c9e41f2d8107697d516a6b","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.0.tgz","fileCount":26,"unpackedSize":716380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbNa9CRA9TVsSAnZWagAAbp8P/3s7FXPG8OXP9eDicaSN\nH0EwRjmlrahGsdrZK+eCjRFJUjv8Ho1GM5XUxeJHue/YEGX9uK2oMVa3+574\ntpMcoMZCGjBBTi5/UCsJlca9fPEfTcyJskA6eweuIm5SDfJlvO9kxLUO+5Ys\n+70OfcsB9141Wk/7GKwPSbQpljWl4oZhKTa6mHuPpE5+X4eZFLl3h2hzb+s8\nV/WGbn41gAs63MDDL9BV3MtvJHbFyLmmI94GYRIv5v+ghMq9Hoc52UF7avBk\nofp12Urj5hSX4S96mDPvHF2W49Ws6raKyekt+PCUNjL96yY9ffYKjpYi5NUt\ndC4Cfo/yE9pDjUILFW0rLIgcvwm5x8V64XMLSv4gRRfpiWM5woF/4sJ5l9DY\nji0OQthJwUjJfFm/x5yFD9vp5V/Dl64AEEzV64R/g3Rp7Cj6TZFhJ69ZG97s\nMR5o+B5IFN4nByMK66HbU9ZkWp75SxeCYQdDIlWjJqnRiBhQFoxMWifkpvBC\nTulVW2Uk0X0GeY8w7DuQXe1cVyb8l7yJJexGIJV1c5jxyExCpDAn6yIXqF3i\nex/qmxq0CIGlFjuYjgilwVklU9mYleWwBLIWU2jO9yPs7dGRw/FVgCKgsJh+\nih/JcWz+Twiarf1ni2eScYpPUgM6GQBae3nQJ4IMfMe11hHhMDx+LB+pvlIX\np9sU\r\n=R60H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxna9ZWOWqN88kvHapAOofNvYsdxKUA2+gt5EFqvXQ1gIgRT5i4yqujTxhNikt0LMB0PG79HKut7XHHrclHOD/4VU="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.0_1533859516846_0.9928233256632009"},"_hasShrinkwrap":false},"0.5.1":{"name":"vue-simple-uploader","version":"0.5.1","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.3.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"2a42e84063f1b52e9a68464343ff809351b6e89d","_id":"vue-simple-uploader@0.5.1","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-EzuUT3WBmQqA2c6Dy7Ts6unNQOi2K0Tx0WBOp0yiGWSq2egVKLwSAyCc7DSMAqDu8IXTi9Q2xi0ZTmFhbmNJaQ==","shasum":"c83c70ea09af28236d4eeeb06a277b0ec928d103","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.1.tgz","fileCount":26,"unpackedSize":716382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbd7nvCRA9TVsSAnZWagAAy4wP/3uNKH/jArepcXrItdHI\nLGnD38P1yy3N+VY2hzdnY5aQBMlmGdhVOrbD3wZ/3pv7ZFZEZENVLRAjQLy9\nbA7Xyner9+ulNiWnWuDqfIQWLE2iI2OhStKvBlXYWKDrClc6UV8U5gMHXDvt\nQhFrIRJ0SjkWitnI9G3OcWIwF/85z/8sLqFB1mr92P7hqeOx6aiEr8RISGmL\nevMC+M4u4uq37SmC19hCdKXrt/Z2nSJ4a8C6tdbmYIteDVkPhufvKfWIKxRI\nsZMOigO5XISHSN+dJDLJa+L8iRUEHZk3HrHBhAYQJxq1S8lY67k3Sr4OAjsX\ni1cazLNqIrys+F9Wgx9D4YamxEdGOdI2U/hcT0gQ7ZpE3kxA7KFZDHp4A2iU\naRYG9YFj/hAR7ILlth7i3inVyg1c8Iaf64DilwCR9Rzyg+SevGcicMfzLPbl\ny1puarNRWJyB4TUVHjfeJNSiAwDIRxN+T72DdMmASGj+DUez/ESyv/ZPNmXb\nnJ33SyNXxEpAqv/KE36hw+zAmtBX74DAAFjqI5pd6813JgyL3pMyXW35iIBH\nhGVCf5tdTZhSfSTSKTd6JeQrlz8M1EDOXmXGFfU2QUTdsHl9+S4Tx4iE36fI\nDwLg9NMpwwwSecio1iIFw+VCDzFYQcco636GurE7n9OOuKUmClyT/OELcneI\n2PJk\r\n=BP2i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7yUiYJThhKLJvmJVchI+9ERHS3vq7xRYS4A62Tp7TiAiEAozbE5exnN5dRYtkgYpYdMHKRmirMSyMqKSpL/rmgPRk="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.1_1534573038653_0.5584918753917474"},"_hasShrinkwrap":false},"0.5.2":{"name":"vue-simple-uploader","version":"0.5.2","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.3.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"5ce9a0cbfd3a0d32a41ce74a8b0d6f4cab21e9e0","_id":"vue-simple-uploader@0.5.2","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-xMXdsGbRSS/dNcqI3rvqxsb5G7vXB8argljrbxqDcc2H03PcnOYWMMWizhgmC7+1UtpRPDY/eUJuhHHK2SpaeQ==","shasum":"94c1578eb84986fc2757fb76b7174f3a2c481110","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.2.tgz","fileCount":26,"unpackedSize":716387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbd79DCRA9TVsSAnZWagAA5r8P/2/7YqUHMa1Lz+zVqJ7l\noGreOwNOx453PkExHTD2arP2U6SKa6N7xyQtlhA3uev7YIK47hL3LfMwi5J7\n7wxTYo0s/Py4sn+WE1xmrzIPGZhEv2uVqrgvy3ind52ZX5hzcLqVQo3ooME+\nId1gY9aJE7AlThfMlk7UIPXVfxYDMN+KOcH0IFzRlzneEx/0XE+pBhw2R/jQ\nq7RI0jzp0TWV4JVff+/cn9Yd9TQABTTLLMoaF8aXvif8+Cby1t4v70FSJjev\nSwwKt/M8GB6T5t8m9mILVf1dZwr5gMWLVKhW3nSVP+entPW16p8/3GlQZdYK\nya7JtdVlqHwhf4MpmYPJqJw1aHilgp1PAY8Y7elv4sEESqCsqH//DGuVjAaN\nHr9UQea6tX2ZA0xv/HqCcjKuj04z7/pgETWJHn8aETuT2pXCBkmgLr1/gyYe\nLUAZeIgMIjjzBf08owDxayWgYZzLYgxRVF6Kps7Tc16CimZAY/O7zjSGNFjz\nyspof8mctB+xBOje1WRG6Ie60R/izIg4LJkn4yTdUwbnZIORv1zk2yaEJjXe\nXNk7KYbc4Qih6OAlwsotXOZyxM15oTvA9ZmElaY+tn6RV2hMoidgKiN6HmJh\nCqTz5hU8paL5N2QkxJ/BvzC0LoArO8KfCa6SHBUNC3OOoRHoUhN+3d/rjSi/\n7TWE\r\n=P9uC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHEwGtm+PIxqRX3AwZIuEr8ezTZaCpRUYJ7lsmnjvUQ4AiAiteyDfxIJIjprfQtnPK+ncBEbdgtbhz4OFZK+fFCP9A=="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.2_1534574403304_0.2648129200418814"},"_hasShrinkwrap":false},"0.5.3":{"name":"vue-simple-uploader","version":"0.5.3","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.3.2"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"a893ba4a7ecb1712ceca1afa8643269ebed3c63b","_id":"vue-simple-uploader@0.5.3","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-R9rGOJ1PaLTT6UuZd1Qy5sEijwflCfwFx+y+16sLwKVt/tNmP0u10rPINfU84stavgsgFV5bspNn9JaSzNYbkw==","shasum":"6a0647f2705a10396e3d8981e399e0d1c3fe4404","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.3.tgz","fileCount":26,"unpackedSize":716643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfSPjCRA9TVsSAnZWagAA7EIP/2yYUE6tKZMhipcHfZMf\nF43TyiOCDY8RMn+yJEF/pyRNB1PUPKjK5IHM73ckNfqrBAKksY/VuirLTPoZ\nxKeft3t/c8W2HOoEgs9xAi6m9nGx+BucJzrXJRQ0EU9rcUG3MKaC05JDR+ZT\n0WQjE0tLUxhOndwr8Bb4xxgKtQOUHcGzOLTFnFed2QaNGuYop6Qm8DsEx3Tt\nL5TmZR58Zuv0w6VseSOoeVHwIyacRlHJnRQ6TMm6Sp8HKB3Dm40hb/VGKSzK\nXqREh87onAQ4W2CDLpOldcd+iEUJHVnjlYY3t7ap6LPBB8MaqPCEeobgtZSK\nXodLFYSuhxsXoKE+ogtM0Dy65NSxpVoESWZdZHfMiWo1B6rBhGzuJNfOfhwR\nJfJTEJGJGVfwiNFbi/YtnW5avJ45JFcTzUHwyNbbs184ceOxFgvP3ko0FCp0\nt3mW5mgkXrID6ied7S+fwuIzYZdyMaWNadiyAyZUKGdOJNRaViBcNWx3P9J9\n/lca/Wip7xkgTO7qAINU72jf25vusHsZdf9NQJOJKGCi28e9rHETuRBFl0C+\n+tvZLtZcO2ejQ7TQz6VHS6dGmNMs9jP6VKBsMvjg+9k+jGUQbROwxBXrnbVd\n6Sin2dAzuhLBvW22sdauj99niDQN7n7b2fBacNv1mtxiXizsorZldy71Udkv\ngNAC\r\n=5hBT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDcGfS7dvjcYsjp+/8SE4vdjlMW+cUanT2RZQ+T3XXpbAiEAolGgbPASZTll0hO50LF0WQTLJQe9WAw5WUmyaHsisvY="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.3_1534927842545_0.8025263351442573"},"_hasShrinkwrap":false},"0.5.4":{"name":"vue-simple-uploader","version":"0.5.4","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.4.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"efb7551e2073b16a117931631df787400b62389b","_id":"vue-simple-uploader@0.5.4","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-73hZluXIQ6X15KQVGgt52mcGWEw+tTZqQxWuyRjcH6shL8mUbVTQJvuBokSQDXEfrz9BdC9GXfNvGDUNfIpLAg==","shasum":"d8f5313cba70c9bad2dd5c0850caaa9b929807c0","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.4.tgz","fileCount":26,"unpackedSize":717236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbg20hCRA9TVsSAnZWagAAfXYP/j6UfrBBugLCoPA5Lwcq\nZ+FLjAVnhbIuyxpfLCjppKY9Pq/uWSibwQqv9hAQ+K+BDIpd8ds6bP5MQin2\nCjW1EHbWbeNzUVRvOSBw/d9K6eyByos3oQ05DXSpY57ShhnMN6L1cYo8ebmC\nSDofTubBktd/woe0AeRtoasy6/wH4aSssh5sfDKye+AD8uUg3X7cyDpiiQWZ\nOF77tqYHn5GD7ojPD3gJm0cv6qunfaSnXfcSHpXLE5+dlmRiF/BCiyrcm2Ha\n5sI2ECZMQFNysPXP3LFXTW2DGdD0/G7uYx5PyoFPusqZ22I3ILuNdqDdpLgC\nrF75hxY3OO2bXj3oTtrslZEQ+5OUSTwNE9ZhF5cOd5Cu9vsiM8RsTInGU3Li\nPZd6rAbPT8aRDW9/GceJiJ/Jxf0OoRT0LrwjdKmg7jas72JjUut+Q7R9rbUD\nijmgmNmb7o0picprgLDuorXLeTSaqs26tY1u+LgVYxkUJI04q5YPEO+TQWEa\nOXOJeSn4DafO9RzKFBxamRjLKrFo1e2cGnrOgjqfi0TEbaYueoDJYFQyVcsj\nXuQJEp2+rBMZGiTGPkUgDVMZ/sG+WMRSDriG86L/s7yYV1gF2ipyY/aFIEcl\novqVNVFkKw1TWexfqsXCyU6RxFk6ksU785hn9sQmDJYlrkYDus5r+c69pW/o\nTn6n\r\n=w9rk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHMkCGJRQSek0L0DGMv9a5nE8jFgDlVhHKwYD993DOalAiEAreu3b0/+5St4n1hFGxXilXVI7iz4cafk7I2hZymNZmw="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.4_1535339808816_0.05272748953614337"},"_hasShrinkwrap":false},"0.5.5":{"name":"vue-simple-uploader","version":"0.5.5","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.4.1"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"0cef4e9aaf3a111b3f9515c7bb9e9a16331c1cee","_id":"vue-simple-uploader@0.5.5","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-nJWBzq1ZqCpDM0Tw6GLmkEjbJVWmovx4XBYfedPZM8phVk7otkyggOQHz2qHUKIP8QN9YQxtztsxkwwPkQCVdA==","shasum":"3e73592764fff345462eaf30a92e712e4db10e78","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.5.tgz","fileCount":26,"unpackedSize":717521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6plaCRA9TVsSAnZWagAAXz8P/jcpe+JTpIIRHYSnXsDW\np1AKA8fbeRvUlGrA8nuDXFWr9GBMUYHzJK1Ug5l9XRMmcEhmMPJhDT6RnVvR\nFRHSgCYlNXxfMGZ/ZPfrU3j9N/mo1CjxivRcFKsXgcXGS1i3ZIn2APV7qx06\n2lmwYiatGtQaGlFtbn1tKmAF38UFyfKQ5WKVLxmOOWyI2coOZ02Wrh/wTWMq\nSmuM0sG2RhqP/QQh5Wm4WsB0Zg3mVgm+QoYUnJxWnYicv0wmuuZC4AhfVtF6\n89ZE4l5IPgOteGB3QGzsNYAdo2tAL6NDEW/LXKFkdifYzEJ8F8aH5BLhRBwE\n1/QqaA35MX3lTIroId/72/DXY/LaAhD1+0o0zaVLB1aSTn5sRomPj4yVKdm/\nB3OPgASPFpAqnUbPlQXyUuSq6M+82Di/T9/k8TJZvr0LE6+/oEKD/UhyVyYZ\nh0Ybj+qdLUYYN+lvEnjZrV1rA/TUjkP8vZgqlEV8o6qbBap9CkVcBQC64aKu\nclRGmbvQAQON4MVJBN129QDplcJL7sdEFTiWi6ERjTXbxjunOr58epiHTEo8\n1t36TGQx+oscdBm9+WP4z4GDvWjpIF9rpIRJs/dakLEQhlWO2B/w40IlPoC1\n5HegCyo4zOGWefDK2GRCr8YXnM6BlkgP3+RDmlvnMKnocIIJTayU5SgtR2+x\n5JIr\r\n=kZyB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2OOj0Hq+PjNEOzzv+oBKFT8+JBME25kJ1qi0O4LnWGAIhANJF4iO3sxrLrAX6NxFe1pZPX1ZbaO3sKaCPynvobL/F"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.5_1542101338027_0.6421822813459981"},"_hasShrinkwrap":false},"0.5.6":{"name":"vue-simple-uploader","version":"0.5.6","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.4.2"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"d3a91e85d58ea9f09ec942516cafbeb17e68126e","_id":"vue-simple-uploader@0.5.6","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-nEn2626Sn9zxI5nUTIJ4KTy38GesQjDwRNwYWfMqLwyZql4rdGXxZ9XlhLKzGbsc+HEOtjWqlqraAMyyAXjhzQ==","shasum":"ec94974be8f5f38388ac3b7ec128ca4114fef2e0","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.5.6.tgz","fileCount":26,"unpackedSize":717523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb67H0CRA9TVsSAnZWagAAkgkP/21aG2sQsDbMVdJ2KWUG\nMgMVn9bDN3y09Pw7DSXNgkoOVJOIPEu2D1JxPgrR/fs0iJ/AbVq9dX3u/1Nm\nYxH+V4zOWCB6b+q0QWyD3+bEPRoYqMlZQ9IQJgyQbBSTRzQAfNqP5kvnxXyU\nh2nPIExoAZGqOVYxUmmQzFesJAHHD+DGaPWz8G9R4YYgzJwUJQEd8ytSCPJ0\nN8okgGXrFS3Lk/QyzVgcVTBucx6TgVYRJW6isUKiK+f4S5frxNGXDvlXgBnH\nWZ8TGCH3UrwklKzmdveB2UyCngXb7v/QKmZIdIay8sNv9kjOf4vNM0Ym393y\n1AKuzk6hJpcZRyOmeM7x3GVHhczGM5SX882mJVoE4NrjEAVSufpRFJkKzPRj\nwwNb4rrFEvDpc6Ca1E+2wFg/1MG6N5kA5EAf47/ksjlpFZfdjCbYDN6cW5tL\nOLzGNsPakQXMRFbK/5vquA1mAXvwHWbpZK4yw21EssNgoZafJWxbpgMfcqVo\nx9qTkyPG+sHt3cLNZ95NFpg8tWwno+Vxv6CEeX1IzXTMCNiKTCea6dxx8VY9\nVj0oLGkJ5Ec4cCHgrrr1iBy381Oa53ZMvvjPPlACfAsxSOcnVI2P5ucXbcaL\nUwBb3IeZEaCo1CSCDXMk5nQyrO80gFSLR/nPeAHaOvw8ZAfvLUuJYC9+8r/X\nHDXL\r\n=zCvs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjCURMajD4K+HDCwiRyr8RyvBe82RfGaR2JOtjyYhxVgIhAJaIdmQEtKjdgTt1JTR6qO5jFJvBkmdDBk/uHamuoWvJ"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.5.6_1542173172037_0.24997868241985688"},"_hasShrinkwrap":false},"0.6.0":{"name":"vue-simple-uploader","version":"0.6.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.4.2"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"6364c4706f737581abd40d8b01c4aba42b965cdb","_id":"vue-simple-uploader@0.6.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-bMa+lXsui4hlA2K1G4W+cThmwW6y1CqlJpBDTpxjodWCF2pF7Ub3xToJRrbyKARZQSXQ9Uiqnbh3FFOVOv+Jyw==","shasum":"97e5eeb9370f4c24d8c19e42bcadde5e3d560847","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.6.0.tgz","fileCount":26,"unpackedSize":721433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTrWeCRA9TVsSAnZWagAALRYP/1EY71uWrzw1u02GjDmH\nM8ORbhKyQ33SwXwbk2O9hWF6wMrk4/pebqfhs1Mq57qvlMWdSfBtJooJ5sNG\nipCw6bvRctCruE6fOhRJ+9Tpy1hM5ecJQ62lO0DP+nJ+0Jlmch6DbcXOpKCq\norCgrP5oendskGbK6n8mYZCCYoFzceMtpNR7dIMpxmZlWtFRJN3fUFc5oByX\nD3PGerTEZ/tDWssbjM+bxpuQ6BYuHx4qjMtMqta+o/1IKtvmZT0xaIjZuhJn\nuLxq7e8hWWlcmc0ykwXmipLPmbbg4dOLHB0kAcDJ7XfKuGsU6c59sjBK0iEI\nsQJ9JW7NoR/788Ls9z3vPYY0Tw55pkyZkIe+YsKomRvbxmRAKNVVrScecbSb\nEOMeW86ejjVVgXnXGBGokS/+HZ7EC/t+I9LxLGyJRgK4HlzxDEPiWGsjX1LL\nihkoNNjOAWqCJ/VWUQj3mh9SuZUZvNtV40H17NLpab77QNEt7ClUbBT1Z8Zf\nKG8hXeVCImNJtAmTd78L4xqTjQChZ2fWd178GHnxpaze6QtbUrAlzR3KOecZ\nuvAabcO9ErvwjYREF3sxNjjUmb8conKS+QdKZvUR6V754yI3aL1KULbeRGmJ\noeAsU2iQSPvpmVSbUTWvGHbo+tVDT6Bl534pYFvIoCX0l0F1RdSJMVtATwD4\niBZs\r\n=gsDN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCJu/lZkjPwmB4CoS+PNDI76iG9J6VcJ9pSp3WWVLmVgIhAJvo6+xdtOG0VMYye5M78IjkTTt1u6XauHT7z0k0SfGp"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.6.0_1548662174149_0.30200872786197275"},"_hasShrinkwrap":false},"0.7.0":{"name":"vue-simple-uploader","version":"0.7.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 8"],"gitHead":"151734f25238e2fe65b6869d6a5e374c043fdb68","_id":"vue-simple-uploader@0.7.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-vx5U09EjuNYrKq/SDcmf2wluJ/ejdG+1ByEcDIv0zB70qK1wVX6jdNUIVDAdKgvLyx0NS7xO9adwE7T9Wwug7Q==","shasum":"a6939c7446d97d52af39fb02bac9e360d95e0a41","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.0.tgz","fileCount":26,"unpackedSize":722604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcd5VxCRA9TVsSAnZWagAAGAMP/i88FDyNpL4JQN+W/ZpN\nasoEiL1AFCe/ZXA96x2vSjI9/WaF7yf059y5h3WRHdzzqNyYk7mjJycEFWGf\nhkBcrJAmJzfZ1ocamoncF28RPiIuthR0C7jWkljuub/FHPQ3h3RZD8b42CeZ\nSesP4A/p2sYgmoj1M6N8uMSe/bL/5PrnvXnee/rt8DQDHizjqNxeBuzXismF\nUl1SGyj/yW0zpF4ZJ19ENr8dc64mGYBdcGyXNycacr4PFWoAky+6GsHLKFkJ\nj/xmJxegRMX0Ei/DlAAeZFBE0ReES7FSuPiO67Yk5VZObxZMlpydTQcH4kez\n0H/lmOBsOZjnVt32GwGrlbWaX4hnyYYn2Ol4Tbn63+w9Towib56J+vKyF00W\nEVhactDnWdBmL2dbVaHXdHvw8VVivr6QsV9m1czNjzpH4n64+VG7KJ/MrctR\n13U+Dvx8HbBFWAO2VrwEV6EXW2ec8KoL2izwA0rjbwNmUDIHaNZkebbg+gj8\nXrXSXVUWuSHFGrpFEJFrDQWLjM/eomfSfqOCXjWGLpwm0zbQNI6mN5a/ZJLm\nsPANVzsVdwsxDgHkK5HyEgn8C1YUkwGYDxObrQwkWjTZZ5kDRXtCtG4C/1E9\nEyNhWUD6Dl5mxFvVXmGqLHzMu2i7vWlFaX5v+gFiHama4XrY7njCn9+eZvnG\n4o4u\r\n=VRly\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZz0hcTbTO/Y/Vu6zaJfSoIGn+6kxQ3ve19dYA0MR8JAiAIWEVHQRhbYmSXV8p4Hp4Np6UtwSXFppCg85AQVKVI3g=="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.0_1551340911765_0.07351080036012325"},"_hasShrinkwrap":false},"0.7.1":{"name":"vue-simple-uploader","version":"0.7.1","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.1"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"gitHead":"693164cc83b14eaec95f6ebac301bc0f972271a8","_id":"vue-simple-uploader@0.7.1","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-iRRNqcBYqyYRDt+xbupToWNS2aOUPWFKKldhKD/8aGENh9J0RYYCiss6U6ORGJYfJTOiY1JBQWFO6OaKNwbr9w==","shasum":"9791897e74d198dee526e718691c93aa02c31ea9","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.1.tgz","fileCount":26,"unpackedSize":723048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcz/YDCRA9TVsSAnZWagAAPFQP/jpAc7C5o5d36UM/leDT\n07X+X8pcpXfl4rIw8JNj4gsTZu/u/B1y1SotaXw3+I0/gfmWOe13Igu1gxwi\n3qMBvXRrTkN/C2fL9M463ivhM902fP51u6LMFJUq4BtdFOgk33tOtLzLBrWR\nd2pO7hu5yalusBq9dCipoA7kW2N+NTB3lkePOq1Fvvy/nq7X/t21sk69i9Ke\n6Il52kIats0PkDkXLqN3uwHjRUeFzdInz2iYsjAqboLSsxlMLid+VGHsTRFN\n85iQK0TNyq2sjx8JikYXN8jqN5x6Sbn0HXonOhmruVRQkO9lRSS7vTPUz8eP\nY552e/50hOjSuCfSJbXg3mNEbIWf4FzsLEMZMYQrGQDtc/KEPjTuQfBSEvXS\nGcp4BQQSAabfUVyhiAbkn5STASYWygHJ/z6Me3cA6lNET1Aesph7kIgy2Fki\nHxX+xwMaNQNbTksQ5CA7Fz6OvFlpptnM2GfvnrY9AtqVi3F83X5J/FnY1MXF\nAx8pW5wM9mvenftF8VEb4JgM6K4sdtHKW2+/zyd59GT8qZWvuAXNuPDEY98g\n1h8kC3Wx2Ss17OhfFoDSZ2Aj9GkuoKK8lUsv2iv1OpbNvMunInzy5I1pqFTQ\nhIAQCK53ioet5UrT6xDm8b+2HK/iJyijBA/5zQht7jK98DGWPnbtwvgmk1mv\nn6qG\r\n=LgE4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGwyFrF6rU4V5mDtA3Uc6yaCAnrkHX3b15WfsMxUUqONAiEAjXcast8pssJuIJQsleBQ2Isn0Oif/w6KTKE8ShqfogU="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.1_1557132802582_0.5860881708188601"},"_hasShrinkwrap":false},"0.7.2":{"name":"vue-simple-uploader","version":"0.7.2","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.2"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"gitHead":"90009c37961bd07ae1c4ca23d5697d7069007e8b","_id":"vue-simple-uploader@0.7.2","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-IjNNEQB6vbwRyemvlcbLz/0BkV/fNSJOMz14i+DDtA3TKW1qUpqRiYCjEaaGjdZR2GTcvcYCxAGuhBv5GRy63w==","shasum":"3e747feeef5fb070b1a7481e7e6841874991668a","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.2.tgz","fileCount":26,"unpackedSize":723194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgI33CRA9TVsSAnZWagAARI4P/0wDR1mqxh+iOGA3+xI4\ndSH706PoF2cKKS7IN1R0pQwyz1tQlWKr93RKth3PmQzADqeeiBtLvsikvg2q\nzCssOYlIQ3sQ3vtNwRqSDSuMnWkUz2ZOD2+2rzcsW121o7mlTxwDRHuJ0xyC\no1CCPPc9K37MofDgfV7CWDZ4m77oRWyDcQgk+DKBst3LHOY9OVMSYnmavByZ\nGzUU0Ci+oWrWYIrJ5q7xwl7DPE4mKdVGAI4UHMKHfIfiltBiRPK+Ji+zi/Ee\nrxyuI17vXIx+YOOislwqeLRUZS0g6UteWLB8+XwbRS2ZVFu+BJyNzah/ts1d\n/vNSZVnM53QZ3pxaBdZ4DIzkWdilTyvrHu/CBaghSQq70ZxpBMhWADWtX7zD\nJlnEWekfTdMENQsg7nlO/d6mQ+rAOjfahAtB8MEjWAfFCwY8vWNMa+hTVapR\ntgn5s1ts1ZSJxPuLye/0dJh6MfH8f0nixYoyrEvEfEYx2JuuXYO+5/JnUp4a\nuUAuqUMc0WxaPPF6XfmNRzV7Dc7dtKZhS5MlgQVlX7gB2lsNFA9fEfx6103c\nHQE0BkpdypWRUPnL47nkBnchh5CvXYqiosKuCpphK58WOc4cbram62k869eN\nk0lcBpd2nt1KLci4vrK+s2ispPpBgnhUxWF/rzuGlSytWv2YtiR3BXxPzqkc\nij6z\r\n=kK0n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLVJHCrE4RNOgAXR0NK+/LdMTnjQd8oqtaEm34JZ1RSwIgXvFMCzeSDmmPEfV45IDKrnDRmG2vxXRGAv8DHdcdWGc="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.2_1568706038071_0.039375020903192004"},"_hasShrinkwrap":false},"0.7.3":{"name":"vue-simple-uploader","version":"0.7.3","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.3"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^3.19.0","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"gitHead":"8616980d09afa89ca93f8918e41bfce9d66b923f","_id":"vue-simple-uploader@0.7.3","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-2KvblRIP67vnqUhEAB/dQgEYhDIq58O8MIl/oNlhwkw6No3YZgpBuikkE9pBORy1314BTo1qFw6K+kkb2WK9bg==","shasum":"b5f6878a3fbb77f1bc36e7658622bfc1d3f77edc","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.3.tgz","fileCount":26,"unpackedSize":723374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd29NqCRA9TVsSAnZWagAAzy4QAIMLln5zR7GIS2AdgXJ1\nc0dIH5/SVk/ka1lu8BmrFaILFHQlcOTFKs2jZJnmXPnuWCdRdR3/T3M157ye\nVrghtI5RaJJtTDjSq5SswrnmYdlcW2r6ZSd6ZTiJGccRwehNIYMYPXUaeSSv\nML46kj7rgiOeTOVQN8la4pceaNKu/8q9WZ14MQ/4K72Gel5gEX0uhdc893H1\nKFhWpRqhXtL+wpnMkH9S+lJgnaKtrk2VmXNyIS9UvvyvaU5myT0mRfWOAl1l\nzVKsaMmYalG/uHUYmWqymScUeFA1DvLsauVsuE1r6CztfHEiUlOls7ERFCKO\nZN2xsGMAsmwjsXlIQrfIVTAGoBoZC3iYUkW5ttwWv91Hc6lXicy/dyCHh763\nnFAs4eHHbUgPoedcEzYhOJ8PiWERCzrMg4J7Ao+xdX6+oUmMk3hM6TySN2E+\nG2Ksk5kucbNDL887zvM+9P/TILRP+jd/LnyvsTdRxDFwbWtyZ3ViAuJVb5P+\n5hU8bXq8LmJpyCzHOsnrA89jh64v520rQ4VagRPBUCD0l9NGkZc5dFxfmU1x\nfYTxi6VKv1NTaAXJIOi9Hnic6khxn+9Dgd3Kbxs79U17Zp6mLXPKUwV9lkFo\nD+XrJvfCGhu5y07GoVf0cyfMKcH4dvBZLlj0YEMOzRYniz8YRd1Y5fhnTDuA\nTk+3\r\n=FNbd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDlaP9gFKz2F+JHsKVYcSamrHGdcV4hsGCfOH2nsOEtQIhANsBl/lNo8n4x2eYXQgXKFOEq1J1/sZ82NTRa874Xd/t"}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.3_1574687593946_0.49239500646734946"},"_hasShrinkwrap":false},"0.7.4":{"name":"vue-simple-uploader","version":"0.7.4","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.4"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^3.3.2","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"gitHead":"d7ae0f197135124e1e03007ceff3035fc9d7402b","_id":"vue-simple-uploader@0.7.4","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-33uv07lkVj7m9gI7IIrQHAUcZkvl70g55lxnfnO/MZ8icwqiemW9Ah4ZexGWNrEfL1p6fV54PlOGICU17aBPFQ==","shasum":"8cf6033fdae05b39f898146cc961213a38606259","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.4.tgz","fileCount":26,"unpackedSize":721844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6HVhCRA9TVsSAnZWagAA4OAP/28ptuZHJ7ZEDf7xXxhb\nUrAvAvSoPE+C81GPdLh24Ui0KwtIz1GfDdwfGgY/NDsPinz74scbUp61Yu+r\npnK3NY+Ie2DppEV+60Ab7Ado2IeXbcpP9z3/HqO0VcOXVnMsm79Tq9N/TApF\n5fOK5FWrunADOPfe3rNj1yhnPn3trjASXLyWKJczV9mLVS86N0r/EqQRnwpr\nxntHOK51fdFlGcL9UgK5UVaZWb6DwvVnZQroFen5y77Trr9zferZ5oyzvXzv\nbj8aBvCOmFst99KX8hN4gAeXyvOUYCIE+daKl4Ndr45ABbhCrRobyNEdVIPh\nsKae2DdDhLXIv2Qya6RVUFdtTUCnQBJXrY58K2TfywZr5lrS023VGfe9+ebO\nZDIDmQ2QZOd+OZg2TCthowXwHwBrd9I3HAhnY4+IXi6xwCnVhU+Pda+RCIZl\nq1u2l0Ba4eecztFJguQ4nJ/JESPGLDCmwxvWByjo8qLagHdwE3/b53YjQwCw\n6WiyeUZ2AVUwKU4Zh9Ckot5WKobLM3Tjg/SSn+Pq9W0ttft/H1vNhxwhnVBk\nS5VELBjgNgFfn15zpErewwj4hcDgxCT2ulDCSJ3WXniyfag66xd3UH/0AZF3\npu5OGjUyfecbc2D6xsBURnY5sfVsxdsrWSmoN17xdm1hgbPyoq2OB8pMEKaC\nxJk3\r\n=HwyV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfUWlw9nlBtbTkzmM9JI4F0x1NLR+8E+oZnN9rf68qnAiEAkj4yRNHTJCOrKEEQGDbkWTKQ2fYeYm5AUC9Dn9HKIJQ="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.4_1575515489390_0.11684865966320035"},"_hasShrinkwrap":false},"0.7.5":{"name":"vue-simple-uploader","version":"0.7.5","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.5"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^3.3.2","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"gitHead":"73b601333d8aa5d67c750c18bb9c396972f7a146","_id":"vue-simple-uploader@0.7.5","_nodeVersion":"8.17.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Q7+4ufprtfMJtEUDz9vGluejI4qwIRWXP/ALMOPVUosR5dYUQ+bc8dqX1Zck8RIjHFt6oKBq50e6hR9JomAilA==","shasum":"b0ec9565e9eacd0df3b6bbbb64f804300bbc51e7","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.5.tgz","fileCount":26,"unpackedSize":721819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZCZGCRA9TVsSAnZWagAAAGEP/A7E87V6L9i7Q2oBrGNf\nx6fSevKSevQvuKLOZVnMQM62RZp6xMEeMDqufpaIWP7sDRiQVaQE0IjwlsSb\n4IHu466LlQmnY76LBiVJtNiRRJUxarzHPJPZ2DczITVxSETuOBpabsIfQoAo\ngVmUtJa+iL6N7ljPmUxoLxq7OutlpbLTtJe48oplBqPX5fETB6fhsWzatNXs\nzoRadtjf54Sp5tIhD9/u9zXw3tOQdkSZtQ926MiYNvznLpiAjauLRUEtRH0l\nWWt60KzoAmKeQQtXjz2FQxNXfxvlOyRlCtgA3MkgehbtAByX867hOO91yA8v\noygDrzLGcTpgXRifsp2mX3jSycYILuaiStpBU/Sa9BD7XZY9beSJjttVjMY/\nY1VGbNLX2hChI6RCxyfWROTyVLz5MfXTeSqZMg/oq+VHlYzwsvpZjIk0eHc3\nGUWBXO79+XNoJwSBg41ygzXe40olIy9gMyfVnEkBSIkdqfDU0fEZjIm6IQmL\ndVeoKegDBxQb165oAzzMs979DjonftSUfPqR3t6/tZonliDf2V4pZzQYfAHs\nqYg+mTuwYxnxKG9MFyPtXU7AmKj7spezHQ/Q42qzuURwbt8UiVNeNEVmksVe\nRi9M5LVCyMK5yTNZL1u1fPxlZPJy0QAQSbuu9sFVlfFcteXSuy0q/24TloV4\nerpr\r\n=qiQC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdYkN38ha33TjalzDjv0PS6QAgMnfQQ9ZYDqbX8SnhaAiEAuYZM0fgrmsvIaNPw5q8qPbXveNiFUZmeQVDAE0kg87s="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.5_1600398917548_0.0005819949415899472"},"_hasShrinkwrap":false},"0.7.6":{"name":"vue-simple-uploader","version":"0.7.6","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-uploader.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"node build/dev-server.js","start":"node build/dev-server.js","build":"node build/build.js","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.5.6"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","extract-text-webpack-plugin":"^2.0.0","file-loader":"^0.11.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","opn":"^5.1.0","optimize-css-assets-webpack-plugin":"^2.0.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vue":"^2.3.3","vue-loader":"^12.1.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.3.3","webpack":"^2.6.1","webpack-bundle-analyzer":"^3.3.2","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"gitHead":"0818a40a56ec2f96b81105a93d00ef0ebc6c0f6e","_id":"vue-simple-uploader@0.7.6","_nodeVersion":"8.17.0","_npmVersion":"6.13.4","_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"dist":{"integrity":"sha512-DYddedNi+ZZzqxmKgW2t4lBN3aiB66oKOxgAfS9Hz9J1FHv7Xt+u1Pq8F48BFS4vG0+MFHCNzjzS2xaEUOIcHQ==","shasum":"2da8ce6995c0701c9b16acb7171b351835091d0e","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-0.7.6.tgz","fileCount":26,"unpackedSize":722240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl+csCRA9TVsSAnZWagAAQVgP/16wYKa4fbkp/00ACyxl\n1XLPnLpmC4eJELjjgiX3PQr2xXTUhUMrQU1cdVZyCvATyiiootCLvBQjlSP1\nPirucrlgfT141n9sQqKdAWcxPNiUEtuMO5Ytkh6zXMDlXKonj06GmyqpgnZB\nqc9KBsl5Hu8S6iqga+vN/7KW9TFJC7HkC6YlSzN6+KFL/F5et1H0Y6Nc+guN\nuXvJrlSfbcIZY+jLnw4btSNpi5H2HI52xgHGMD5V+ZOcvbtMrX9i4PsMCRiE\nAOZjqpLIts1w75Nu7qDFyu2aTm5qxeea2lJTRBEQ58xswnWzf0q6BOdGSPfk\nhS+dQkf/EmpFZ6fMQBeJLTfdPlmZdW3WNX8dpt2IdYEe2fVtQwpuKVp5dNyG\nJpnTfc2O4IMHMNt9kxQAAe/Fk2sQHjARTYajtnDwUk+zAfqpdeTKU49kMCAA\npzBfdbkJkf/15Oi5AC35ony4YK+z7moWo/InWG2eoDGvTqhCtbsNeJ97hO54\nZQCGQrT05kMmZJaUANcy8uG4tIDN8jON8WAsEfxxMklN9Mj9IZ3ziQYBvDuE\napjem9LjuXjG3BhmIqS2VLyPjwQtFycyk58MkMP/WAuAuAw+KSN/E/tqNyDj\n3ro5MkYTM/hiik+LrBYEnoW3jttyXJ/SEotmynpxewZeSMcdBEa13Zqjv3vo\n4y0O\r\n=290b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJl/pbhpNPQsvkbzWxZ8Z5XeP3t/M2QUIFe7ZplXNeWAiEA7PXySceqC0H6Kc71nUr2vJgU+NkhNfGzao7KUS1ZBOU="}]},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_0.7.6_1603790636435_0.7260335502940096"},"_hasShrinkwrap":false},"1.0.0-beta.0":{"name":"vue-simple-uploader","version":"1.0.0-beta.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-2.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader :options=\"options\" class=\"uploader-example\">\n    <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list>\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploader = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploader.value.uploader\n        })\n      })\n      return {\n        uploader,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"084d17db8323d09e04f7a6b728efcb9f09055432","_id":"vue-simple-uploader@1.0.0-beta.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-Wk6gCoA+my1xaS5rskVusItxCJ91zeYadM32FcgIIjAjEpgq/X4qGt+ANeGFrHdHqieUE10eoaBtUa8JQR/KuQ==","shasum":"f6f1563abff5339959cc2ba26175b45e007c75c5","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0-beta.0.tgz","fileCount":28,"unpackedSize":427296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1QnYCRA9TVsSAnZWagAAslwP/iqYoyRp1X1/fNst0fB/\ny+wBN7c+G32BmLj7VoUcVRq57UJMqUlvGho3DQuhPdsQzYESRacAMt1xSbX9\nIL3YwMtpjBR1ZdLsu45l1WUhgSPsg/YYjOrCEHijkyMEWiyrGJwxu+0A6J1F\n3j6W12r20g9jPG7rjxGDgK9SmqIQjlM+Jy0Nda32jETCXVVTGt8Z+iTeiE1s\ngdRHM14atTtFz0U8sY6L57xMAHG6Hhgb2Zvd31JZFjYF0R2LSYnEkjJIzTRI\nIWXDfY2JA5F5kwG7KdhH1ZzqJNaxv6XJP+myFrJ5gKyMN55zGlb0LcBRnFYc\nVqFlqrK/fnXf5WReLgdAExdv3aejV30CN6BAo+P5elmcsLlp67xyECkNLDzH\nQzcHqrFTXtzAcoFZhJOfzCIS3Y4TFNh6r06Ec86uvxzV3/5JEJqZ1kUo0eTe\n/p0mmu7cOzPPWVXxmgayv9nZsxFm3M+cE3Sj5c8XALkKbNnE6Ftr3Aqh1a0U\nxz6NRNB+uuFIq88RE4Xoq4caWxdUiQMjUuVZiXsO68FGVopMufrAG6FpFAUM\nfnySDpnjzNpeQ+jB9UqYKcMwQqqrB8cQLUmknK3FVDYxbzwqoEfG7JqrkcbB\nyemBp2UDB+ytVd5I46oMiM6zqFMbbfVjtkwzqddjqL7cPjWMdykp2RE9Blg/\n0LZt\r\n=RLvX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICdpO0ejM7k0Y2Q2EZRuT9Qo6iverpcUh0s4XkzcapmNAiEA2h7eUIj6+LFQdTqQg698shBHtj/VLT82sP8J76ArnCI="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0-beta.0_1641351639884_0.005302036079495309"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"vue-simple-uploader","version":"1.0.0-beta.1","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-2.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader :options=\"options\" class=\"uploader-example\">\n    <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list>\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploader = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploader.value.uploader\n        })\n      })\n      return {\n        uploader,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"5552c48a03b39b05be4d533b859b652d91b2bdeb","_id":"vue-simple-uploader@1.0.0-beta.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-jPtVEhLgRzqt2dkRZfFfjxOJUQZpwlpWtflTdCcoFafEC46SkjTQXqWcKTgE2FTzeh1EztXB3zAWOFdfG5z+AQ==","shasum":"66305bd95578e9a9e339cef0829eb05153cea9ee","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0-beta.1.tgz","fileCount":28,"unpackedSize":378952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1UfJCRA9TVsSAnZWagAAMLYQAIchwV5Slg9iAGtfGywI\nFZkER0Mi/JSzuukwCN937RhDQ48XX2A1nDAhY/Dsy8b5VTAbGYoNdjmMZpkM\nbni46IGR6XM5evI8dlBj+0z4TTOqG62D6okGGVk3Yd75FMh8kbDDN+ds/4oE\n/FjIXjb5r4o8vHSjCYlebcsFpauwTzb9Px4JT56rYVyviqRfrQhndULoR6b9\nSVYJcTdsYxT/s3f9GVaAanmKJt037tkJDQP+ntK1sUhQmnv+u+ORlu+O9Gp+\nEHTWudpcUm4WT3U4+4SEPvYlGHeRF+zb1WX6Y8pjwDuYyO0G32pPdPdCJ0gp\nSGefLqCk5dIEkWD65Z12TQp0lGmMYGgJLCux7cWSqOf9BrL2RJWMxgmmt132\nrOi7+IqtiLybSPJJFWO6/0ICdhs9ziV/6aIqIUDIjlJyFTO2M7aWW9SMcLoy\nZeHZE0zt0tuD74c+C2rDy7PBn1CQJbVnCeB1I1N4tHmshLwiib9At04tXTG6\nlY/623xEpAgXMFgdS14biUCX0Uk5eR4cHAC+5Ssv/UjICW1p0r4Dmqt47Gxm\n+9uq9nb4ho2maX/uqJKVUyB/nVZx2GVZ5GpmFavwanYtDI9HXI/kJ2vIb90E\nM79mrhdb3C8q0MXhx1DY4wioVXA3YSHaXKtHespAi/C2y1ViFfiiS8k+5ckG\nA8uX\r\n=bxm2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAisrbFJn1mme86C5zZXelH3nzwmj8XiuQizJgAAciu/AiB+793qLMykNN5RsV284JlXkkTQOPetYuWWPBZjQofKOw=="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0-beta.1_1641367497771_0.4178131717295308"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"vue-simple-uploader","version":"1.0.0-beta.2","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-2.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader :options=\"options\" class=\"uploader-example\">\n    <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list>\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploader = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploader.value.uploader\n        })\n      })\n      return {\n        uploader,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"0d1808466cd2766c2b481da1bc57b99ee2bceb00","_id":"vue-simple-uploader@1.0.0-beta.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-SR1KLaO+w8YMRCUx8JobzsQIPxBuumG9KDOWeb+tO5yRjGczVLE7tRzGaBNGXoj5z2p8KAx4fELv/tlTiy7c2Q==","shasum":"59c65940b56bdfc875cff1af13cca666617663b3","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0-beta.2.tgz","fileCount":28,"unpackedSize":378853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1UkBCRA9TVsSAnZWagAAF7oQAILDp4s31+8YfNgGzlbv\n2Fl4w59p5TF78iZ4pxX8PwpZ9HWFLy/8jaJovmyPLkU1f8vPPeOtY2+46JnA\nRnKn8FYjC0j3ZDBcYaIcza/WEqovR0R+//2jLV4amKXVUyLP8bUqmCl3ZKlI\n3h+Eb9TwkepXEr0JvmvfS6rwJ90IFmQ+Vnxnz4GbpHd9NU2laAi95h5JFyux\nRKSvC1g/mKI2i87NWQvaExarGVHivIJd3tBrLc7H32nwhr5B5Y5ryR1F2mkI\nbIiGlvRJz4JMd7dywI5pdqiF8Hpx7OE2VeFD65YB7PxlyZqpIqGlMYnmMwAh\n3bF5OYpbPGhkc5ysGyT2X1Gc8AlXh20xr6ZTEh4Dvi/sXncog1Cr2p+aMFVF\nun6MDBvZB46S3iEvFbUmGRLuM8rmylJjR5lFCV5GpRD9wIM7Gdhz7/NIZX/E\nzON/6VlD8/PhoODSiV/yzDGAyn0JANRAy7pCB7mWVyHvTK8ryI9X7QTOeSsW\nz7VrudyiTHcS5N1Y/Ce0vW+4eUFf3Cy2ZrFvL1gp0Z3CnGw4BG91Efgb0BGC\nKMIkiJjIlBfLmPszHLsmz8tAH5EaL4eOyN6j1ZmxVlwcggxmA1ameV8Di62L\nlDRwLOoFAjx0+hhr4p3PtqCfqwavQ/f8lTATjqAxzudYvn3xK8Ji/tTe0JNK\nW5qq\r\n=GwA1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXfp7ddXO7hU+bRDhZLlmwI7fG8VH+a4hhuDG/B1fsAgIhALJ/Tf7km+GLV8xUe3g7VuEqWl4s30a1vEZ9w6CW4+as"}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0-beta.2_1641367809700_0.9184601422962422"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"vue-simple-uploader","version":"1.0.0-beta.3","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=2.2"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-2.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader :options=\"options\" class=\"uploader-example\">\n    <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list>\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploader = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploader.value.uploader\n        })\n      })\n      return {\n        uploader,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"d07da6b3f6e557438ff8bc7e22deee4a39a7fb03","_id":"vue-simple-uploader@1.0.0-beta.3","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-171gDgzELntB7Y2ynm5mVb7u6EarMOQ0sYQzeGeUSQ33WMeVOgeBvoB9CDw5LRg5g0a+DqmKR6GLrV/fF+WepA==","shasum":"c8668e9018b9287443faf5f14f1a8b34267dc037","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0-beta.3.tgz","fileCount":28,"unpackedSize":378901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1UwNCRA9TVsSAnZWagAA0U4P/Ag26dweboPD41THk6R2\nXVtN5C7dx1qJTqM7gcIQwcIVtkckjh8RaYr9tIiZ2KDZQJ/CSYqWvPo/tNmh\nkPIhPWWBMqDnmSOEfP99NLA+awEB5CGB4FWNxiDkyn4XPLKAHabXoL2G2MFa\nGhLn0RtOHpnOYvQDzk1SE9CxyEoa6pZmlrQ6MmvnIiGijDZ9DGYNeBCEuIMc\nZ0diFEol2sqM3olFNhTj4YHv/SAzCucIQL7o7D8RefTGdSSHm+6bR/fBQsEY\noPQAi1IdshK4WFUDOQPHvNP/+6UoB8fncxy5eQJp+Lqiwmq+AHvw+9huKYtj\nwReoX8rCbqGe8SGKSFhYbv3SbbEfBCd4qLOS3ApQ9diqYq08mlJeohDiAy7h\n3ttqvbwotI4ovsGHa+1Fj/1dVA6Tg9BMFE2zADThY+D06TcJgKOgawzPPjl+\n+oaguV6FE4meOLAMUAXX5NrPypObiEWqB6i26+1DVqPmvfGmAoJTnXcK38Gh\nxAFUQqLBr0CM8BDAGLOTWo847uKawO4hCz4ZjwOynLSDF2p6UN0UT/+2sWUJ\nhAeHeNv29ag0XennurPPNoLakh2YB/nNSC97yMn5BXLMjMvmhgDKW10LFkjt\n6at1V7Ua2AsdQvrE+Xh8Tfpi6Ls+o3i4nzAOg53naZ1uIrslxg4YShTaWIDC\nDP52\r\n=pNlB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeo2tL9RsGe29+gBFmKYmIT60Hxx6W6/I5DD65qORffAiAXKED8JtOkRPZBNW6fX2dRqjpeP0+zeUtRtq4Eti6k9g=="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0-beta.3_1641368589180_0.8205982270814787"},"_hasShrinkwrap":false},"1.0.0-beta.4":{"name":"vue-simple-uploader","version":"1.0.0-beta.4","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs","release":"npm run build && npm publish --tag next"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=3.1"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-2.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader :options=\"options\" class=\"uploader-example\">\n    <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list>\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploader = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploader.value.uploader\n        })\n      })\n      return {\n        uploader,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"bd805624cfaf42bbf3d3fedb26b9f1c05e3ebfbb","_id":"vue-simple-uploader@1.0.0-beta.4","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-pkmBkUGHvR5l6CU9Hi3U/wM3IaO7XNko+NxxDS6phUsnWoefgnYST6TQycyZKH8W0c8xLDeHKbKIX2H7rNjW5g==","shasum":"fa39f93087f4ea8b1f37ae15b8af9cc4af38609e","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0-beta.4.tgz","fileCount":28,"unpackedSize":378838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6M/jCRA9TVsSAnZWagAA0uoQAJLpj1kF2ozxT3vXHw9K\nVnuJnOJJe6/w+47N/PgsfBwADpc9ZoeSCmUPeXdKlMNahOPQzNZtk2BjkHAc\nqP4VMpVAuKTrrZ8x8FdlOz+XmfhDIwg7kJenPephv2caxBYyQ7eYqXquVgcB\n8atSNgPUz9FVwUtdF0PRtAUtU+Ka+pSXUJCl6PT2Onu4tC0R4PfP5hmjumww\n1/w+4X18cD8MY3/ObRc+V6CwPpG0eneInKb9tkdE11jp6W7m3OnjGzply2Di\nkEISbkiOkK2O9MT3/F25SobedyiS+d98/icjGjFNxtH9uzcwhAZEFL2uYWhL\nTi6ZtNSJNmpa5TcwcgwNEzzFDiqO31GUwcBan7sR65RVNO/RJfJIvuElYDwh\nzDfLRSbfLfrmoujByCHDRv1Um+vuK3bNL+46qckHk9b4nPR4OWpAop14NyMu\nqX2yVFHaEH07Of2r0kYfvRB3qnIY1fKBoOIoePLw9hzxeUrEtYduWO12jQB7\n3VEiWv1E4N4gqqtSbJjJTFwUgvxUUrGU0EgLm6W5g5TIZ/8TimAPL78bIZ7B\n88z0U3Eccsf44fHGhM3/rxiI7/x0vAbGekEWLSoM/bo2fBdX2ZJLkZL4mwnn\nYX4IwRXzOLM+NyuC0xJR3VnlP44QMqkT3WTGu6Bb89vtQf4ltaBF/UMJwtE7\nJ0Mh\r\n=39rl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQLFNTgo8ha5wpQ2E7oAwMKHPMe2hpdwOM/Ej3lH6TNQIgNgXJhAkvuQhvDrTIoxCUNj7+Y92h01wNDF5mVY4H3+c="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0-beta.4_1642647523259_0.6299889264815897"},"_hasShrinkwrap":false},"1.0.0-beta.5":{"name":"vue-simple-uploader","version":"1.0.0-beta.5","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs","release":"npm run build && npm publish --tag next"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=3.1"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-2.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader :options=\"options\" class=\"uploader-example\">\n    <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list>\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploader = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploader.value.uploader\n        })\n      })\n      return {\n        uploader,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"8ec9f5b64cd415b0d19ad3ebbe335f1ff91792b9","_id":"vue-simple-uploader@1.0.0-beta.5","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-VJFQvYTqx8vd4OOAopafcHdRp25iBqUywbBDohpS+nLerUbotAfkH4WsCzaTWFFSF2PRLdbPX1yxijADxv+sGg==","shasum":"f30ba8b6fdf7f554692845c923fa1bf0c6fa182c","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0-beta.5.tgz","fileCount":28,"unpackedSize":378865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6NZcCRA9TVsSAnZWagAASXMQAJQNI3FeKO/4oNzjg7mU\nu/kO4LDy2hKsgILfIiFNsnbUw9+eAYCDCiPXAsmysRiaFMMNysQOtx16K9B/\nO/3hLPAlbBtlSGBcTdSdUnWl/1TW7bdpPrvberCmvPJpyibGP3RoCyPiaxQp\nYQW/KQvDTXYs8Qq587QZH0KhoxZzFqurRCbcb56f5ya/kv3jlsHVNtgBh8R0\nGGjeGvXu/inGz5GZJRpYxGOVwJrBHE/GwF8B/S8vhf/QhwgGlLZ22XdwU65i\nJTpNj4AXjxm10AkR+6qUxR/81s4QpWoWfuJT64dT4LsCLojpapj0sWOn5Wqm\n4fPTV7CEhQgPs0N/Z1FX4gBVEH5uh4X9N73lcKl3PeDU//udyKV42V/vM3ba\nxvA18y6SZFnO7YHLQlES5QNyN1MTrxtZbsExXNCEY8Wys8+eMgENz6N3jSYM\n+CEbhvRHd2zfeXvrWbuXMjJqKGTpEhulkXecFTZXD2xCuWv0ZuGLlCyWiIm0\nZGALemg+JTcebxgeXok4LkHNo4owZvFh80702gweTCSdQYc3vk5/iJQTRNQt\n4VbAEeNG1HldxlFCdgjneoNp7XuJcsk8pVzKhsAjpPMpqwALmbqSYW+EY0wN\nWAU+cGdYKA8j99r0qWpbxPM3yy9WLBEJE/mxfSpdeoXvu6+yJpADlAUh6cB+\nfxnw\r\n=pFrH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuwfMStJlBqD0vU13kwFyAOR7V/yE0gJCt7AP736AufAIgJk9B1gD+xvKBweKGPv5lu+sHud1wpruuh0F7fMQfwss="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0-beta.5_1642649180291_0.03636355108829359"},"_hasShrinkwrap":false},"1.0.0":{"name":"vue-simple-uploader","version":"1.0.0","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs","release":"npm run build && npm publish --tag next"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=3.1"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-3.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader\n    :options=\"options\"\n    :file-status-text=\"statusText\"\n    class=\"uploader-example\"\n    ref=\"uploaderRef\"\n    @file-complete=\"fileComplete\"\n    @complete=\"complete\"\n  >\n    <!-- <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list> -->\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploaderRef = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploaderRef.value.uploader\n        })\n      })\n      return {\n        uploaderRef,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n* `onFileAdded(file) {Function}`\n  \n  After `1.0.0`.\n\n  Called when file is added, this function is used for file validation. To reject(filter) this file you should `return false`.\n\n* `onFilesAdded(files, fileList) {Function}`\n\n  After `1.0.0`.\n\n  Called when files are added, this function is used for files validation. To reject(filter) these files you should `return false`.\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n* `file-added(file)`, file added event, this event is used for file validation. To reject this file you should set `file.ignored = true`.\n\n* `files-added(files, fileList)`, files added event, this event is used for files validation. To reject these files you should set `files.ignored = true` or `fileList.ignored = true`.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"30db869600b1f65ae10fbe01f18d90be454b564b","_id":"vue-simple-uploader@1.0.0","_nodeVersion":"12.18.4","_npmVersion":"8.1.0","dist":{"integrity":"sha512-GRc24H4Iswa1QOtIXDmWUS541HOHIdF0kQ/K6mj0XneCGZC3bDvnkb3fQetFJjS20PvvqBqgAlY8jG3+lLmjtQ==","shasum":"848f626611df62e6bb258b51c5652dbce9319bc8","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.0.tgz","fileCount":29,"unpackedSize":382119,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCACT7N1Cwq06e/Zej7/GbblWP7+b/hN9jz/9InBHXXCAIgCB75eXYRZ3hDE+1NUUOFPvjB3+ZvNc3b9WjY06qjkAU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/Dy3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq40A//V0Sqfv4Dfmtk1x5ViLr/2tNH+n8znAduSJL4AWyWqiXu0Crc\r\nse0KCrKgw41ryXiQMSVLlaLDnlxMbgLdWg8AXUyjwiTZI1lCPYt2Va5adxMU\r\nskzA6H6EGsWDbpScyl9S1BbAlchlznkW62e9Xjj6+UjtL46jJc3eshjCv8li\r\nGhoJ3eZ4dBXlH0GKNVw5Ie6yLqAp1NyCYzfudKiyRSHYqtm7p+L5kCdObyla\r\nfg29qPEMICsWf+4nnDvjvX2QusmUVLlQpsGoJWAO4O+cs7Ngt9a5DacnRE8k\r\ntSSNX9WcClFnRDqsqsC3JKF09S3485RMvD7XYwjhIKWgdM7PNxJxkmc/7iRV\r\nVIqT6168zJBG4n8gQMKpKPhLZkxoomExkfoFI/ayNxPcvLVV8yHoqtBxiNtU\r\ns/NpcDS7LXfMm6FykSMt2MOhv6kwb6RT4J9GLRflgSTFV+gUYrTSRIM3ewpW\r\nWwDK7c+3erVnX1ToNF4YJeTU97TLscjSQzKPvbZ0dMnjmYHZo9+3mM4ZHRiZ\r\nbG5jxLk/6HfTzhX4JtBww9izFaHd5bB5zJAnwgJMyXQVsY4aLFZf78kO8gUW\r\nU+iyx/r5C2xMpXTDdck9aypGd926zmSa/ZnLUcXJXLNdrQP+SmxWEo2CFMZT\r\nl5RalcAGPDqghE0me42OGqCqjlkQrR4xh6M=\r\n=7BPi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.0_1677474999391_0.011004449062101962"},"_hasShrinkwrap":false},"1.0.1":{"name":"vue-simple-uploader","version":"1.0.1","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs","release":"npm run build && npm publish --tag next"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=3.1"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-3.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader\n    :options=\"options\"\n    :file-status-text=\"statusText\"\n    class=\"uploader-example\"\n    ref=\"uploaderRef\"\n    @file-complete=\"fileComplete\"\n    @complete=\"complete\"\n  >\n    <!-- <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list> -->\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploaderRef = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploaderRef.value.uploader\n        })\n      })\n      return {\n        uploaderRef,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n* `onFileAdded(file) {Function}`\n  \n  After `1.0.0`.\n\n  Called when file is added, this function is used for file validation. To reject(filter) this file you should `return false`.\n\n* `onFilesAdded(files, fileList) {Function}`\n\n  After `1.0.0`.\n\n  Called when files are added, this function is used for files validation. To reject(filter) these files you should `return false`.\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"b7104e9eb270ac675fbf6225a2de8bb9146fcaac","_id":"vue-simple-uploader@1.0.1","_nodeVersion":"12.18.4","_npmVersion":"8.1.0","dist":{"integrity":"sha512-upkQeG1eRYO2b5mTdPP1nXohEDk38p9AvR7ao9b8oyIcChUlhnOxS/fs0SDnbkhv2lCYrqx2AGkqoqSKZtgp6g==","shasum":"5592efeaa757b528ce0b9cb9afc3efd02b576241","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.1.tgz","fileCount":29,"unpackedSize":382550,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5tBh2HAMBnZela3mtqomZ5aVpz+jnNUabwDFtoA9ykAIhAMD/KQlYxa0atnHeMXjAH3RS4knY1olIXNgHE9bua7ko"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBvrGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQshAAo1TRV10/eWStOLDg6id2rZhRwZ/Xp1oi0sD3HndXSiv4Huc5\r\nYSz4FmUVztkrr3c71lqY9tf98JOPmvYzcSZdTb27l4YraeGSLS1knDv5/el2\r\nIHO8D3J2b844D/k5VXIujVBpPP3G79S3ka4Et9r4TloRMOHKU1ZMQZMeZ5zJ\r\nq7N27dnWvWVNuWZNMZ+DjQRM34Hr/h/h9nJtICoWIFENooqltilxgmmDCovm\r\n1V7nzXO8h4QAVjNrm+iAVBZOBqu/UJUVMAezwmc9glRqDLzRIJRbB32YdRzl\r\nbSs3fgfcUHMdhaY7/wsYg9cDTJr9zoohXF7uygHwIcixU+L0PQpn3rQ1LT2w\r\nsWOiCRwEL5ycdUCBWr43DnWpaw5eLN8qiop3MdrtAafU4QjFu82kDuOHDdRA\r\nryKHxM5Czy1+pfUHbw/Whg/39UG4EuX+KLvYtcvjJhcTeQJ4iZSEGYcbvkLV\r\nnvvyQeidcYhrOo0d01TVvO0jcMoAtsLhPOseNMUhRJHxtfAVBLfSV1tPgchT\r\n9Jlo63T3uY+0q0dsPJWC7QFyPnx/UecZksVKP2Ds70ueAoyproWPZCrxWBvr\r\nR7cIHte7K2nJoLmTlkDH67UAyFi/CMSeK6wJ50nGHSPnG+AzF40BNHBARPxY\r\nw9e4TfmyCzBWo1j4EEKV7klurfN8h34g6ww=\r\n=iPX+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.1_1678179014165_0.9559156761561376"},"_hasShrinkwrap":false},"1.0.2":{"name":"vue-simple-uploader","version":"1.0.2","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs","release":"npm run build && npm publish --tag next"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=3.1"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.1.4","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.1.4","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-3.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader\n    :options=\"options\"\n    :file-status-text=\"statusText\"\n    class=\"uploader-example\"\n    ref=\"uploaderRef\"\n    @file-complete=\"fileComplete\"\n    @complete=\"complete\"\n  >\n    <!-- <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list> -->\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploaderRef = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploaderRef.value.uploader\n        })\n      })\n      return {\n        uploaderRef,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n* `onFileAdded(file) {Function}`\n  \n  After `1.0.0`.\n\n  Called when file is added, this function is used for file validation. To reject(filter) this file you should `return false`.\n\n* `onFilesAdded(files, fileList) {Function}`\n\n  After `1.0.0`.\n\n  Called when files are added, this function is used for files validation. To reject(filter) these files you should `return false`.\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"b974b4a33525e16b0350e8879a667dfe2e4470fb","_id":"vue-simple-uploader@1.0.2","_nodeVersion":"14.20.0","_npmVersion":"6.14.17","dist":{"integrity":"sha512-HMlSsI6AZ5QUeBDpym+oP/YlfieDDjfndvGFafQlSKiujxxhQ35OItEcuGX4+FQ44iryysAloWS+OnsBB1gvZQ==","shasum":"207782f4d6ea650633434666aebaff8fea9d5a00","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.2.tgz","fileCount":29,"unpackedSize":382640,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIApV6/DaOo/Fv0CCvs8JicCgxpZP/KDTADECvMnTdOAdAiEAoEvoC3hJKvEN36aVi8abZvLYhizxoMpyDhs3wR2rrM0="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.2_1696843285976_0.16070827887978645"},"_hasShrinkwrap":false},"1.0.3":{"name":"vue-simple-uploader","version":"1.0.3","description":"A Vue.js upload component powered by simple-uploader.js","main":"dist/vue-simple-uploader.umd.js","module":"dist/vue-simple-uploader.es.js","repository":{"type":"git","url":"git+https://github.com/simple-uploader/vue-uploader.git"},"bugs":{"url":"https://github.com/simple-uploader/vue-uploader/issues"},"homepage":"https://github.com/simple-uploader/vue-uploader","author":{"name":"dolymood@gmail.com"},"license":"MIT","scripts":{"dev":"vite --force","build":"vite build","lint":"eslint --ext .js,.vue src test/unit/specs","release":"npm run build && npm publish --tag next"},"dependencies":{"simple-uploader.js":"^0.6.0"},"peerDependencies":{"vue":">=3.1"},"devDependencies":{"@vitejs/plugin-vue":"^1.2.4","@vue/compiler-sfc":"^3.4.0","autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^7.1.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chalk":"^2.0.1","connect-history-api-fallback":"^1.3.0","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","cssnano":"^3.10.0","eslint":"^4.18.2","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.7.1","eslint-plugin-html":"^3.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","mitt":"^3.0.0","opn":"^5.1.0","ora":"^1.2.0","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","url-loader":"^0.5.8","vite":"^2.4.1","vue":"^3.4.0","vue-loader":"^16.3.0"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","not ie <= 8","Android >= 4.0","iOS >= 8"],"readme":"# vue-simple-uploader  [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![juejin likes][juejin-image]][juejin-url]\n\n> A Vue.js upload component powered by [simple-uploader.js](https://github.com/simple-uploader/Uploader)\n\n![example](https://github.com/simple-uploader/vue-uploader/blob/master/example/simple-uploader.gif)\n\n![QQ](https://github.com/simple-uploader/Uploader/blob/develop/assets/simple-uploader-QQ-3.png?raw=true)\n\n[中文](./README_zh-CN.md)\n\n## Features\n\n* Treat Folder and File as `File`\n* Pause/Resume upload\n* Recover upload\n* Error handling\n* Drag and Drop with folder reader\n* Custom upload buttons\n* Folder Upload\n* Queue management\n* File validation\n* Upload progress\n* Time remaining\n* Chunk uploads\n\n## Install\n\n``` bash\nnpm install vue-simple-uploader@next --save\n```\n\n## Notes\n\n- https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html\n- https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-uploader\n- http://www.smarthu.club\n\n## Usage\n\n### init\n\n``` js\nimport { createApp } from 'vue'\nimport uploader from 'vue-simple-uploader'\nimport 'vue-simple-uploader/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(uploader)\napp.mount('#app')\n```\n\n### App.vue\n\n``` vue\n<template>\n  <uploader\n    :options=\"options\"\n    :file-status-text=\"statusText\"\n    class=\"uploader-example\"\n    ref=\"uploaderRef\"\n    @file-complete=\"fileComplete\"\n    @complete=\"complete\"\n  >\n    <!-- <uploader-unsupport></uploader-unsupport>\n    <uploader-drop>\n      <p>Drop files here to upload or</p>\n      <uploader-btn>select files</uploader-btn>\n      <uploader-btn :attrs=\"attrs\">select images</uploader-btn>\n      <uploader-btn :directory=\"true\">select folder</uploader-btn>\n    </uploader-drop>\n    <uploader-list></uploader-list> -->\n  </uploader>\n</template>\n\n<script>\n  import { nextTick, ref, onMounted } from 'vue'\n  export default {\n    setup () {\n      const uploaderRef = ref(null)\n      const options = {\n        target: '//localhost:3000/upload', // '//jsonplaceholder.typicode.com/posts/',\n        testChunks: false\n      }\n      const attrs = {\n        accept: 'image/*'\n      }\n      const statusText = {\n        success: 'success',\n        error: 'error',\n        uploading: 'uploading',\n        paused: 'paused',\n        waiting: 'waiting'\n      }\n      const complete = () => {\n        console.log('complete', arguments)\n      }\n      const fileComplete = () => {\n        console.log('file complete', arguments)\n      }\n      onMounted(() => {\n        nextTick(() => {\n          window.uploader = uploaderRef.value.uploader\n        })\n      })\n      return {\n        uploaderRef,\n        options,\n        attrs,\n        statusText,\n        complete,\n        fileComplete\n      }\n    }\n  }\n</script>\n\n<style>\n  .uploader-example {\n    width: 880px;\n    padding: 15px;\n    margin: 40px auto 0;\n    font-size: 12px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, .4);\n  }\n  .uploader-example .uploader-btn {\n    margin-right: 4px;\n  }\n  .uploader-example .uploader-list {\n    max-height: 440px;\n    overflow: auto;\n    overflow-x: hidden;\n    overflow-y: auto;\n  }\n</style>\n```\n\n## Components\n\n### Uploader\n\nRoot component.\n\n#### Props\n\n* `options {Object}`\n\n  See [simple-uploader.js options](https://github.com/simple-uploader/Uploader#configuration).\n\n  Besides, some other options are avaliable too:\n\n  - `parseTimeRemaining(timeRemaining, parsedTimeRemaining) {Function}`\n\n    this function option to format the current file's time remaining value(seconds, number), you can return your language time remaining text, params:\n\n    - `timeRemaining{Number}`, time remaining seconds\n\n    - `parsedTimeRemaining{String}`, default shown time remaining text, you can use it like this:\n\n      ```js\n      parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {\n        return parsedTimeRemaining\n          .replace(/\\syears?/, '年')\n          .replace(/\\days?/, '天')\n          .replace(/\\shours?/, '小时')\n          .replace(/\\sminutes?/, '分钟')\n          .replace(/\\sseconds?/, '秒')\n      }\n      ```\n  - `categoryMap {Object}`\n\n    File category map, default:\n\n    ```js\n    {\n      image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],\n      video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],\n      audio: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n      document: ['doc', 'txt', 'docx', 'pages', 'epub', 'pdf', 'numbers', 'csv', 'xls', 'xlsx', 'keynote', 'ppt', 'pptx']\n    }\n    ```\n\n* `autoStart {Boolean}`\n\n  Default `true`, Whether the file will be start uploading after it is added.\n\n* `fileStatusText {Object}`\n\n  Default:\n  ```js\n  {\n    success: 'success',\n    error: 'error',\n    uploading: 'uploading',\n    paused: 'paused',\n    waiting: 'waiting'\n  }\n  ```\n  An object map for file status text.\n\n  After 0.6.0, `fileStatusText` can be a function with params `(status, response = null)`, you can control the status text more flexible:\n\n  ```js\n  fileStatusText(status, response) {\n    const statusTextMap = {\n      uploading: 'uploading',\n      paused: 'paused',\n      waiting: 'waiting'\n    }\n    if (status === 'success' || status === 'error') {\n      // only use response when status is success or error\n  \n      // eg:\n      // return response data ?\n      return response.data\n    } else {\n      return statusTextMap[status]\n    }\n  }\n  ```\n\n* `onFileAdded(file) {Function}`\n  \n  After `1.0.0`.\n\n  Called when file is added, this function is used for file validation. To reject(filter) this file you should `return false`.\n\n* `onFilesAdded(files, fileList) {Function}`\n\n  After `1.0.0`.\n\n  Called when files are added, this function is used for files validation. To reject(filter) these files you should `return false`.\n\n#### Events\n\nSee [simple-uploader.js uploader/events](https://github.com/simple-uploader/Uploader#events)\n\n**Note:**\n\n* All events name will be transformed by [lodash.kebabCase](https://github.com/lodash/lodash/blob/master/kebabCase.js), eg: `fileSuccess` will be transformed to `file-success`\n\n* `catchAll` event will not be emited.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n* `started`\n\n  Started uploading or not.\n\n#### Get `Uploader` instance\n\nYou can get it like this:\n\n```js\n// Composition API\nconst uploader = ref(null)\n// there will be an uploader attribute on the uploader component, which points to the Uploader instance\nconst uploaderInstance = uploader.value.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n\n//Options API\nconst uploaderInstance = this.$refs.uploader.uploader\n// now you can call all uploader methods\n// https://github.com/simple-uploader/Uploader#methods\nuploaderInstance.cancel()\n```\n\n### UploaderBtn\n\nSelect files button.\n\n#### Props\n\n* `directory {Boolean}`\n\n  Default `false`, Support selecting Folder\n\n* `single {Boolean}`\n\n  Default `false`, To prevent multiple file uploads if it is `true`.\n\n* `attrs {Object}`\n\n  Default `{}`, Pass object to set custom attributes on input element.\n\n### UploaderDrop\n\nDroped files area.\n\n### UploaderList\n\nAn array of `Uploader.File` file(folder) objects added by the user, but it treated Folder as `Uploader.File` Object.\n\n#### Scoped Slots\n\n* `fileList {Array}`\n\n  An array of files and folders.\n\n### UploaderFiles\n\nAn array of `Uploader.File` file objects added by the user.\n\n#### Scoped Slots\n\n* `files {Array}`\n\n  An array of files (no folders).\n\n### UploaderUnsupport\n\nIt will be shown if the current browser do not support HTML5 File API.\n\n### UploaderFile\n\nFile item component.\n\n#### Props\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  It should be `true` if it is puted in `UploaderList`\n\n#### Scoped Slots\n\n* `file {Uploader.File}`\n\n  `Uploader.File` instance.\n\n* `list {Boolean}`\n\n  In `UploaderList` component or not.\n\n* `status {String}`\n\n  Current status, the values is one of `success`, `error`, `uploading`, `paused`, `waiting`\n\n* `paused {Boolean}`\n\n  Indicated if the file is paused.\n\n* `error {Boolean}`\n\n  Indicated if the file has encountered an error.\n\n* `averageSpeed {Number}`\n\n  Average upload speed, bytes per second.\n\n* `formatedAverageSpeed {String}`\n\n  Formated average upload speed, eg: `3 KB / S`\n\n* `currentSpeed {Number}`\n\n  Current upload speed, bytes per second.\n\n* `isComplete {Boolean}`\n\n  Indicated whether the file has completed uploading and received a server response.\n\n* `isUploading {Boolean}`\n\n  Indicated whether file chunks is uploading.\n\n* `size {Number}`\n\n  Size in bytes of the file.\n\n* `formatedSize {Number}`\n\n  Formated file size, eg: `10 KB`.\n\n* `uploadedSize {Number}`\n\n  Size uploaded in bytes.\n\n* `progress {Number}`\n\n  A number between 0 and 1 indicating the current upload progress of the file.\n\n* `progressStyle {String}`\n\n  The file progress element's transform style, eg: `{transform: '-50%'}`.\n\n* `progressingClass {String}`\n\n  The value will be `uploader-file-progressing` if the file is uploading.\n\n* `timeRemaining {Number}`\n\n  Remaining time to finish upload file in seconds.\n\n* `formatedTimeRemaining {String}`\n\n  Formated remaining time, eg: `3 miniutes`.\n\n* `type {String}`\n\n  File type.\n\n* `extension {String}`\n\n  File extension in lowercase.\n\n* `fileCategory {String}`\n\n  File category, one of `folder`, `document`, `video`, `audio`, `image`, `unknown`.\n\n## Development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/vue-simple-uploader.svg?style=flat\n[npm-url]: https://npmjs.org/package/vue-simple-uploader\n[downloads-image]: https://img.shields.io/npm/dm/vue-simple-uploader.svg?style=flat\n[downloads-url]: https://npmjs.org/package/vue-simple-uploader\n[juejin-image]: https://img.shields.io/badge/Jue%20Jin-446Likes-blue.svg\n[juejin-url]: https://juejin.im/entry/599dad0ff265da248b04d7b8/detail\n\n","readmeFilename":"README.md","gitHead":"388a16679403eadadbe1f6885d55dac9748361bd","_id":"vue-simple-uploader@1.0.3","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-RIghV5rG1CaA41R7VlQP0UG9xevs+cRaCN0k7gH4cFHdG9yIf4206fGKA90NRKzlPxGSBTwLm5dCajLHfqd2+w==","shasum":"d9f67ee7793590722c167a9d8ffe4dee112f8246","tarball":"http://tools.bpmhome.cn:8082/nexus/repository/npm-lc/vue-simple-uploader/-/vue-simple-uploader-1.0.3.tgz","fileCount":29,"unpackedSize":382979,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0CUXoDuextKOs+Zui1vdpC+qDATusqVRUHfTypAxuWAiBHbIQmlHZs4e8yP7fVHJvvBBrfuRsOBjNUO7xyNpxuEw=="}]},"_npmUser":{"name":"dolymood","email":"dolymood@gmail.com"},"directories":{},"maintainers":[{"name":"dolymood","email":"dolymood@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-simple-uploader_1.0.3_1715739152412_0.669237408249858"},"_hasShrinkwrap":false}},"name":"vue-simple-uploader","time":{"modified":"2026-04-17T13:29:52.547Z","created":"2017-08-22T09:25:57.528Z","0.0.1":"2017-08-22T09:25:57.528Z","0.0.2":"2017-08-23T02:54:25.911Z","0.0.3":"2017-08-23T09:15:13.308Z","0.0.4":"2017-08-25T01:49:38.764Z","0.0.5":"2017-08-28T08:41:15.488Z","0.1.0":"2017-09-06T10:37:17.771Z","0.2.0":"2017-10-13T02:52:50.942Z","0.2.1":"2017-10-17T16:08:25.014Z","0.3.0":"2017-10-26T04:15:29.378Z","0.4.0":"2017-12-18T13:59:19.638Z","0.4.1":"2018-02-22T03:40:29.108Z","0.4.2":"2018-03-12T14:23:17.433Z","0.4.3":"2018-04-27T03:13:10.415Z","0.4.4":"2018-05-03T06:31:58.685Z","0.4.5":"2018-05-04T02:15:43.649Z","0.4.6":"2018-05-07T02:44:35.249Z","0.5.0":"2018-08-10T00:05:16.941Z","0.5.1":"2018-08-18T06:17:18.773Z","0.5.2":"2018-08-18T06:40:03.423Z","0.5.3":"2018-08-22T08:50:42.688Z","0.5.4":"2018-08-27T03:16:49.026Z","0.5.5":"2018-11-13T09:28:58.188Z","0.5.6":"2018-11-14T05:26:12.298Z","0.6.0":"2019-01-28T07:56:14.358Z","0.7.0":"2019-02-28T08:01:52.127Z","0.7.1":"2019-05-06T08:53:22.737Z","0.7.2":"2019-09-17T07:40:38.210Z","0.7.3":"2019-11-25T13:13:14.196Z","0.7.4":"2019-12-05T03:11:29.640Z","0.7.5":"2020-09-18T03:15:17.755Z","0.7.6":"2020-10-27T09:23:56.579Z","1.0.0-beta.0":"2022-01-05T03:00:40.119Z","1.0.0-beta.1":"2022-01-05T07:24:57.989Z","1.0.0-beta.2":"2022-01-05T07:30:09.901Z","1.0.0-beta.3":"2022-01-05T07:43:09.378Z","1.0.0-beta.4":"2022-01-20T02:58:43.489Z","1.0.0-beta.5":"2022-01-20T03:26:20.481Z","1.0.0":"2023-02-27T05:16:39.650Z","1.0.1":"2023-03-07T08:50:14.324Z","1.0.2":"2023-10-09T09:21:26.308Z","1.0.3":"2024-05-15T02:12:32.658Z"},"readmeFilename":"","_id":"vue-simple-uploader","homepage":"https://github.com/simple-uploader/vue-uploader"}