diff --git a/package.json b/package.json index 57521210..534f91eb 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@react-native-community/push-notification-ios": "1.0.6", "@react-native-firebase/app": "6.3.4", "@react-native-firebase/messaging": "6.3.4", + "axios": "0.19.2", "darkreader": "4.9.2", "dayjs": "1.8.23", "expo-document-picker": "8.1.0", diff --git a/src/redux/dataSource.ts b/src/redux/dataSource.ts index 5a09fd77..29559372 100644 --- a/src/redux/dataSource.ts +++ b/src/redux/dataSource.ts @@ -1,5 +1,6 @@ import {Learn2018Helper} from 'thu-learn-lib-no-native'; import mime from 'mime-types'; +import axios from 'axios'; let dataSource = new Learn2018Helper(); @@ -22,6 +23,7 @@ const submitAssignment = async ( uri: string; name: string; }, + onProgress?: (progress: number) => void, remove: boolean = false, ) => { if (!content && !attachment && !remove) { @@ -41,15 +43,15 @@ const submitAssignment = async ( } try { - const res = await fetch(submitAssignmentUrl, { - method: 'POST', - body, + const res = await axios.post(submitAssignmentUrl, body, { + onUploadProgress: (e) => onProgress?.(e.loaded / e.total), }); - if (!res.ok) { - throw new Error('Sumbit assignment failed'); + + if (res.status !== 200) { + throw new Error('Submit assignment failed'); } } catch { - throw new Error('Sumbit assignment failed'); + throw new Error('Submit assignment failed'); } }; diff --git a/src/screens/AssignmentSubmitScreen.tsx b/src/screens/AssignmentSubmitScreen.tsx index 80af3f1b..e3f98608 100644 --- a/src/screens/AssignmentSubmitScreen.tsx +++ b/src/screens/AssignmentSubmitScreen.tsx @@ -26,6 +26,13 @@ import Snackbar from 'react-native-snackbar'; import {Navigation} from 'react-native-navigation'; import Divider from '../components/Divider'; import {removeTags} from '../helpers/html'; +import { + ProgressBar, + DarkTheme, + DefaultTheme, + Provider as PaperProvider, +} from 'react-native-paper'; +import {useWindow} from '../hooks/useWindow'; export interface IAssignmentSubmitScreenProps { studentHomeworkId: string; @@ -94,13 +101,20 @@ const AssignmentSubmitScreen: INavigationScreen = }; const [uploading, setUploading] = useState(false); + const [progress, setProgress] = useState(0); const handleSubmit = async () => { setUploading(true); try { if (attachmentRemoved) { - await submitAssignment(studentHomeworkId, '', undefined, true); + await submitAssignment( + studentHomeworkId, + '', + undefined, + setProgress, + true, + ); } else if (content || fileResult) { await submitAssignment( studentHomeworkId, @@ -111,10 +125,12 @@ const AssignmentSubmitScreen: INavigationScreen = name: fileResult.name!, } : undefined, + setProgress, ); } setUploading(false); + setProgress(0); await Navigation.dismissModal(props.componentId); Snackbar.show({ text: getTranslation('submitAssignmentSuccess'), @@ -122,6 +138,7 @@ const AssignmentSubmitScreen: INavigationScreen = }); } catch { setUploading(false); + setProgress(0); Snackbar.show({ text: getTranslation('submitAssignmentFail'), duration: Snackbar.LENGTH_SHORT, @@ -174,165 +191,178 @@ const AssignmentSubmitScreen: INavigationScreen = Navigation.dismissModal(props.componentId); }; + const window = useWindow(); + return ( - - + - + - {getTranslation('cancel')} - - - - - {submittedAttachmentName && ( - <> - - - - {submittedAttachmentName} - - {!fileResult && ( + behavior={Platform.OS === 'ios' ? 'padding' : undefined}> + + {getTranslation('cancel')} + + + + + {submittedAttachmentName && ( + <> + + - {attachmentRemoved - ? getTranslation('undo') - : getTranslation('remove')} + ellipsizeMode="tail"> + {submittedAttachmentName} - )} - - - - )} - {fileResult && ( - <> - - - - {fileResult.name!} - - { + {!fileResult && ( + + {attachmentRemoved + ? getTranslation('undo') + : getTranslation('remove')} + + )} + + + + )} + {fileResult && ( + <> + + - {getTranslation('remove')} + ellipsizeMode="tail"> + {fileResult.name!} - } - - - - )} - {!fileResult && ( - <> - - + {getTranslation('remove')} + + } + + + + )} + {!fileResult && ( + <> + + + {submittedAttachmentName + ? getTranslation('newAttachment') + : getTranslation('addAttachment')} + + {submittedAttachmentName && ( + + {getTranslation('overwriteOld')} + + )} + + + + )} + + + {getTranslation('submit')} + + + {uploading && ( + - {submittedAttachmentName - ? getTranslation('newAttachment') - : getTranslation('addAttachment')} - - {submittedAttachmentName && ( - - {getTranslation('overwriteOld')} - - )} - - - - )} - - - {getTranslation('submit')} - - - - - + color={Colors.system('purple', colorScheme)} + /> + )} + + + + ); }; diff --git a/yarn.lock b/yarn.lock index 0543a4a4..c8d709f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1812,11 +1812,6 @@ abab@^2.0.0: resolved "http://r.cnpmjs.org/abab/download/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" integrity sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo= -abbrev@1: - version "1.1.1" - resolved "http://r.cnpmjs.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= - abort-controller@^3.0.0: version "3.0.0" resolved "http://r.cnpmjs.org/abort-controller/download/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -2028,19 +2023,6 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" -aproba@^1.0.3: - version "1.2.0" - resolved "http://r.cnpmjs.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "http://r.cnpmjs.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - argparse@^1.0.7: version "1.0.10" resolved "http://r.cnpmjs.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2212,6 +2194,13 @@ aws4@^1.8.0: resolved "http://r.cnpmjs.org/aws4/download/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" integrity sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4= +axios@0.19.2: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + babel-eslint@10.1.0, babel-eslint@^10.0.3: version "10.1.0" resolved "http://r.cnpmjs.org/babel-eslint/download/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -2760,11 +2749,6 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1: - version "1.1.4" - resolved "http://r.cnpmjs.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= - ci-info@^2.0.0: version "2.0.0" resolved "http://r.cnpmjs.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -3057,11 +3041,6 @@ connect@^3.6.5: parseurl "~1.3.3" utils-merge "1.0.1" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - contains-path@^0.1.0: version "0.1.0" resolved "http://r.cnpmjs.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" @@ -3288,12 +3267,12 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^3.2.6: - version "3.2.6" - resolved "http://r.cnpmjs.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: - ms "^2.1.1" + ms "2.0.0" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" @@ -3324,11 +3303,6 @@ deep-equal-ident@^1.1.1: dependencies: lodash.isequal "^3.0" -deep-extend@^0.6.0: - version "0.6.0" - resolved "http://r.cnpmjs.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= - deep-is@~0.1.3: version "0.1.3" resolved "http://r.cnpmjs.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3385,11 +3359,6 @@ delayed-stream@~1.0.0: resolved "http://r.cnpmjs.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - denodeify@^1.2.1: version "1.2.1" resolved "http://r.cnpmjs.org/denodeify/download/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" @@ -3405,11 +3374,6 @@ destroy@~1.0.4: resolved "http://r.cnpmjs.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-libc@^1.0.2: - version "1.0.3" - resolved "http://r.cnpmjs.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "http://r.cnpmjs.org/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -4555,6 +4519,13 @@ flatted@^2.0.0: resolved "http://r.cnpmjs.org/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + for-in@^0.1.3: version "0.1.8" resolved "http://r.cnpmjs.org/for-in/download/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" @@ -4643,13 +4614,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: - version "1.2.7" - resolved "http://r.cnpmjs.org/fs-minipass/download/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha1-zP+FcIQef+QmVpPaiJNsVa7X98c= - dependencies: - minipass "^2.6.0" - fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "http://r.cnpmjs.org/fs-readdir-recursive/download/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -4730,20 +4694,6 @@ fusing@1.0.x: emits "3.0.x" predefine "0.1.x" -gauge@~2.7.3: - version "2.7.4" - resolved "http://r.cnpmjs.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "http://r.cnpmjs.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -4925,11 +4875,6 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "http://r.cnpmjs.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= -has-unicode@^2.0.0: - version "2.0.1" - resolved "http://r.cnpmjs.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - has-value@^0.3.1: version "0.3.1" resolved "http://r.cnpmjs.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -5080,20 +5025,13 @@ husky@4.2.3: slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "http://r.cnpmjs.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= dependencies: safer-buffer ">= 2.1.2 < 3" -ignore-walk@^3.0.1: - version "3.0.3" - resolved "http://r.cnpmjs.org/ignore-walk/download/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha1-AX4kRxhL/q3nwjjkrv3R6PlbHjc= - dependencies: - minimatch "^3.0.4" - ignore@^4.0.6: version "4.0.6" resolved "http://r.cnpmjs.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -5169,7 +5107,7 @@ inherits@2.0.3: resolved "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4: version "1.3.5" resolved "http://r.cnpmjs.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= @@ -7482,21 +7420,6 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: resolved "http://r.cnpmjs.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= -minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "http://r.cnpmjs.org/minipass/download/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY= - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.3.3" - resolved "http://r.cnpmjs.org/minizlib/download/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha1-IpDeloGKNMKVUcio0wEha9Zahh0= - dependencies: - minipass "^2.9.0" - mixin-deep@^1.2.0: version "1.3.2" resolved "http://r.cnpmjs.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -7513,7 +7436,7 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@~0.5.1: +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@~0.5.1: version "0.5.4" resolved "http://r.cnpmjs.org/mkdirp/download/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" integrity sha1-/QFQSmeX7Fyb6B/0PSBJYe1kpRI= @@ -7607,15 +7530,6 @@ nearley@^2.7.10: randexp "0.4.6" semver "^5.4.1" -needle@^2.2.1: - version "2.3.3" - resolved "http://r.cnpmjs.org/needle/download/needle-2.3.3.tgz#a041ad1d04a871b0ebb666f40baaf1fb47867117" - integrity sha1-oEGtHQSocbDrtmb0C6rx+0eGcRc= - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "http://r.cnpmjs.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -7671,22 +7585,6 @@ node-notifier@^6.0.0: shellwords "^0.1.1" which "^1.3.1" -node-pre-gyp@*: - version "0.14.0" - resolved "http://r.cnpmjs.org/node-pre-gyp/download/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83" - integrity sha1-mgWWUzuHcom8rU4UOYLKPZBN3IM= - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4.4.2" - node-releases@^1.1.52: version "1.1.53" resolved "http://r.cnpmjs.org/node-releases/download/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" @@ -7697,14 +7595,6 @@ node-version@^1.0.0: resolved "http://r.cnpmjs.org/node-version/download/node-version-1.2.0.tgz#34fde3ffa8e1149bd323983479dda620e1b5060d" integrity sha1-NP3j/6jhFJvTI5g0ed2mIOG1Bg0= -nopt@^4.0.1: - version "4.0.3" - resolved "http://r.cnpmjs.org/nopt/download/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg= - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.3.2: version "2.5.0" resolved "http://r.cnpmjs.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -7727,27 +7617,6 @@ normalize-path@^3.0.0: resolved "http://r.cnpmjs.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= -npm-bundled@^1.0.1: - version "1.1.1" - resolved "http://r.cnpmjs.org/npm-bundled/download/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha1-Ht1XCGWpTNsbyCIHdeKUZsn7I0s= - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha1-bnmkHyP9I1wGIyGCKNp9nCO49uI= - -npm-packlist@^1.1.6: - version "1.4.8" - resolved "http://r.cnpmjs.org/npm-packlist/download/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" - integrity sha1-Vu5swTW5+YrT1Rwcldoiu7my7z4= - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-normalize-package-bin "^1.0.1" - npm-registry@0.1.x, npm-registry@^0.1.13: version "0.1.13" resolved "http://r.cnpmjs.org/npm-registry/download/npm-registry-0.1.13.tgz#9e5d8b2fdfc1ab5990d47f7debbe231d79a9e822" @@ -7773,16 +7642,6 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" -npmlog@^4.0.2: - version "4.1.2" - resolved "http://r.cnpmjs.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - nth-check@~1.0.1: version "1.0.2" resolved "http://r.cnpmjs.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -7985,11 +7844,6 @@ ora@^3.4.0: strip-ansi "^5.2.0" wcwidth "^1.0.1" -os-homedir@^1.0.0: - version "1.0.2" - resolved "http://r.cnpmjs.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - os-locale@^3.0.0: version "3.1.0" resolved "http://r.cnpmjs.org/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -8004,14 +7858,6 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: resolved "http://r.cnpmjs.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4: - version "0.1.5" - resolved "http://r.cnpmjs.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - p-defer@^1.0.0: version "1.0.0" resolved "http://r.cnpmjs.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -8565,16 +8411,6 @@ range-parser@~1.2.1: resolved "http://r.cnpmjs.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= -rc@^1.2.7: - version "1.2.8" - resolved "http://r.cnpmjs.org/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-devtools-core@^4.0.6: version "4.6.0" resolved "http://r.cnpmjs.org/react-devtools-core/download/react-devtools-core-4.6.0.tgz#2443b3c6fac78b801702af188abc6d83d56224e6" @@ -8895,7 +8731,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@~2.3.6: +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.7" resolved "http://r.cnpmjs.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= @@ -9214,7 +9050,7 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "http://r.cnpmjs.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= @@ -9470,7 +9306,7 @@ serve-static@^1.13.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "http://r.cnpmjs.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -9805,7 +9641,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= @@ -9944,11 +9780,6 @@ strip-json-comments@^3.0.1: resolved "http://r.cnpmjs.org/strip-json-comments/download/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" integrity sha1-hXE5dakfuHvxswXMp3OV5A0qZKc= -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "http://r.cnpmjs.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - sudo-prompt@^9.0.0: version "9.1.1" resolved "http://r.cnpmjs.org/sudo-prompt/download/sudo-prompt-9.1.1.tgz#73853d729770392caec029e2470db9c221754db0" @@ -10026,19 +9857,6 @@ tail@^2.0.0: resolved "http://r.cnpmjs.org/tail/download/tail-2.0.3.tgz#37567adc4624a70b35f1d146c3376fa3d6ef7c04" integrity sha1-N1Z63EYkpws18dFGwzdvo9bvfAQ= -tar@^4.4.2: - version "4.4.13" - resolved "http://r.cnpmjs.org/tar/download/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha1-Q7NkvFKIjVVSmGN7ENYHkCVKtSU= - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - telnet-client@0.15.3: version "0.15.3" resolved "http://r.cnpmjs.org/telnet-client/download/telnet-client-0.15.3.tgz#99ec754e4acf6fa51dc69898f574df3c2550712e" @@ -10718,13 +10536,6 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "http://r.cnpmjs.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= - dependencies: - string-width "^1.0.2 || 2" - word-wrap@~1.2.3: version "1.2.3" resolved "http://r.cnpmjs.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -10905,11 +10716,6 @@ yallist@^2.1.2: resolved "http://r.cnpmjs.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.3: - version "3.1.1" - resolved "http://r.cnpmjs.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= - yaml@^1.7.2: version "1.8.3" resolved "http://r.cnpmjs.org/yaml/download/yaml-1.8.3.tgz#2f420fca58b68ce3a332d0ca64be1d191dd3f87a"