* Add icons for file types * Compress image files for file type icons * Add constants for file types * Add utils for file metadata * Add actions & reducers for fetching file attachments * Render file attachments in posts * Add reducers for handling files requests * Refactor getFileType in file utils * Refactor getFileIconPath in file utils * Refactor getFormattedFileSize in file utils * Trim trailing whitespace in getTruncatedFilename * Style file attachment metadata * Remove entity store reducer for files fetch failure * Change filesForPost to fileIdsForPost in files store * Use a selector for getFilesForPost * Memoize getFilesForPost selector * Dispatch postId with getFilesForPost * Add test for getFilesForPost * Upload seed file in getFilesForPost test * Display correct icon for image attachments * Fix reducers for receiving files for post Expect response data to be array not object * Style attachment post * Merge headers (defaults + opts) in Client.doFetch * Upload file as FormData * Use form-data lib instead of built-in polyfill * Associate file with post in getFilesForPost test * Improve assertions in getFilesForPost test * Check for createPost failure in getFilesForPost test * Use correct post id in getFilesForPost test * Use client not action to create post in getFilesForPost test * Fix file upload in getFilesForPost test * Add assertion for name of uploaded file * Update attachment post style * Fix spelling of loadFilesForPostIfNecessary * Remove eslint-disable no-magic-numbers from file_utils.js * Remove unused index prop from FileAttachment * Clarify code for merging headers in Client.getOptions * Dynamically truncate file attachment names * Extract component for FileAttachmentIcon * Use white bg for FileAttachmentIcon to match webapp styles * Match webapp styles for file attachment borders * Move file icon path lookup to FileAttachmentIcon * Use more logical ordering for file type lookup
60 lines
1.9 KiB
JSON
60 lines
1.9 KiB
JSON
{
|
|
"name": "Mattermost",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"dependencies": {
|
|
"deep-equal": "1.0.1",
|
|
"harmony-reflect": "1.5.1",
|
|
"intl": "1.2.5",
|
|
"isomorphic-fetch": "2.2.1",
|
|
"react": "15.4.1",
|
|
"react-addons-pure-render-mixin": "15.4.1",
|
|
"react-intl": "2.2.2",
|
|
"react-native": "0.40.0",
|
|
"react-native-button": "1.7.1",
|
|
"react-native-drawer": "2.3.0",
|
|
"react-native-keyboard-spacer": "0.3.1",
|
|
"react-native-search-bar": "enahum/react-native-search-bar.git",
|
|
"react-native-svg": "4.5.0",
|
|
"react-native-vector-icons": "4.0.0",
|
|
"react-redux": "5.0.1",
|
|
"redux": "3.6.0",
|
|
"redux-batched-actions": "0.1.5",
|
|
"redux-thunk": "2.1.0",
|
|
"reselect": "2.5.4"
|
|
},
|
|
"devDependencies": {
|
|
"babel-eslint": "7.1.1",
|
|
"babel-plugin-module-resolver": "2.4.0",
|
|
"babel-preset-es2015": "6.18.0",
|
|
"babel-preset-react-native": "1.9.1",
|
|
"babel-register": "6.18.0",
|
|
"chai": "3.5.0",
|
|
"chai-enzyme": "0.6.1",
|
|
"deep-freeze": "0.0.1",
|
|
"enzyme": "2.7.1",
|
|
"eslint": "3.12.2",
|
|
"eslint-plugin-mocha": "4.8.0",
|
|
"eslint-plugin-react": "6.8.0",
|
|
"fetch-mock": "5.8.1",
|
|
"form-data": "2.1.2",
|
|
"mocha": "3.2.0",
|
|
"react-addons-test-utils": "15.4.2",
|
|
"react-dom": "15.4.2",
|
|
"react-native-mock": "0.2.9",
|
|
"react-native-svg-mock": "1.0.2",
|
|
"react-test-renderer": "15.4.1",
|
|
"redux-logger": "2.7.4",
|
|
"remote-redux-devtools": "0.5.7",
|
|
"remote-redux-devtools-on-debugger": "0.7.0",
|
|
"ws": "1.1.1"
|
|
},
|
|
"scripts": {
|
|
"check": "node_modules/.bin/eslint --ext \".js\" --ignore-pattern node_modules --quiet .",
|
|
"run-ios": "node node_modules/react-native/local-cli/cli.js run-ios",
|
|
"run-android": "node node_modules/react-native/local-cli/cli.js run-android",
|
|
"start": "node node_modules/react-native/local-cli/cli.js start -- --reset-cache",
|
|
"test": "NODE_ENV=test mocha --opts test/mocha.opts",
|
|
"postinstall": "make post-install"
|
|
}
|
|
}
|