Update prettier and eslint

This commit is contained in:
Nicolas Gallagher
2017-04-13 17:18:54 -07:00
parent cdca9e1e2b
commit 8d561d7309
41 changed files with 328 additions and 325 deletions
+2 -2
View File
@@ -48,7 +48,7 @@
"babel-preset-react-native": "^1.9.1",
"del-cli": "^0.2.1",
"enzyme": "^2.4.1",
"eslint": "^3.4.0",
"eslint": "^3.19.0",
"eslint-config-prettier": "^1.4.0",
"eslint-plugin-jsx-a11y": "^2.2.0",
"eslint-plugin-promise": "^2.0.1",
@@ -56,7 +56,7 @@
"file-loader": "^0.9.0",
"jest": "^19.0.2",
"node-libs-browser": "^0.5.3",
"prettier": "^0.19.0",
"prettier": "^1.0.2",
"react": "~15.4.1",
"react-addons-test-utils": "~15.4.1",
"react-test-renderer": "~15.4.1",
+1 -1
View File
@@ -23,7 +23,7 @@ const median = values => {
}
const numbers = [...values].sort((a, b) => a - b);
return (numbers[numbers.length - 1 >> 1] + numbers[numbers.length >> 1]) / 2;
return (numbers[(numbers.length - 1) >> 1] + numbers[numbers.length >> 1]) / 2;
};
const standardDeviation = values => {
+1 -9
View File
@@ -15,15 +15,7 @@ class AppText extends PureComponent {
};
render() {
const {
align,
color,
fontStyle,
size,
uppercase,
weight,
...other
} = this.props;
const { align, color, fontStyle, size, uppercase, weight, ...other } = this.props;
const style = [
styles.root,
@@ -21,10 +21,10 @@ const getColor = color => {
};
const Box = styled(View)`
flex-direction: ${props => props.layout === 'column' ? 'column' : 'row'};
padding: ${props => props.outer ? '4px' : '0'};
height: ${props => props.fixed ? '20px' : 'auto'};
width: ${props => props.fixed ? '20px' : 'auto'};
flex-direction: ${props => (props.layout === 'column' ? 'column' : 'row')};
padding: ${props => (props.outer ? '4px' : '0')};
height: ${props => (props.fixed ? '20px' : 'auto')};
width: ${props => (props.fixed ? '20px' : 'auto')};
background-color: ${props => getColor(props.color)};
`;
+5 -3
View File
@@ -17,10 +17,12 @@ class GridView extends Component {
return (
<View {...other} style={[style, styles.root, hasGap && styles.hasGap]}>
{React.Children.map(children, child => {
return child &&
return (
child &&
React.cloneElement(child, {
style: [child.props.style, styles.column, hasGap && styles.hasGapColumn]
});
})
);
})}
</View>
);
@@ -40,7 +42,7 @@ const styles = StyleSheet.create({
minWidth: 0 // 2
},
hasGap: {
marginHorizontal: theme.createLength(theme.spaceX * (-0.5), 'rem')
marginHorizontal: theme.createLength(theme.spaceX * -0.5, 'rem')
},
hasGapColumn: {
marginHorizontal: theme.createLength(theme.spaceX * 0.5, 'rem')
@@ -2,18 +2,17 @@ import { createDOMElement } from 'react-native';
import React from 'react';
import styles from './styles';
const IconDirectMessage = props => createDOMElement('svg', {
children: (
<g>
<path d="M43.34 14H12.66L28 27.946z" />
<path
d="M51.392 14.789L30.018 34.22c-.009.008-.028.006-.039.012-.563.5-1.266.768-1.98.768-.72 0-1.442-.258-2.017-.78L4.609 14.79A3.957 3.957 0 0 0 3 18v37a1.998 1.998 0 0 0 2 2c.464 0 .924-.162 1.292-.473L19 46h30c2.243 0 4-1.757 4-4V18a3.96 3.96 0 0 0-1.608-3.211z"
/>
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 56 72'
});
const IconDirectMessage = props =>
createDOMElement('svg', {
children: (
<g>
<path d="M43.34 14H12.66L28 27.946z" />
<path d="M51.392 14.789L30.018 34.22c-.009.008-.028.006-.039.012-.563.5-1.266.768-1.98.768-.72 0-1.442-.258-2.017-.78L4.609 14.79A3.957 3.957 0 0 0 3 18v37a1.998 1.998 0 0 0 2 2c.464 0 .924-.162 1.292-.473L19 46h30c2.243 0 4-1.757 4-4V18a3.96 3.96 0 0 0-1.608-3.211z" />
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 56 72'
});
IconDirectMessage.metadata = { height: 72, width: 56 };
+10 -11
View File
@@ -2,17 +2,16 @@ import { createDOMElement } from 'react-native';
import React from 'react';
import styles from './styles';
const IconHeart = props => createDOMElement('svg', {
children: (
<g>
<path
d="M38.723 12c-7.187 0-11.16 7.306-11.723 8.131C26.437 19.306 22.504 12 15.277 12 8.791 12 3.533 18.163 3.533 24.647 3.533 39.964 21.891 55.907 27 56c5.109-.093 23.467-16.036 23.467-31.353C50.467 18.163 45.209 12 38.723 12z"
/>
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 54 72'
});
const IconHeart = props =>
createDOMElement('svg', {
children: (
<g>
<path d="M38.723 12c-7.187 0-11.16 7.306-11.723 8.131C26.437 19.306 22.504 12 15.277 12 8.791 12 3.533 18.163 3.533 24.647 3.533 39.964 21.891 55.907 27 56c5.109-.093 23.467-16.036 23.467-31.353C50.467 18.163 45.209 12 38.723 12z" />
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 54 72'
});
IconHeart.metadata = { height: 72, width: 54 };
+10 -11
View File
@@ -2,17 +2,16 @@ import { createDOMElement } from 'react-native';
import React from 'react';
import styles from './styles';
const IconReply = props => createDOMElement('svg', {
children: (
<g>
<path
d="M41 31h-9V19a2.999 2.999 0 0 0-4.817-2.386l-21 16a3 3 0 0 0-.001 4.773l21 16a3.006 3.006 0 0 0 3.15.301A2.997 2.997 0 0 0 32 51V39h9c5.514 0 10 4.486 10 10a4 4 0 0 0 8 0c0-9.925-8.075-18-18-18z"
/>
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 62 72'
});
const IconReply = props =>
createDOMElement('svg', {
children: (
<g>
<path d="M41 31h-9V19a2.999 2.999 0 0 0-4.817-2.386l-21 16a3 3 0 0 0-.001 4.773l21 16a3.006 3.006 0 0 0 3.15.301A2.997 2.997 0 0 0 32 51V39h9c5.514 0 10 4.486 10 10a4 4 0 0 0 8 0c0-9.925-8.075-18-18-18z" />
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 62 72'
});
IconReply.metadata = { height: 72, width: 62 };
+10 -11
View File
@@ -2,17 +2,16 @@ import { createDOMElement } from 'react-native';
import React from 'react';
import styles from './styles';
const IconRetweet = props => createDOMElement('svg', {
children: (
<g>
<path
d="M70.676 36.644A3 3 0 0 0 68 35h-7V19a4 4 0 0 0-4-4H34a4 4 0 0 0 0 8h18a1 1 0 0 1 1 .998V35h-7a3.001 3.001 0 0 0-2.419 4.775l11 15a3.003 3.003 0 0 0 4.839-.001l11-15a3.001 3.001 0 0 0 .256-3.13zM40.001 48H22a.995.995 0 0 1-.992-.96L21.001 36h7a3.001 3.001 0 0 0 2.419-4.775l-11-15a3.003 3.003 0 0 0-4.839.001l-11 15A3 3 0 0 0 6.001 36h7l.011 16.003a4 4 0 0 0 4 3.997h22.989a4 4 0 0 0 0-8z"
/>
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 74 72'
});
const IconRetweet = props =>
createDOMElement('svg', {
children: (
<g>
<path d="M70.676 36.644A3 3 0 0 0 68 35h-7V19a4 4 0 0 0-4-4H34a4 4 0 0 0 0 8h18a1 1 0 0 1 1 .998V35h-7a3.001 3.001 0 0 0-2.419 4.775l11 15a3.003 3.003 0 0 0 4.839-.001l11-15a3.001 3.001 0 0 0 .256-3.13zM40.001 48H22a.995.995 0 0 1-.992-.96L21.001 36h7a3.001 3.001 0 0 0 2.419-4.775l-11-15a3.003 3.003 0 0 0-4.839.001l-11 15A3 3 0 0 0 6.001 36h7l.011 16.003a4 4 0 0 0 4 3.997h22.989a4 4 0 0 0 0-8z" />
</g>
),
style: [styles.icon, props.style],
viewBox: '0 0 74 72'
});
IconRetweet.metadata = { height: 72, width: 74 };
+10 -11
View File
@@ -17,17 +17,16 @@ class DeepTree extends Component {
<Box color={id % 3} components={components} layout={depth % 2 === 0 ? 'column' : 'row'} outer>
{depth === 0 && <Box color={id % 3 + 3} components={components} fixed />}
{depth !== 0 &&
Array.from({ length: breadth })
.map((el, i) => (
<DeepTree
breadth={breadth}
components={components}
depth={depth - 1}
id={i}
key={i}
wrap={wrap}
/>
))}
Array.from({ length: breadth }).map((el, i) => (
<DeepTree
breadth={breadth}
components={components}
depth={depth - 1}
id={i}
key={i}
wrap={wrap}
/>
))}
</Box>
);
for (let i = 0; i < wrap; i++) {
@@ -18,14 +18,7 @@ class UserNames extends PureComponent {
};
render() {
const {
fullName,
layout,
onPress,
screenName,
style,
...other
} = this.props;
const { fullName, layout, onPress, screenName, style, ...other } = this.props;
return (
<AppText
+8 -7
View File
@@ -2,12 +2,13 @@ import createRenderBenchmark from '../createRenderBenchmark';
import NestedTree from '../src/components/NestedTree';
import React from 'react';
const renderDeepTree = (label, components) => createRenderBenchmark({
name: `Deep tree [${label}]`,
runs: 20,
getElement() {
return <NestedTree breadth={3} components={components} depth={6} id={0} wrap={1} />;
}
});
const renderDeepTree = (label, components) =>
createRenderBenchmark({
name: `Deep tree [${label}]`,
runs: 20,
getElement() {
return <NestedTree breadth={3} components={components} depth={6} id={0} wrap={1} />;
}
});
export default renderDeepTree;
+13 -12
View File
@@ -96,17 +96,18 @@ const tweet2 = {
}
};
const renderTweet = (label, components) => createRenderBenchmark({
name: `Tweet [${label}]`,
runs: 10,
getElement() {
return (
<div style={{ width: 500 }}>
<Tweet tweet={tweet1} />
<Tweet tweet={tweet2} />
</div>
);
}
});
const renderTweet = (label, components) =>
createRenderBenchmark({
name: `Tweet [${label}]`,
runs: 10,
getElement() {
return (
<div style={{ width: 500 }}>
<Tweet tweet={tweet1} />
<Tweet tweet={tweet2} />
</div>
);
}
});
export default renderTweet;
+8 -7
View File
@@ -2,12 +2,13 @@ import createRenderBenchmark from '../createRenderBenchmark';
import NestedTree from '../src/components/NestedTree';
import React from 'react';
const renderWideTree = (label, components) => createRenderBenchmark({
name: `Wide tree [${label}]`,
runs: 20,
getElement() {
return <NestedTree breadth={10} components={components} depth={3} id={0} wrap={4} />;
}
});
const renderWideTree = (label, components) =>
createRenderBenchmark({
name: `Wide tree [${label}]`,
runs: 20,
getElement() {
return <NestedTree breadth={10} components={components} depth={3} id={0} wrap={4} />;
}
});
export default renderWideTree;
+4 -5
View File
@@ -84,11 +84,10 @@ class AsyncStorage {
static multiGet(keys: Array<string>) {
const promises = keys.map(key => AsyncStorage.getItem(key));
return Promise.all(promises)
.then(
result => Promise.resolve(result.map((value, i) => [keys[i], value])),
error => Promise.reject(error)
);
return Promise.all(promises).then(
result => Promise.resolve(result.map((value, i) => [keys[i], value])),
error => Promise.reject(error)
);
}
/**
+2 -1
View File
@@ -10,7 +10,8 @@ import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
import findIndex from 'array-find-index';
import invariant from 'fbjs/lib/invariant';
const connection = ExecutionEnvironment.canUseDOM &&
const connection =
ExecutionEnvironment.canUseDOM &&
(window.navigator.connection ||
window.navigator.mozConnection ||
window.navigator.webkitConnection);
+4 -2
View File
@@ -10,8 +10,10 @@ var TouchHistoryMath = require('../../vendor/TouchHistoryMath');
var currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;
var currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;
var previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;
var previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;
var previousCentroidXOfTouchesChangedAfter =
TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;
var previousCentroidYOfTouchesChangedAfter =
TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;
var currentCentroidX = TouchHistoryMath.currentCentroidX;
var currentCentroidY = TouchHistoryMath.currentCentroidY;
+1 -1
View File
@@ -1,6 +1,6 @@
const Platform = {
OS: 'web',
select: (obj: Object) => 'web' in obj ? obj.web : obj.default
select: (obj: Object) => ('web' in obj ? obj.web : obj.default)
};
module.exports = Platform;
+11 -13
View File
@@ -25,7 +25,8 @@ const pointerEvents = {
none: createClassName('pointerEvents', 'none')
};
const pointerEventsCss = `.${pointerEvents.auto}{pointer-events:auto;}\n` +
const pointerEventsCss =
`.${pointerEvents.auto}{pointer-events:auto;}\n` +
`.${pointerEvents.boxNone}{pointer-events:none;}\n` +
`.${pointerEvents.boxNone} *{pointer-events:auto;}\n` +
`.${pointerEvents.boxOnly}{pointer-events:auto;}\n` +
@@ -86,18 +87,15 @@ class StyleManager {
const cache = this.cache.byProp;
const mainSheetTextContext = Object.keys(cache)
.reduce(
(rules, prop) => {
if (prop !== 'pointerEvents') {
Object.keys(cache[prop]).forEach(value => {
const className = this.getClassName(prop, value);
rules.push(createCssRule(className, prop, value));
});
}
return rules;
},
[]
)
.reduce((rules, prop) => {
if (prop !== 'pointerEvents') {
Object.keys(cache[prop]).forEach(value => {
const className = this.getClassName(prop, value);
rules.push(createCssRule(className, prop, value));
});
}
return rules;
}, [])
.join('\n');
const staticSheet = `<style id="react-native-stylesheet-static">\n${staticCss}\n${pointerEventsCss}\n</style>`;
+17 -14
View File
@@ -120,22 +120,25 @@ class StyleRegistry {
_resolveStyle(reactNativeStyle) {
const domStyle = createReactDOMStyle(flattenStyle(reactNativeStyle));
const props = Object.keys(domStyle).reduce((props, styleProp) => {
const value = domStyle[styleProp];
if (value != null) {
const className = this.styleManager.getClassName(styleProp, value);
if (className) {
props.classList.push(className);
} else {
if (!props.style) {
props.style = {};
const props = Object.keys(domStyle).reduce(
(props, styleProp) => {
const value = domStyle[styleProp];
if (value != null) {
const className = this.styleManager.getClassName(styleProp, value);
if (className) {
props.classList.push(className);
} else {
if (!props.style) {
props.style = {};
}
// 4x slower render
props.style[styleProp] = value;
}
// 4x slower render
props.style[styleProp] = value;
}
}
return props;
}, { classList: [] });
return props;
},
{ classList: [] }
);
props.className = classListToString(props.classList);
if (props.style) {
+2 -1
View File
@@ -21,7 +21,8 @@ class StyleSheetValidation {
if (process.env.NODE_ENV !== 'production') {
if (allStylePropTypes[prop] === undefined) {
var message1 = '"' + prop + '" is not a valid style property.';
var message2 = '\nValid style props: ' +
var message2 =
'\nValid style props: ' +
JSON.stringify(Object.keys(allStylePropTypes).sort(), null, ' ');
styleError(message1, style, caller, message2);
} else {
+4 -2
View File
@@ -6,8 +6,10 @@ const isPlainObject = x => {
const toString = Object.prototype.toString;
let proto;
/* eslint-disable */
return toString.call(x) === '[object Object]' &&
(proto = Object.getPrototypeOf(x), proto === null || proto === Object.getPrototypeOf({}));
return (
toString.call(x) === '[object Object]' &&
((proto = Object.getPrototypeOf(x)), proto === null || proto === Object.getPrototypeOf({}))
);
/* eslint-enable */
};
+10 -9
View File
@@ -47,15 +47,16 @@ const colorProps = {
color: true
};
const alphaSortProps = propsArray => propsArray.sort((a, b) => {
if (a < b) {
return -1;
}
if (a > b) {
return 1;
}
return 0;
});
const alphaSortProps = propsArray =>
propsArray.sort((a, b) => {
if (a < b) {
return -1;
}
if (a > b) {
return 1;
}
return 0;
});
const createReducer = (style, styleProps) => {
let hasResolvedBoxShadow = false;
+10 -9
View File
@@ -16,16 +16,17 @@ function murmurhash2_32_gc(str, seed) {
var l = str.length, h = seed ^ l, i = 0, k;
while (l >= 4) {
k = str.charCodeAt(i) & 0xff |
(str.charCodeAt((++i)) & 0xff) << 8 |
(str.charCodeAt((++i)) & 0xff) << 16 |
(str.charCodeAt((++i)) & 0xff) << 24;
k =
(str.charCodeAt(i) & 0xff) |
((str.charCodeAt(++i) & 0xff) << 8) |
((str.charCodeAt(++i) & 0xff) << 16) |
((str.charCodeAt(++i) & 0xff) << 24);
k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);
k = (k & 0xffff) * 0x5bd1e995 + ((((k >>> 16) * 0x5bd1e995) & 0xffff) << 16);
k ^= k >>> 24;
k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);
k = (k & 0xffff) * 0x5bd1e995 + ((((k >>> 16) * 0x5bd1e995) & 0xffff) << 16);
h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;
h = ((h & 0xffff) * 0x5bd1e995 + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16)) ^ k;
l -= 4;
++i;
@@ -38,11 +39,11 @@ function murmurhash2_32_gc(str, seed) {
h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
case 1:
h ^= str.charCodeAt(i) & 0xff;
h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);
h = (h & 0xffff) * 0x5bd1e995 + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16);
}
h ^= h >>> 13;
h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);
h = (h & 0xffff) * 0x5bd1e995 + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16);
h ^= h >>> 15;
return h >>> 0;
+2 -1
View File
@@ -1,4 +1,5 @@
module.exports = 'html{' + // css reset
module.exports =
'html{' + // css reset
'font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;' +
'-webkit-tap-highlight-color:rgba(0,0,0,0);' +
'}\n' +
+1 -8
View File
@@ -24,14 +24,7 @@ class ActivityIndicator extends Component {
};
render() {
const {
animating,
color,
hidesWhenStopped,
size,
style,
...other
} = this.props;
const { animating, color, hidesWhenStopped, size, style, ...other } = this.props;
const svg = (
<svg height="100%" viewBox="0 0 32 32" width="100%">
+1 -8
View File
@@ -16,14 +16,7 @@ class Button extends Component {
};
render() {
const {
accessibilityLabel,
color,
disabled,
onPress,
testID,
title
} = this.props;
const { accessibilityLabel, color, disabled, onPress, testID, title } = this.props;
return (
<TouchableOpacity
+2 -2
View File
@@ -225,8 +225,8 @@ class Image extends Component {
_updateImageState(status) {
this._imageState = status;
const shouldDisplaySource = this._imageState === STATUS_LOADED ||
this._imageState === STATUS_LOADING;
const shouldDisplaySource =
this._imageState === STATUS_LOADED || this._imageState === STATUS_LOADING;
// only triggers a re-render when the image is loading (to support PJEG), loaded, or failed
if (shouldDisplaySource !== this.state.shouldDisplaySource) {
if (this._isMounted) {
@@ -357,7 +357,8 @@ class ListViewDataSource {
for (var rIndex = 0; rIndex < this.rowIdentities[sIndex].length; rIndex++) {
var rowID = this.rowIdentities[sIndex][rIndex];
// dirty if the section is new, row is new or _rowHasChanged is true
dirty = !prevSectionsHash[sectionID] ||
dirty =
!prevSectionsHash[sectionID] ||
!prevRowsHash[sectionID][rowID] ||
this._rowHasChanged(
this._getRowData(prevDataBlob, sectionID, rowID),
+14 -14
View File
@@ -174,7 +174,8 @@ class ListView extends Component {
}
if (renderSectionHeader) {
const shouldUpdateHeader = rowCount >= this._prevRenderedRowsCount &&
const shouldUpdateHeader =
rowCount >= this._prevRenderedRowsCount &&
dataSource.sectionHeaderShouldUpdate(sectionIdx);
children.push(
<StaticRenderer
@@ -186,14 +187,14 @@ class ListView extends Component {
shouldUpdate={!!shouldUpdateHeader}
/>
);
sectionHeaderIndices.push((totalIndex++));
sectionHeaderIndices.push(totalIndex++);
}
for (let rowIdx = 0; rowIdx < rowIDs.length; rowIdx++) {
const rowID = rowIDs[rowIdx];
const comboID = `${sectionID}_${rowID}`;
const shouldUpdateRow = rowCount >= this._prevRenderedRowsCount &&
dataSource.rowShouldUpdate(sectionIdx, rowIdx);
const shouldUpdateRow =
rowCount >= this._prevRenderedRowsCount && dataSource.rowShouldUpdate(sectionIdx, rowIdx);
const row = (
<StaticRenderer
key={`r_${comboID}`}
@@ -207,7 +208,8 @@ class ListView extends Component {
if (
renderSeparator && (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1)
) {
const adjacentRowHighlighted = this.state.highlightedRow.sectionID === sectionID &&
const adjacentRowHighlighted =
this.state.highlightedRow.sectionID === sectionID &&
(this.state.highlightedRow.rowID === rowID ||
this.state.highlightedRow.rowID === rowIDs[rowIdx + 1]);
const separator = renderSeparator(sectionID, rowID, adjacentRowHighlighted);
@@ -348,9 +350,9 @@ class ListView extends Component {
};
_getDistanceFromEnd(scrollProperties: Object) {
return scrollProperties.contentLength -
scrollProperties.visibleLength -
scrollProperties.offset;
return (
scrollProperties.contentLength - scrollProperties.visibleLength - scrollProperties.offset
);
}
_maybeCallOnEndReached(event?: Object) {
@@ -412,12 +414,10 @@ class ListView extends Component {
_onScroll = (e: Object) => {
const isVertical = !this.props.horizontal;
this.scrollProperties.visibleLength = e.nativeEvent.layoutMeasurement[
isVertical ? 'height' : 'width'
];
this.scrollProperties.contentLength = e.nativeEvent.contentSize[
isVertical ? 'height' : 'width'
];
this.scrollProperties.visibleLength =
e.nativeEvent.layoutMeasurement[isVertical ? 'height' : 'width'];
this.scrollProperties.contentLength =
e.nativeEvent.contentSize[isVertical ? 'height' : 'width'];
this.scrollProperties.offset = e.nativeEvent.contentOffset[isVertical ? 'y' : 'x'];
this._updateVisibleRows(e.nativeEvent.updatedChildFrames);
if (!this._maybeCallOnEndReached(e)) {
+1 -8
View File
@@ -33,14 +33,7 @@ class ProgressBar extends Component {
}
render() {
const {
color,
indeterminate,
progress,
trackColor,
style,
...other
} = this.props;
const { color, indeterminate, progress, trackColor, style, ...other } = this.props;
const percentageProgress = progress * 100;
+12 -12
View File
@@ -473,7 +473,8 @@ var TouchableMixin = {
}
}
var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft &&
var isTouchWithinActive =
pageX > positionOnActivate.left - pressExpandLeft &&
pageY > positionOnActivate.top - pressExpandTop &&
pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight &&
pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;
@@ -658,8 +659,9 @@ var TouchableMixin = {
},
_isHighlight: function(state) {
return state === States.RESPONDER_ACTIVE_PRESS_IN ||
state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;
return (
state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN
);
},
_savePressInLocation: function(e) {
@@ -692,8 +694,8 @@ var TouchableMixin = {
var curIsHighlight = this._isHighlight(curState);
var newIsHighlight = this._isHighlight(nextState);
var isFinalSignal = signal === Signals.RESPONDER_TERMINATED ||
signal === Signals.RESPONDER_RELEASE;
var isFinalSignal =
signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;
if (isFinalSignal) {
this._cancelLongPressDelayTimeout();
@@ -715,7 +717,8 @@ var TouchableMixin = {
if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
var hasLongPressHandler = !!this.props.onLongPress;
var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && // We *are* long pressing..
var pressIsLongButStillCallOnPress =
IsLongPressingIn[curState] && // We *are* long pressing..
(!hasLongPressHandler || // But either has no long handler
!this.touchableLongPressCancelsPress()); // or we're told to ignore it.
@@ -742,12 +745,9 @@ var TouchableMixin = {
_endHighlight: function(e) {
if (this.touchableHandleActivePressOut) {
if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {
this.pressOutDelayTimeout = setTimeout(
() => {
this.touchableHandleActivePressOut(e);
},
this.touchableGetPressOutDelayMS()
);
this.pressOutDelayTimeout = setTimeout(() => {
this.touchableHandleActivePressOut(e);
}, this.touchableGetPressOutDelayMS());
} else {
this.touchableHandleActivePressOut(e);
}
+3 -3
View File
@@ -14,7 +14,7 @@ const calculateHitSlopStyle = hitSlop => {
for (const prop in hitSlop) {
if (hitSlop.hasOwnProperty(prop)) {
const value = hitSlop[prop];
hitStyle[prop] = value > 0 ? (-1) * value : 0;
hitStyle[prop] = value > 0 ? -1 * value : 0;
}
}
return hitStyle;
@@ -38,8 +38,8 @@ class View extends Component {
};
getChildContext() {
const isInAButtonView = getAccessibilityRole(this.props) === 'button' ||
this.context.isInAButtonView;
const isInAButtonView =
getAccessibilityRole(this.props) === 'button' || this.context.isInAButtonView;
return isInAButtonView ? { isInAButtonView } : emptyObject;
}
+2 -1
View File
@@ -72,7 +72,8 @@ const NativeMethodsMixin = {
const classList = [...node.classList];
const domProps = createDOMProps(nativeProps, style =>
StyleRegistry.resolveStateful(style, classList));
StyleRegistry.resolveStateful(style, classList)
);
UIManager.updateView(node, domProps, this);
}
};
+2 -1
View File
@@ -347,7 +347,8 @@ var ScrollResponderMixin = {
scrollResponderIsAnimating: function(): boolean {
var now = Date.now();
var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime;
var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS ||
var isAnimating =
timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS ||
this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime;
return isAnimating;
},
+17 -23
View File
@@ -40,31 +40,25 @@ const applyLayout = Component => {
const componentDidUpdate = Component.prototype.componentDidUpdate;
const componentWillUnmount = Component.prototype.componentWillUnmount;
Component.prototype.componentDidMount = safeOverride(
componentDidMount,
function componentDidMount() {
this._layoutState = emptyObject;
this._isMounted = true;
this._onLayoutId = guid();
registry[this._onLayoutId] = this;
this._handleLayout();
}
);
Component.prototype
.componentDidMount = safeOverride(componentDidMount, function componentDidMount() {
this._layoutState = emptyObject;
this._isMounted = true;
this._onLayoutId = guid();
registry[this._onLayoutId] = this;
this._handleLayout();
});
Component.prototype.componentDidUpdate = safeOverride(
componentDidUpdate,
function componentDidUpdate() {
this._handleLayout();
}
);
Component.prototype
.componentDidUpdate = safeOverride(componentDidUpdate, function componentDidUpdate() {
this._handleLayout();
});
Component.prototype.componentWillUnmount = safeOverride(
componentWillUnmount,
function componentWillUnmount() {
this._isMounted = false;
delete registry[this._onLayoutId];
}
);
Component.prototype
.componentWillUnmount = safeOverride(componentWillUnmount, function componentWillUnmount() {
this._isMounted = false;
delete registry[this._onLayoutId];
});
Component.prototype._handleLayout = function() {
const layout = this._layoutState;
+2 -1
View File
@@ -33,7 +33,8 @@ const createDOMProps = (rnProps, resolveStyle) => {
accessibilityTraits,
/* eslint-enable */
...domProps
} = rnProps || emptyObject;
} =
rnProps || emptyObject;
const pointerEventStyle = pointerEvents && pointerEventStyles[pointerEvents];
const { className, style } = resolveStyle([rnStyle, pointerEventStyle]) || emptyObject;
+5 -7
View File
@@ -1,10 +1,8 @@
const getAccessibilityRole = (
{
accessibilityComponentType,
accessibilityRole,
accessibilityTraits
}
) => {
const getAccessibilityRole = ({
accessibilityComponentType,
accessibilityRole,
accessibilityTraits
}) => {
if (accessibilityRole) {
return accessibilityRole;
} else if (accessibilityComponentType === 'button' || accessibilityTraits === 'button') {
+7 -6
View File
@@ -27,7 +27,8 @@ const modality = () => {
let keyboardThrottleTimeoutID = 0;
const proto = window.Element.prototype;
const matches = proto.matches ||
const matches =
proto.matches ||
proto.mozMatchesSelector ||
proto.msMatchesSelector ||
proto.webkitMatchesSelector;
@@ -50,7 +51,7 @@ const modality = () => {
'input[type=datetime]',
'input[type=datetime-local]',
'textarea',
'[role=textbox]',
'[role=textbox]'
].join(',');
/**
@@ -66,7 +67,7 @@ const modality = () => {
document.head.insertAdjacentHTML('afterbegin', style);
styleElement = document.getElementById(id);
}
}
};
/**
* Computes whether the given element should automatically trigger the
@@ -87,7 +88,7 @@ const modality = () => {
if (styleElement) {
styleElement.disabled = true;
}
}
};
/**
* Remove the focus ring
@@ -104,7 +105,7 @@ const modality = () => {
* focus is redirected programmatically after a keyboard event, such as
* opening a menu or dialog.
*/
const handleKeyDown = (e) => {
const handleKeyDown = e => {
hadKeyboardEvent = true;
if (keyboardThrottleTimeoutID !== 0) {
clearTimeout(keyboardThrottleTimeoutID);
@@ -118,7 +119,7 @@ const modality = () => {
/**
* Display the focus-ring when the keyboard was used to focus
*/
const handleFocus = (e) => {
const handleFocus = e => {
if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {
addFocusRing();
}
+9 -12
View File
@@ -2,18 +2,15 @@
import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
const _requestIdleCallback = function(cb) {
return setTimeout(
() => {
const start = Date.now();
cb({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50 - (Date.now() - start));
}
});
},
1
);
return setTimeout(() => {
const start = Date.now();
cb({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50 - (Date.now() - start));
}
});
}, 1);
};
const _cancelIdleCallback = function(id) {
+87 -51
View File
@@ -133,7 +133,7 @@ acorn@^3.0.0, acorn@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
acorn@^4.0.1, acorn@^4.0.3:
acorn@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1"
@@ -141,6 +141,10 @@ acorn@^4.0.4:
version "4.0.11"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
acorn@^5.0.1:
version "5.0.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
airbnb-js-shims@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.0.1.tgz#7d5a7d772c8c6fdeb624ea3cef62506091b180b5"
@@ -319,17 +323,13 @@ assert@^1.1.1:
dependencies:
util "0.10.3"
ast-types@0.8.18:
version "0.8.18"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.18.tgz#c8b98574898e8914e9d8de74b947564a9fe929af"
ast-types@0.9.2:
version "0.9.2"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.2.tgz#2cc19979d15c655108bf565323b8e7ee38751f6b"
ast-types@0.9.4:
version "0.9.4"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.4.tgz#410d1f81890aeb8e0a38621558ba5869ae53c91b"
ast-types@0.9.8:
version "0.9.8"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.8.tgz#6cb6a40beba31f49f20928e28439fc14a3dab078"
async-each@^1.0.0:
version "1.0.1"
@@ -1154,14 +1154,18 @@ babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.23
lodash "^4.2.0"
to-fast-properties "^1.0.1"
babylon@6.15.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
babylon@7.0.0-beta.8:
version "7.0.0-beta.8"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.8.tgz#2bdc5ae366041442c27e068cce6f0d7c06ea9949"
babylon@^6.11.0, babylon@^6.13.0:
version "6.14.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815"
babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
babylon@~5.8.3:
version "5.8.38"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd"
@@ -1275,7 +1279,7 @@ bser@^2.0.0:
dependencies:
node-int64 "^0.4.0"
buffer-shims@^1.0.0:
buffer-shims@^1.0.0, buffer-shims@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
@@ -1507,7 +1511,7 @@ colormin@^1.0.5:
css-color-names "0.0.4"
has "^1.0.1"
colors@>=0.6.2, colors@~1.1.2:
colors@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
@@ -1537,13 +1541,13 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
concat-stream@^1.4.6:
version "1.5.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
concat-stream@^1.5.2:
version "1.6.0"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
dependencies:
inherits "~2.0.1"
readable-stream "~2.0.0"
typedarray "~0.0.5"
inherits "^2.0.3"
readable-stream "^2.2.2"
typedarray "^0.0.6"
configstore@^2.0.0:
version "2.1.0"
@@ -1894,6 +1898,13 @@ doctrine@^1.2.0, doctrine@^1.2.2:
esutils "^2.0.2"
isarray "^1.0.0"
doctrine@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
dependencies:
esutils "^2.0.2"
isarray "^1.0.0"
dom-serializer@0, dom-serializer@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
@@ -2147,22 +2158,23 @@ eslint-plugin-react@^6.1.2:
doctrine "^1.2.2"
jsx-ast-utils "^1.3.3"
eslint@^3.4.0:
version "3.10.2"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.10.2.tgz#c9a10e8bf6e9d65651204778c503341f1eac3ce7"
eslint@^3.19.0:
version "3.19.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
concat-stream "^1.4.6"
concat-stream "^1.5.2"
debug "^2.1.1"
doctrine "^1.2.2"
doctrine "^2.0.0"
escope "^3.6.0"
espree "^3.3.1"
espree "^3.4.0"
esquery "^1.0.0"
estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
glob "^7.0.3"
globals "^9.2.0"
globals "^9.14.0"
ignore "^3.2.0"
imurmurhash "^0.1.4"
inquirer "^0.12.0"
@@ -2181,16 +2193,16 @@ eslint@^3.4.0:
require-uncached "^1.0.2"
shelljs "^0.7.5"
strip-bom "^3.0.0"
strip-json-comments "~1.0.1"
strip-json-comments "~2.0.1"
table "^3.7.8"
text-table "~0.2.0"
user-home "^2.0.0"
espree@^3.3.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c"
espree@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.1.tgz#28a83ab4aaed71ed8fe0f5efe61b76a05c13c4d2"
dependencies:
acorn "^4.0.1"
acorn "^5.0.1"
acorn-jsx "^3.0.0"
esprima@^2.6.0, esprima@^2.7.1:
@@ -2201,6 +2213,12 @@ esprima@~3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.1.tgz#02dbcc5ac3ece81070377f99158ec742ab5dda06"
esquery@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
dependencies:
estraverse "^4.0.0"
esrecurse@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
@@ -2212,7 +2230,7 @@ estraverse@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
estraverse@^4.1.1, estraverse@^4.2.0:
estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -2447,13 +2465,9 @@ flatten@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
flow-parser@0.38.0:
version "0.38.0"
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.38.0.tgz#a631c46170c5b42400d905a75cfc83ce8db29424"
dependencies:
ast-types "0.8.18"
colors ">=0.6.2"
minimist ">=0.2.0"
flow-parser@0.43.0:
version "0.43.0"
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.43.0.tgz#e2b8eb1ac83dd53f7b6b04a7c35b6a52c33479b7"
for-in@^0.1.5:
version "0.1.6"
@@ -2614,7 +2628,7 @@ global@^4.3.0:
min-document "^2.19.0"
process "~0.5.1"
globals@^9.0.0, globals@^9.2.0:
globals@^9.0.0, globals@^9.14.0:
version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
@@ -2847,7 +2861,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -3878,7 +3892,7 @@ minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
minimist@1.2.0, minimist@>=0.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -4616,16 +4630,16 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
prettier@^0.19.0:
version "0.19.0"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-0.19.0.tgz#8b473989a51c76649ea1e2eb7ea3f055cc4b8422"
prettier@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.0.2.tgz#84535548fca00cf0acd7ca8296d492352ef167d7"
dependencies:
ast-types "0.9.4"
ast-types "0.9.8"
babel-code-frame "6.22.0"
babylon "6.15.0"
babylon "7.0.0-beta.8"
chalk "1.1.3"
esutils "2.0.2"
flow-parser "0.38.0"
flow-parser "0.43.0"
get-stdin "5.0.1"
glob "7.1.1"
jest-validate "19.0.0"
@@ -4896,7 +4910,7 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.0.0:
readable-stream@^2.0.1, readable-stream@^2.0.2:
version "2.0.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
dependencies:
@@ -4907,6 +4921,18 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.0.0:
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
readable-stream@^2.2.2:
version "2.2.9"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
dependencies:
buffer-shims "~1.0.0"
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "~1.0.0"
process-nextick-args "~1.0.6"
string_decoder "~1.0.0"
util-deprecate "~1.0.1"
readdirp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
@@ -5374,6 +5400,12 @@ string_decoder@~0.10.25, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
string_decoder@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
dependencies:
buffer-shims "~1.0.0"
stringstream@~0.0.4:
version "0.0.5"
resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
@@ -5404,10 +5436,14 @@ strip-indent@^1.0.1:
dependencies:
get-stdin "^4.0.1"
strip-json-comments@~1.0.1, strip-json-comments@~1.0.4:
strip-json-comments@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
style-loader@0.13.1:
version "0.13.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.1.tgz#468280efbc0473023cd3a6cd56e33b5a1d7fc3a9"
@@ -5567,7 +5603,7 @@ type-is@~1.6.13:
media-typer "0.3.0"
mime-types "~2.1.13"
typedarray@~0.0.5:
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"