{"_id":"@canner/image-service-config","_rev":"39-dcb52fe2407c4db1356c8940866833c4","name":"@canner/image-service-config","description":"Configuration for image services using antd uploader","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.1":{"name":"@canner/image-service-config","version":"0.0.1","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"1c4e9db0452a165e78dd24c5889a2f9f55619109","_id":"@canner/image-service-config@0.0.1","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-ucRGuEWHPErcAmPhXs3XXeXMZhcLY2QDyroHF/GzI9f5AzkguwE9/aJe1dvbHjay11K+hGxGJ9XYfJvGymcPKw==","shasum":"f0fa72c0de2bc968407577034380f63cf3a5af82","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4fJ6GTqQpz4gBbFTcDKOLNgbdvYjRFhijIfNXY2dsRAIgdoFaKMej3X4PuqQESxvxp4puucICvmffnQDWoEiNnCM="}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.1.tgz_1514365174355_0.6037247935310006"},"directories":{}},"0.0.2":{"name":"@canner/image-service-config","version":"0.0.2","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3","@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"7a79115a9a6fb8797734c3a0d73cc9248dcc1ce5","_id":"@canner/image-service-config@0.0.2","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-vVd2mI7ar5suNSavqDtIcjU9M37nbBYFSWYN2VzX3VQnXqO6l8i0A5JGxvmSrPqIqKeV4iQEs03peX+c7ch/oQ==","shasum":"56d4cb92c0ede39039878f72d74fdf58f5d712b2","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCc0T82vHr/YJENhfJ1LB9Yst3p/HLQkdRyxZ3Xw4RkNQIgAsnNDRXGPXz758k6LHOacJxLsrfxp5seWk/+DOU2JHI="}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.2.tgz_1515137576400_0.4261823545675725"},"directories":{}},"0.0.3":{"name":"@canner/image-service-config","version":"0.0.3","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3","@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"f877f5e5dc79b7e5c40abde579bd123e7462568e","_id":"@canner/image-service-config@0.0.3","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-MkaefMAbnmH8qXDKM1dFB71BsWwAPLjzovPB0CHw5NyPtbWwyao7ytfwmGz/YE13a12HdmUpEu05rtAIydesfw==","shasum":"1a82dd9c721e6979aaf3c2ecf60a24ac7106fe36","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoeMmn4aSVizbAngeKl+UZbuSclBNmS4AT1gdxccX0fQIhAIs/IFdzxlMI09A8uoReJwfSp3FfG24YmvV8OiJRv2rX"}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.3.tgz_1515991177788_0.35536672128364444"},"directories":{}},"0.0.4":{"name":"@canner/image-service-config","version":"0.0.4","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3","@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"c64cc1ff474fc6aa2aa101b97be9a971591ad029","_id":"@canner/image-service-config@0.0.4","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-KRMV8FJHdBiAFLmJthGXTwxKFabb2+g0IJ/X5Wy2rc4Yr/Ej2RMrTOQBs2BdH3os3GS7CkXD/mYC48g/wR+31w==","shasum":"c5617a11d7603e8bf0a19d11c432ffe9bf0bdf4b","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXVYkddgsk6V1McTFkd9jO10q4sIlVPl1ncDsnvc9OGwIgULFCZt/wjmSyCRts+XLUOad1kNwelNyEVLE7TBreowk="}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.4.tgz_1515991867707_0.6404065701644868"},"directories":{}},"0.0.5":{"name":"@canner/image-service-config","version":"0.0.5","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3","@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"ff8cea439797fc4a6d87c80e3bccba66c357f344","_id":"@canner/image-service-config@0.0.5","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-iei4i10vKlobaut5Nza+49fUbotBJ0vR7U80bJelZrhwr43YMMiQRZQYcQiOvLooZDXBQlIW3a5j7a3YJQw5Hg==","shasum":"a0342974c20786063b72a0e54fe459794c34ad4b","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtoBHk+dazrGB/wQpQD4DNMhPWYgSl/lmg7YbyhmJONAiBUcLRESvsxBZdQ5KRcuEFuj6a/KNSdv3obBgjKUfLYBA=="}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.5.tgz_1515996774910_0.46691500721499324"},"directories":{}},"0.0.6":{"name":"@canner/image-service-config","version":"0.0.6","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3","@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"f95859ce6157e0b16e153abd2f646c709181d100","_id":"@canner/image-service-config@0.0.6","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-7Bkea1dWPftQITTCXqUA9dAq4RuLGsq4gmsX9fI5CyB85e6LA/9XRSbfn1mh1dPwPUJtk2o4hG6agBfglZyjxA==","shasum":"02d52df4f44af649102e441040f9e74bcb82fe27","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHkxBKIVg6buxjqxZk7QxqabAfnoxR+kwIVb+EO1wECgIhAMXhGRkwuRL6oP+3G6hcoWu8NKZEJLYCrZkBUr/xB3w1"}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.6.tgz_1516074669287_0.64663882763125"},"directories":{}},"0.0.7":{"name":"@canner/image-service-config","version":"0.0.7","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"@canner/canner-config":"^0.1.0","axios":"^0.17.1","firebase":"^4.8.1","promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"805b48ff2d455574a2887ed36a30212690c014d8","_id":"@canner/image-service-config@0.0.7","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-qedlNGkmCODyFp6AmAMdUspchnodmx5923ZnPnPuGJtAiu2hW7bQXONz14qk/naOwRiQW0LiRnB+XgB6FNF5Ag==","shasum":"d930a244cf16a9d7907c7dbd9f5e271aa65efbc3","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChb86wgxcqlOTzw6hMWhKPo+AZCNx+oytEAtoNDYX5CQIgGnViYHnUJVy/rDNGo2Yg1NqWr58lnSPC4GMupGr9q1c="}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.7.tgz_1516266379405_0.22096777544356883"},"directories":{}},"0.0.8":{"name":"@canner/image-service-config","version":"0.0.8","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src -d lib","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"@canner/canner-config":"^0.1.0","axios":"^0.17.1","firebase":"^4.8.1","promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"peerDependencies":{"@canner/canner-config":"^0.1.0","firebase":"^4.8.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1"},"gitHead":"76f0280d2ba748ddc97b39b6a8ec080d1aa7c50d","_id":"@canner/image-service-config@0.0.8","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-KyholHMDEKxV9PQgCKN7fbWDCeAueijb3dwwheNBwFAw4a913AdZlDnGutN+V/pmMrszjnlPIh+47CuUDQ6i8g==","shasum":"9c5a7de0209dc554119c88fc0cdab3a39242ce0d","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICE5fsyS1BUWz5SHpb6N8qcDCCa6kki94mOsz3Am18oLAiA4BsWFl1KATAnPNrxsOA9Qd0KLNbA4wvdunl027Srwmw=="}]},"maintainers":[{"name":"abz53378","email":"a53378@yahoo.com.tw"},{"name":"wwwy3y3","email":"wwwy3y3@gmail.com"},{"name":"chilijung","email":"chilijung@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config-0.0.8.tgz_1516270267420_0.4797054238151759"},"directories":{}},"0.1.1":{"name":"@canner/image-service-config","version":"0.1.1","description":"for image plugins to get service config ","main":"lib/index.js","scripts":{"lint":"eslint src test docs","clean":"rimraf lib dist","build:flow":"flow-copy-source -v -i '**/test/**' src lib","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build":"npm run build:commonjs && npm run build:flow","prepublish":"npm run clean && npm run check:src && npm run build","check:src":"npm run lint","validate":"npm ls"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"@canner/canner-config":"^0.1.0","axios":"^0.17.1","promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"peerDependencies":{"@canner/canner-config":"^0.1.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.2","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.3","eslint":"^4.18.2","eslint-plugin-flowtype":"^2.46.1","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0"},"gitHead":"5dc4447e51b84fb9db26f8f23da46670d4c50a9c","_id":"@canner/image-service-config@0.1.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"abz53378","email":"a53378@yahoo.com.tw"},"dist":{"integrity":"sha512-kSBIuavUIJUYV00dTlQkVeX4w9SiVhKIYnrVdDCmp9PmxFbb0oGhm2fHtD5tP9q8/nK+JyX1I9UvN0eIxjt1zg==","shasum":"5fd993a9784eed408af41983ec0742e31ec5abd6","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.1.1.tgz","fileCount":19,"unpackedSize":249229,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB50mHvTjbiwpIqQx4l2fkCVwXJES0TQ+gXrs9GVYluvAiEAk1JLkxKKLMvvCCsQgceU4kl9+5/UypiNuAsUj3IiGRE="}]},"maintainers":[{"email":"a53378@yahoo.com.tw","name":"abz53378"},{"email":"chilijung@gmail.com","name":"chilijung"},{"email":"wwwy3y3@gmail.com","name":"wwwy3y3"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config_0.1.1_1520336862821_0.7878555791630835"},"_hasShrinkwrap":false},"0.2.0":{"name":"@canner/image-service-config","version":"0.2.0","description":"Configuration for image services using antd uploader","main":"lib/index.js","scripts":{"build:flow":"flow-copy-source -v -i '**/test/**' src lib","lint":"prettier --write ./src/**/*.js && eslint src","prepublish":"npm run clean && npm run check:src && npm run build:docs && npm run build","check:src":"npm run lint","clean":"rimraf lib dist","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build":"npm run build:commonjs && npm run build:flow","test":"cross-env BABEL_ENV=test karma start --single-run","test:watch":"cross-env BABEL_ENV=test karma start","start":"webpack-dev-server --config webpack.config.dev.js --mode development","build:docs":"cross-env BABEL_ENV=production ./node_modules/.bin/webpack --config webpack.config.prod.js --mode production","validate":"npm ls"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"@canner/canner-config":"^0.1.0","axios":"^0.17.1","promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"peerDependencies":{"@canner/canner-config":"^0.1.0"},"devDependencies":{"antd":"^3.2.3","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-loader":"^7.1.4","babel-plugin-import":"^1.6.5","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.10","eslint":"^4.18.2","eslint-plugin-flowtype":"^2.46.1","eslint-plugin-react":"^7.7.0","firebase":"^4.10.1","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","react":"^16.2.0","react-dom":"^16.2.0","style-loader":"^0.20.2","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.0"},"gitHead":"22b8f44875f9939d96ab321508c5f901a43487b7","_id":"@canner/image-service-config@0.2.0","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"chilijung","email":"chilijung@gmail.com"},"dist":{"integrity":"sha512-Q2JNxhnCOwhIZ0BWvUv9KIyhrYc22lHry/Xn2MZM6vwyuSOHs5M9UickXpMRxeygwbyKa+xNhzxBhzrS9rJiVA==","shasum":"6a5f11b030ad988e4cf17911bd30fa5fdffce466","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.2.0.tgz","fileCount":36,"unpackedSize":1125069,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsVBJGX2qzvyaNnXuPia6nlB9hnfinArhbWeR+uOvcsgIhAI3/6V4QXxWJ7AZld4eKfgpjxNrLoEccUdzr7HItREBH"}]},"maintainers":[{"email":"a53378@yahoo.com.tw","name":"abz53378"},{"email":"chilijung@gmail.com","name":"chilijung"},{"email":"wwwy3y3@gmail.com","name":"wwwy3y3"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config_0.2.0_1520512490902_0.5807759457339767"},"_hasShrinkwrap":false},"0.3.0":{"name":"@canner/image-service-config","version":"0.3.0","description":"Configuration for image services using antd uploader","main":"lib/index.js","scripts":{"build:flow":"flow-copy-source -v -i '**/test/**' src lib","lint":"prettier --write ./src/**/*.js && eslint src","prepublish":"npm run clean && npm run check:src && npm run build","check:src":"npm run lint","clean":"rimraf lib dist","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build":"npm run build:commonjs && npm run build:flow","test":"cross-env BABEL_ENV=test karma start --single-run","test:watch":"cross-env BABEL_ENV=test karma start","start":"webpack-dev-server --config webpack.config.dev.js --mode development","validate":"npm ls"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"axios":"^0.17.1","promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"devDependencies":{"antd":"^3.2.3","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-loader":"^7.1.4","babel-plugin-import":"^1.6.5","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.10","eslint":"^4.18.2","eslint-plugin-flowtype":"^2.46.1","eslint-plugin-react":"^7.7.0","firebase":"^4.10.1","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","react":"^16.2.0","react-dom":"^16.2.0","style-loader":"^0.20.2","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.0"},"gitHead":"97900aeb25ae153b261c5844b4327ee340ca4ac2","_id":"@canner/image-service-config@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"chilijung","email":"chilijung@gmail.com"},"dist":{"integrity":"sha512-bBpyPsfYpmLC+si8ZpZPFBKOuJ2betfn4I3VHrVMI4/VhETAlMZIxqD6sb/naMq8xtwa8kYURvi3XdANvb+uZg==","shasum":"e6a7ba9c783701115c7bd57fb8c4a56eddc03de8","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.3.0.tgz","fileCount":34,"unpackedSize":325205,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF70RGsMap4kEiYgqp7+vPHBndJIGDWQfOSEuJmI7oZRAiBpdK0RLhHOMY/8pjBTgmB3x8EaCEIUlHySXhJRtHbZ6Q=="}]},"maintainers":[{"email":"a53378@yahoo.com.tw","name":"abz53378"},{"email":"chilijung@gmail.com","name":"chilijung"},{"email":"wwwy3y3@gmail.com","name":"wwwy3y3"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config_0.3.0_1521108363594_0.26082543698957017"},"_hasShrinkwrap":false},"0.4.0":{"name":"@canner/image-service-config","version":"0.4.0","description":"Configuration for image services using antd uploader","main":"lib/index.js","scripts":{"build:flow":"flow-copy-source -v -i '**/test/**' src lib","lint":"prettier --write ./src/**/*.js && eslint src","prepublish":"npm run clean && npm run check:src && npm run build","check:src":"npm run lint","clean":"rimraf lib dist","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build":"npm run build:commonjs && npm run build:flow","test":"cross-env BABEL_ENV=test karma start --single-run","test:watch":"cross-env BABEL_ENV=test karma start","start":"webpack-dev-server --config webpack.config.dev.js --mode development","validate":"npm ls"},"repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"license":"ISC","bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"homepage":"https://github.com/Canner/image-service-config#readme","dependencies":{"axios":"^0.17.1","promise-polyfill":"^7.0.0","whatwg-fetch":"^2.0.3"},"devDependencies":{"antd":"^3.2.3","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-loader":"^7.1.4","babel-plugin-import":"^1.6.5","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.10","eslint":"^4.18.2","eslint-plugin-flowtype":"^2.46.1","eslint-plugin-react":"^7.7.0","firebase":"^4.10.1","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","react":"^16.2.0","react-dom":"^16.2.0","style-loader":"^0.20.2","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.0"},"gitHead":"ab44ba767320fe8ceb081f7750eee0f72f147fe4","_id":"@canner/image-service-config@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"abz53378","email":"abz53378@gmail.com"},"dist":{"integrity":"sha512-FxDdqBcLQoARO1uCiUGBX3yBLKF5ayd84u9BLQyTmVspvzV5Ny/6oJvdkb3BOm3JM1ORHncDxohUVtvpMZvsxA==","shasum":"bab6b9c4485f75e50ed34b297ded9dc3e3d4ca08","tarball":"https://registry.npmjs.org/@canner/image-service-config/-/image-service-config-0.4.0.tgz","fileCount":34,"unpackedSize":325432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6muoCRA9TVsSAnZWagAAZb0P+gOnd08imHS7kJGoBhM+\nBiUWBIqv95q41UwuXhPjPQf3GwT4rZ7S+5XtxKMSJ24iRhcDbb1S1lOsrpaa\nkgyEU70olnWpwsN2j/ZEbXFXsW4i7IZXq3O1fFS2bM2mx2M88sFlhh0yCky0\nTWfXsE93cXprxaa8GbiWgsyyx8p253HNPgCazknkaDpHUOqAUSSpcam9jiP3\nggtgIFO1BSyiw/lYG/Ip0gJKQDL6CzI9hF/irol0IkyaafyT5+gLMFt9Vyms\nQ+jd2ZngJhSKahToTGa/edirZBFgISXYPnxz2Iw1/pTn1w+wFGWwN53tnpPO\ns2yYCACfanf53Nh1G9tHBtmIrwAk7f5ebZGEAqi4OxHOJXbEeRehG1L83zu5\n4JCBefTNgtKCSjAZsgwDGsJJDF1Wi5/qxX8cjPDI2IAzv61i5swnkorjmI1u\nEYy2n6nQEuC7bLBDGM0mYXng7VqIhx6ZXrOtdp4R1s8jgNSWZ3oay18H3Lhs\nv9QAVxG90U46zQ5e0s0fANUH0F4+LmeuS6vw6sAIRE/7al6/FmuUuxzlC+TI\nD0PikF8y5EC7go96RaoHE4Tms+jEMbeMyVC8GyYRAhJg2oFA4iutmL6NGcvM\ne+ieLlvMNEiG7GwmZrAf1g6YNFHDq8jWoj3v6uaUXT/jpaTcE15s38pbq44L\nLhVv\r\n=3sKj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXJR/ADRGe4M4o7egJWa+Y+4P+CWfzS1Q/U+F1VzlFsAiEA26tJbvdpbnVid/pjhiDKUnRfpSCBc/kcNY1wJt7dVz8="}]},"maintainers":[{"email":"a53378@yahoo.com.tw","name":"abz53378"},{"email":"chilijung@gmail.com","name":"chilijung"},{"email":"wwwy3y3@gmail.com","name":"wwwy3y3"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/image-service-config_0.4.0_1542089640108_0.19143810818263018"},"_hasShrinkwrap":false}},"readme":"# image-service-config\n> Configuration for image services using antd uploader: https://ant.design/components/upload/\n\nSupport platforms:\n\n- [Imgur](#imgurservice)\n- [Firebase client JS SDK](#firebaseclientservice)\n- [Firebase admin](##firebaseadminservice)\n\n## Installation\n\n```\nyarn add @canner/image-service-config\n\nnpm i --save @canner/image-service-config\n```\n\n## Usage\n\n```js\nconst serviceConfig = imageService.getServiceConfig();\n\nclass MyUpload extends React.Component {\n  render() {\n    return (\n      <Upload {...serviceConfig}>  // just pass `serviceConfig` to props, then your done!\n        <Button>\n          <Icon type=\"upload\" /> upload\n        </Button>\n      </Upload>\n    );\n  }\n}\n```\n\n## Support\n\n### ImgurService (Imgur)\n\nImgur API support.\n\n#### args\n<table>\n  <tr>\n    <th>name</th>\n    <th>type</th>\n    <th>default</th>\n    <th>description</th>\n  </tr>\n  <tr>\n    <td>clientId</td>\n    <td>string</td>\n    <td>''</td>\n    <td>(required) Your Imgur's clientId, Docs: https://apidocs.imgur.com/</td>\n  </tr>\n  <tr>\n    <td>mashapeKey</td>\n    <td>string</td>\n    <td>''</td>\n    <td>(optional) Your mashape's imgur key, Docs: https://market.mashape.com/imgur/imgur-9#image-upload </td>\n  </tr>\n</table>\n\n#### methods\n<table>\n  <tr>\n    <th>name</th>\n    <th>type</th>\n    <th>description</th>\n  </tr>\n  <tr>\n    <td>getServiceConfig</td>\n    <th><code>() => {name: \"image\", accept: \"image/*\", action: string, headers: Object}</code></th>\n    <td>return the uploading configuration for imgur</td>\n  </tr>\n</table>\n\n```js\nimport {ImgurService} from '@canner/image-service-config';\n\nconst imageService = new ImgurService({\n  clientId, // https://apidocs.imgur.com/\n  mashapeKey // https://market.mashape.com/imgur/imgur-9#image-upload\n});\n\nconst serviceConfig = imageService.getServiceConfig();\nconsole.log(serviceConfig);\n// {\n//   name: \"image\",\n//   accept: \"image/*\",\n//   action: \"https://api.imgur.com/3/image\",\n//   headers: {\n//     Authorization: `Client-ID <YOUR CLIENTID>`,\n//     \"X-Requested-With\": null \n//    }\n// }\n```\n\n### FirebaseClientService (Firebase JS SDK)\n\nFirebase client SDK support.\n\n#### args\n<table>\n  <tr>\n    <th>name</th>\n    <th>type</th>\n    <th>default</th>\n    <th>description</th>\n  </tr>\n  <tr>\n    <td>firebase</td>\n    <td>Firebase</td>\n    <td>''</td>\n    <td>(required) A authenticated Firebase instance to upload image to firebase storage </td>\n  </tr>\n  <tr>\n    <td>filename</td>\n    <td>string</td>\n    <td>''</td>\n    <td>(optional) filename without extension</td>\n  </tr>\n  <tr>\n    <td>dir</td>\n    <td>string</td>\n    <td>''</td>\n    <td>(optional) directory name,  eg: `path/to/you/want`  </td>\n  </tr>\n  <tr>\n    <td>hash</td>\n    <td>boolean</td>\n    <td>false</td>\n    <td>(optional) if true, filename will add a postfix hash, e.g.: filename-&lt;hash&gt;.png</td>\n  </tr>\n</table>\n\n#### methods\n<table>\n  <tr>\n    <th>name</th>\n    <th>type</th>\n    <th>description</th>\n  </tr>\n  <tr>\n    <td>getServiceConfig</td>\n    <th><code>() => {customRequest: Function}</code>. See https://github.com/react-component/upload#customrequest</th>\n    <td>return the uploading configurations for firebase client sdk </td>\n  </tr>\n  <tr>\n    <td>setHash</td>\n    <th><code>boolean => ImageService</code></th>\n    <td>set the hash</td>\n  </tr>\n  <tr>\n    <td>setDir</td>\n    <th><code>string => ImageService</code></th>\n    <td>set the dir</td>\n  </tr>\n  <tr>\n    <td>setFilename</td>\n    <th><code>string => ImageService</code></th>\n    <td>set the filename</td>\n  </tr>\n</table>\n\n```js\nimport {FirebaseClientService} from '@canner/image-service-config';\nimport firebase from 'firebase';\n\nfirebase.initializeApp({\n  apiKey,\n  storageBucket\n});\n\n// remember to autauthencate firebase first, or uploading will be failed,\n// https://firebase.google.com/docs/auth/web/start\nfirebase.auth().signInAnonymously();\n\nconst imageService = new FirebaseClientService({\n  firebase: firebase,\n  dir: \"the/path/to\", // specify the path you want upload to \n  filename: \"filename\", // rename file without extension\n  hash: false, // if true, the filename will add a hash string, e.g.: `filename-${hash}.jpg`\n});\n\nconst serviceConfig = imageService.getServiceConfig();\n\nconsole.log(serviceConfig);\n// see https://github.com/react-component/upload#customrequest\n// {\n//   customRequest: Function\n// }\n```\n\n### FirebaseAdminService (Firebase admin SDK)\n\nFirebase admin SDK support.\n\n<table>\n  <tr>\n    <th>name</th>\n    <th>type</th>\n    <th>default</th>\n    <th>description</th>\n  </tr>\n  <tr>\n    <td>getSignedUrl</td>\n    <td><code>(file: File, filePath: string) =&gt; Promise&lt;{uploadUrl: string, publicUrl: sring}&gt;</code></td>\n    <td>null</td>\n    <td>(required) async method to get the signedUrl and publicUrl of firebase storage</td>\n  </tr>\n  <tr>\n    <td>filename</td>\n    <td>string</td>\n    <td>''</td>\n    <td>(optional) filename without extension</td>\n  </tr>\n  <tr>\n    <td>dir</td>\n    <td>string</td>\n    <td>''</td>\n    <td>(optional) directory name,  eg: `path/to/you/want`  </td>\n  </tr>\n  <tr>\n    <td>hash</td>\n    <td>boolean</td>\n    <td>false</td>\n    <td>(optional) if true, filename will add a postfix hash, e.g.: filename-&lt;hash&gt;.png</td>\n  </tr>\n</table>\n\n#### methods\n<table>\n  <tr>\n    <th>name</th>\n    <th>type</th>\n    <th>description</th>\n  </tr>\n  <tr>\n    <td>getServiceConfig</td>\n    <th><code>() => {customRequest: Function}</code>. See https://github.com/react-component/upload#customrequest</th>\n    <td>return the uploading configurations for firebase admin sdk </td>\n  </tr>\n    <tr>\n    <td>setHash</td>\n    <th><code>boolean => ImageService</code></th>\n    <td>set the hash</td>\n  </tr>\n  <tr>\n    <td>setDir</td>\n    <th><code>string => ImageService</code></th>\n    <td>set the dir</td>\n  </tr>\n  <tr>\n    <td>setFilename</td>\n    <th><code>string => ImageService</code></th>\n    <td>set the filename</td>\n  </tr>\n</table>\n\n``` js\nimport {FirebaseAdminService} from '@canner/image-service-config';\n\nfunction getSignedUrl(file, filePath) {\n  // GET your API server\n  return fetch('<YOUR_API_ENDPOINT>')\n    .then(res => res.json())\n    .then(data => {\n      console.log(data);\n      // {\n      //   uploadUrl: '<FIREBASE_SIGNED_URL>',\n      //   publicUrl: '<FIREBASE_PUBLIC_URL>',\n      // }\n      return data;\n    });\n  \n}\n\nconst imageService = new FirebaseAdminService({\n  getSignedUrl,\n  dir: \"the/path/to\", // specify the path you want upload to \n  filename: \"filename\", // rename file without extension\n  hash: false, // if true, the filename will add a hash string, e.g.: `filename-${hash}.jpg`\n});\n\nconst serviceConfig = imageService.getServiceConfig();\nconsole.log(serviceConfig);\n// see https://github.com/react-component/upload#customrequest\n// {\n//   customRequest: Function\n// }\n```\n\n**backend code in koa**\n``` js\n// use firebase admin sdk to generate signedUrl and publicUrl\n// https://firebase.google.com/docs/storage/admin/start\nlet firebaseApp;\ntry {\n  firebaseApp = firebaseAdmin.app(service.config.projectId);\n} catch (e) {\n  firebaseApp = firebaseAdmin.initializeApp({\n    credential: firebaseAdmin.credential.cert(service.config.serviceAccountJson),\n    databaseURL: service.config.databaseURL,\n    storageBucket: service.config.storageBucket\n  }, service.config.projectId);\n}\n\nconst bucket = firebaseApp.storage().bucket();\nconst token = UUID();\nconst urls = await bucket.file(filepath)\n.createResumableUpload({\n  origin: `https://<YOUR WEBSITE HOST>`,\n  metadata: {\n    contentType,\n    metadata: {\n      firebaseStorageDownloadTokens: token\n    }\n  }\n});\nctx.body = {\n  uploadUrl: urls[0],\n  publicUrl: `https://firebasestorage.googleapis.com/v0/b/${service.config.storageBucket}/o/${encodeURIComponent(filepath.startsWith(\"/\") ? filepath.slice(1) : filepath)}?alt=media&token=${token}`\n};\n```\n","maintainers":[{"email":"wwwy3y3@gmail.com","name":"wwwy3y3"},{"email":"william@cannerdata.com","name":"cannerbot"}],"time":{"modified":"2024-02-22T14:08:17.035Z","created":"2017-12-27T08:59:34.446Z","0.0.1":"2017-12-27T08:59:34.446Z","0.0.2":"2018-01-05T07:32:56.467Z","0.0.3":"2018-01-15T04:39:37.854Z","0.0.4":"2018-01-15T04:51:07.892Z","0.0.5":"2018-01-15T06:12:54.968Z","0.0.6":"2018-01-16T03:51:09.356Z","0.0.7":"2018-01-18T09:06:19.540Z","0.0.8":"2018-01-18T10:11:07.563Z","0.1.1":"2018-03-06T11:47:42.950Z","0.2.0":"2018-03-08T12:34:51.095Z","0.3.0":"2018-03-15T10:06:03.775Z","0.4.0":"2018-11-13T06:14:00.236Z"},"homepage":"https://github.com/Canner/image-service-config#readme","repository":{"type":"git","url":"git+https://github.com/Canner/image-service-config.git"},"author":{"name":"canner"},"bugs":{"url":"https://github.com/Canner/image-service-config/issues"},"license":"ISC","readmeFilename":"README.md"}