{
	"name": "react-loadable",
	"versions": {
		"1.0.0": {
			"name": "react-loadable",
			"version": "1.0.0",
			"description": "A higher order component for loading components with promises",
			"main": "index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "a0fd0350fb6fb80bcd6ced97ed89f5479e50d448",
			"_id": "react-loadable@1.0.0",
			"_shasum": "0af839cac8c0bc951edc1b1aa4d9dbc91c3cc255",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.6.0",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "0af839cac8c0bc951edc1b1aa4d9dbc91c3cc255",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-1.0.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/react-loadable-1.0.0.tgz_1489084934016_0.8824057180900127"
			},
			"directories": {},
			"contributors": []
		},
		"2.0.0": {
			"name": "react-loadable",
			"version": "2.0.0",
			"description": "A higher order component for loading components with promises",
			"main": "index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "d4caaa1a12fc902974c18fa873f9a75f56fc730b",
			"_id": "react-loadable@2.0.0",
			"_shasum": "364922761141d33a2b14aaaae3c6c972bdbe257d",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "364922761141d33a2b14aaaae3c6c972bdbe257d",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/react-loadable-2.0.0.tgz_1489271371570_0.1175700444728136"
			},
			"directories": {},
			"contributors": []
		},
		"2.0.1": {
			"name": "react-loadable",
			"version": "2.0.1",
			"description": "A higher order component for loading components with promises",
			"main": "index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "db04079312dcf5c82962d5659022c90184914595",
			"_id": "react-loadable@2.0.1",
			"_shasum": "b08a337578fc94e0e1a197cd6d7fe3392f94304b",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "b08a337578fc94e0e1a197cd6d7fe3392f94304b",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.1.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-2.0.1.tgz_1489289071619_0.34160143742337823"
			},
			"directories": {},
			"contributors": []
		},
		"2.0.2": {
			"name": "react-loadable",
			"version": "2.0.2",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "8765a43bbd12977f4882c8d4d7a6b6016ae8c795",
			"_id": "react-loadable@2.0.2",
			"_shasum": "e669608e261d8a16fe4b027617900b5d562f8745",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "e669608e261d8a16fe4b027617900b5d562f8745",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.2.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-2.0.2.tgz_1489304366244_0.04852937604300678"
			},
			"directories": {},
			"contributors": []
		},
		"2.0.3": {
			"name": "react-loadable",
			"version": "2.0.3",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "e03c64f841f96733c38f3eb7c44fdd9e8807b47c",
			"_id": "react-loadable@2.0.3",
			"_shasum": "eb58786db42364252e8279b2b83963b331c3a0d8",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "eb58786db42364252e8279b2b83963b331c3a0d8",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.3.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-2.0.3.tgz_1489317394107_0.33072213525883853"
			},
			"directories": {},
			"contributors": []
		},
		"3.0.0": {
			"name": "react-loadable",
			"version": "3.0.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "c54b76289d55eb6b11486472fd7f057b74c250c2",
			"_id": "react-loadable@3.0.0",
			"_shasum": "9bbadc4fa47cb85a6ac314d3bf9a5b52f8a20ff3",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "9bbadc4fa47cb85a6ac314d3bf9a5b52f8a20ff3",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.0.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.0.0.tgz_1489448540284_0.6860539068002254"
			},
			"directories": {},
			"contributors": []
		},
		"3.0.1": {
			"name": "react-loadable",
			"version": "3.0.1",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "419181899b38b2c62726bbaf7d097a1c2b48ac5c",
			"_id": "react-loadable@3.0.1",
			"_shasum": "d285d0f32680fef3cf7c1fd8853206415f824ad8",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "d285d0f32680fef3cf7c1fd8853206415f824ad8",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.0.1.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.0.1.tgz_1489687817551_0.5215434366837144"
			},
			"directories": {},
			"contributors": []
		},
		"3.1.0": {
			"name": "react-loadable",
			"version": "3.1.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "d22b0a7d4d19dd7bc88fb111017ef7ad627ab799",
			"_id": "react-loadable@3.1.0",
			"_shasum": "2643e79bc335cca68e054eb74c6e9f2f7c7aa442",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "2643e79bc335cca68e054eb74c6e9f2f7c7aa442",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.1.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.1.0.tgz_1490822473909_0.14590698713436723"
			},
			"directories": {},
			"contributors": []
		},
		"3.2.0": {
			"name": "react-loadable",
			"version": "3.2.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"babel-plugin-syntax-dynamic-import": "^6.18.0"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-core": "^6.24.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "3249e42fc3a23bda9f87982785f5a33a620f5f1a",
			"_id": "react-loadable@3.2.0",
			"_shasum": "aa115ece7337f34b133a720e34a8088b9c49014a",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "aa115ece7337f34b133a720e34a8088b9c49014a",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.2.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.2.0.tgz_1491184849008_0.9831188621465117"
			},
			"directories": {},
			"contributors": []
		},
		"3.2.1": {
			"name": "react-loadable",
			"version": "3.2.1",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"babel-plugin-syntax-dynamic-import": "^6.18.0"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-core": "^6.24.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "6f9e134f5dddcc66753f5f018cb014835701ca72",
			"_id": "react-loadable@3.2.1",
			"_shasum": "a09dc7bc2684683c55ec4742d8897124b8c9ce23",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "a09dc7bc2684683c55ec4742d8897124b8c9ce23",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.2.1.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.2.1.tgz_1491185184731_0.8998411763459444"
			},
			"directories": {},
			"contributors": []
		},
		"3.2.2": {
			"name": "react-loadable",
			"version": "3.2.2",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"babel-plugin-syntax-dynamic-import": "^6.18.0"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-core": "^6.24.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "0f381d8e45b863d9e3093935e470e23fe76caf49",
			"_id": "react-loadable@3.2.2",
			"_shasum": "59c1b6d20abbefda9f57cf42d2e275cfdaf394df",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "59c1b6d20abbefda9f57cf42d2e275cfdaf394df",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.2.2.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.2.2.tgz_1491185362735_0.6321099309716374"
			},
			"directories": {},
			"contributors": []
		},
		"3.3.0": {
			"name": "react-loadable",
			"version": "3.3.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"babel-plugin-syntax-dynamic-import": "^6.18.0"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-core": "^6.24.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "73c3318e1f4c81287e3da3b08e131a2372002233",
			"_id": "react-loadable@3.3.0",
			"_shasum": "cabbea4cb8a6ce172c893b14136b4d7d16cbf1e3",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "cabbea4cb8a6ce172c893b14136b4d7d16cbf1e3",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.3.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.3.0.tgz_1492386691584_0.2726696047466248"
			},
			"directories": {},
			"contributors": []
		},
		"3.3.1": {
			"name": "react-loadable",
			"version": "3.3.1",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"scripts": {
				"precommit": "lint-staged --verbose",
				"format": "prettier --write '{src,__tests__}/**/*.js'",
				"flow": "flow",
				"test": "jest",
				"build": "babel src/ -d lib/",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"babel-plugin-syntax-dynamic-import": "^6.18.0"
			},
			"devDependencies": {
				"babel-cli": "^6.23.0",
				"babel-core": "^6.24.0",
				"babel-preset-es2015": "^6.22.0",
				"babel-preset-es2016": "^6.22.0",
				"babel-preset-react": "^6.23.0",
				"babel-preset-stage-2": "^6.22.0",
				"flow-bin": "^0.41.0",
				"husky": "^0.13.2",
				"jest": "^19.0.2",
				"lint-staged": "^3.3.1",
				"prettier": "^0.22.0",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"lint-staged": {
				"*.js": [
					"prettier --write",
					"git add"
				]
			},
			"gitHead": "17706b5b180d45716da014d973ff77e11aaf0ead",
			"_id": "react-loadable@3.3.1",
			"_shasum": "91310f1c2adcc73ce944380ee9529f5d33e100d3",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.2",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "91310f1c2adcc73ce944380ee9529f5d33e100d3",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.3.1.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-18-east.internal.npmjs.com",
				"tmp": "tmp/react-loadable-3.3.1.tgz_1492461401251_0.41211314778774977"
			},
			"directories": {},
			"contributors": []
		},
		"4.0.0": {
			"name": "react-loadable",
			"version": "4.0.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [],
			"scripts": {
				"test": "jest",
				"build": "babel src -d lib",
				"prepublish": "yarn run -s build"
			},
			"dependencies": {
				"import-inspector": "^2.0.0",
				"is-webpack-bundle": "^1.0.0",
				"webpack-require-weak": "^1.0.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "2d7c4f551bddb6ffdb7119195d0f1eea64e36eb1",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@4.0.0",
			"_shasum": "8b101bb20947c11de2de2f3edc7ff15627e9ac76",
			"_from": ".",
			"_npmVersion": "4.2.0",
			"_nodeVersion": "8.0.0",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "8b101bb20947c11de2de2f3edc7ff15627e9ac76",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.0.tgz"
			},
			"maintainers": [
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-4.0.0.tgz_1497567505931_0.020664277719333768"
			},
			"directories": {},
			"contributors": []
		},
		"4.0.1": {
			"name": "react-loadable",
			"version": "4.0.1",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest",
				"build": "babel src -d lib",
				"prepublish": "yarn run -s build"
			},
			"dependencies": {
				"import-inspector": "^2.0.0",
				"is-webpack-bundle": "^1.0.0",
				"webpack-require-weak": "^1.0.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "75bcc0f32e9247b7b9ecf502abbbc2f1e3e1e489",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@4.0.1",
			"_shasum": "fc68b2fea88882bbda380d83a26e19a027e3899a",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.3",
			"_npmUser": {
				"name": "miksu",
				"email": "vojtech@miksu.cz"
			},
			"dist": {
				"shasum": "fc68b2fea88882bbda380d83a26e19a027e3899a",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.1.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-4.0.1.tgz_1497575469126_0.33176832366734743"
			},
			"directories": {},
			"contributors": []
		},
		"4.0.2": {
			"name": "react-loadable",
			"version": "4.0.2",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest",
				"build": "babel src -d lib",
				"prepublish": "yarn run -s build"
			},
			"dependencies": {
				"import-inspector": "^2.0.0",
				"is-webpack-bundle": "^1.0.0",
				"webpack-require-weak": "^1.0.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "f02c1bb14afdec9dda081d4e45c12edf10e5fa83",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@4.0.2",
			"_shasum": "e923a9b0d3a34d39a37311fbd365652a3c87e698",
			"_from": ".",
			"_npmVersion": "4.2.0",
			"_nodeVersion": "8.0.0",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "e923a9b0d3a34d39a37311fbd365652a3c87e698",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.2.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-4.0.2.tgz_1497808998749_0.19524521217681468"
			},
			"directories": {},
			"contributors": []
		},
		"4.0.3": {
			"name": "react-loadable",
			"version": "4.0.3",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest",
				"build": "babel src -d lib",
				"prepublish": "yarn run -s build"
			},
			"dependencies": {
				"import-inspector": "^2.0.0",
				"is-webpack-bundle": "^1.0.0",
				"webpack-require-weak": "^1.0.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "352ee7b4529f6e32c9f7c18471fcd65ac1d14b64",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@4.0.3",
			"_shasum": "296c5cdfba3d402d66d2120d52fc08c2ca1f3088",
			"_from": ".",
			"_npmVersion": "4.2.0",
			"_nodeVersion": "8.0.0",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "296c5cdfba3d402d66d2120d52fc08c2ca1f3088",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.3.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-4.0.3.tgz_1497942481327_0.11799231846816838"
			},
			"directories": {},
			"contributors": []
		},
		"4.0.4": {
			"name": "react-loadable",
			"version": "4.0.4",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest",
				"build": "babel src -d lib",
				"prepublish": "yarn run -s build"
			},
			"dependencies": {
				"import-inspector": "^2.0.0",
				"is-webpack-bundle": "^1.0.0",
				"webpack-require-weak": "^1.0.1"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "fededa7274e9b80329c1547937ea72f6629704f5",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@4.0.4",
			"_shasum": "ae96837729eeb7fd0d3bb1dc01dc0053ac147874",
			"_from": ".",
			"_npmVersion": "4.2.0",
			"_nodeVersion": "7.10.1",
			"_npmUser": {
				"name": "miksu",
				"email": "vojtech@miksu.cz"
			},
			"dist": {
				"shasum": "ae96837729eeb7fd0d3bb1dc01dc0053ac147874",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.4.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-4.0.4.tgz_1501603710158_0.5337731312029064"
			},
			"directories": {},
			"contributors": []
		},
		"4.0.5": {
			"name": "react-loadable",
			"version": "4.0.5",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest",
				"build": "babel src -d lib",
				"prepublish": "yarn run -s build"
			},
			"dependencies": {
				"import-inspector": "^2.0.0",
				"is-webpack-bundle": "^1.0.0",
				"webpack-require-weak": "^1.0.1"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^15.4.2",
				"react-test-renderer": "^15.4.2"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "4be1b7b03d27a1fa9b2e02814a2d8c905668bede",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@4.0.5",
			"_shasum": "225eba40a0e67cc5698bcb5db6e783f0d3a9e729",
			"_from": ".",
			"_npmVersion": "4.1.2",
			"_nodeVersion": "7.7.3",
			"_npmUser": {
				"name": "miksu",
				"email": "vojtech@miksu.cz"
			},
			"dist": {
				"shasum": "225eba40a0e67cc5698bcb5db6e783f0d3a9e729",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.5.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-4.0.5.tgz_1503941812475_0.7808888538274914"
			},
			"directories": {},
			"contributors": []
		},
		"5.0.0": {
			"name": "react-loadable",
			"version": "5.0.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "babel-node example/server.js",
				"prepublish": "yarn run -s build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "f840b56d308230130d0b2b3d1391b52bbcb60126",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.0.0",
			"_npmVersion": "5.3.0",
			"_nodeVersion": "8.5.0",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"integrity": "sha512-BXxSfVtSDTPaOUYMyuSyKAN2ujwpr86V7CXrcnErTDsCCyqtWseIYZJb/1dMvmso8iA5UKb1USg1LxWHZGTZgw==",
				"shasum": "b99df8afd646069022fb3f5fc22402c0f47c317f",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.0.0.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.0.0.tgz_1507273475778_0.1907632772345096"
			},
			"directories": {},
			"contributors": []
		},
		"5.1.0": {
			"name": "react-loadable",
			"version": "5.1.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "babel-node example/server.js",
				"prepublish": "yarn run -s build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "09474a26b9ffa466444d377971922dba5c0180e4",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.1.0",
			"_shasum": "91c5f8015982bca42bf79b8e61c7b78014792324",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "91c5f8015982bca42bf79b8e61c7b78014792324",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.1.0.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.1.0.tgz_1507520123324_0.5045660317409784"
			},
			"directories": {},
			"contributors": []
		},
		"5.2.0": {
			"name": "react-loadable",
			"version": "5.2.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*",
				"prop-types": "*"
			},
			"gitHead": "aead14123fafa275d89d4c31170e317b06cafbd5",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.2.0",
			"_shasum": "36d25865a09c62364cc37f72d51804a4635838fd",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "36d25865a09c62364cc37f72d51804a4635838fd",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.0.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.2.0.tgz_1507812793996_0.7605456882156432"
			},
			"directories": {},
			"contributors": []
		},
		"5.2.1": {
			"name": "react-loadable",
			"version": "5.2.1",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*",
				"prop-types": "*"
			},
			"gitHead": "c05ddc39ec22a6a17cbd73ef6b2457c4851da07d",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.2.1",
			"_shasum": "bb06abdb84bad7fca46d889ef7747f7261c45496",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "bb06abdb84bad7fca46d889ef7747f7261c45496",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.1.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.2.1.tgz_1507813678322_0.3085473144892603"
			},
			"directories": {},
			"contributors": []
		},
		"5.2.2": {
			"name": "react-loadable",
			"version": "5.2.2",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*",
				"prop-types": "*"
			},
			"gitHead": "2d43c7e0e788c0e25f37690089b945b294420609",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.2.2",
			"_shasum": "1a5ad75841cacb64be12b18a86ac0bc55ccb4dc7",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "1a5ad75841cacb64be12b18a86ac0bc55ccb4dc7",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.2.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.2.2.tgz_1507814379006_0.9068138340953737"
			},
			"directories": {},
			"contributors": []
		},
		"5.2.3": {
			"name": "react-loadable",
			"version": "5.2.3",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*",
				"prop-types": "*"
			},
			"gitHead": "f449b3ffec8e80e0e6875a51e7f7610ac846143b",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.2.3",
			"_shasum": "161ac9b9a312b840d57a8b33529005b0e537dc4f",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "161ac9b9a312b840d57a8b33529005b0e537dc4f",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.3.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.2.3.tgz_1508212660887_0.7530827240552753"
			},
			"directories": {},
			"contributors": []
		},
		"5.2.4": {
			"name": "react-loadable",
			"version": "5.2.4",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*",
				"prop-types": "*"
			},
			"gitHead": "311fef2fe447cfd377dc32a7aae9b115a9d86369",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.2.4",
			"_shasum": "e2ed2228ea5d3ad3bad51c1e1632a2f0864cdcae",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "e2ed2228ea5d3ad3bad51c1e1632a2f0864cdcae",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.4.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.2.4.tgz_1508212725845_0.2066731855738908"
			},
			"directories": {},
			"contributors": []
		},
		"5.3.0": {
			"name": "react-loadable",
			"version": "5.3.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*",
				"prop-types": "*"
			},
			"gitHead": "eae0085b69783d0a16ab91ba88f836a84e80a21d",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.3.0",
			"_shasum": "ee082ea7c40f0de4cfab5895cbf3c1594efee4e2",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "ee082ea7c40f0de4cfab5895cbf3c1594efee4e2",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.3.0.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.3.0.tgz_1508374421460_0.667228756705299"
			},
			"directories": {},
			"contributors": []
		},
		"5.3.1": {
			"name": "react-loadable",
			"version": "5.3.1",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"prop-types": "^15.5.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^19.0.2",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "9147ec2db9bdf21f1035de8a8c58e444d9087429",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.3.1",
			"_shasum": "9699e9a08fed49bacd69caaa282034b62a76bcdd",
			"_from": ".",
			"_npmVersion": "3.10.8",
			"_nodeVersion": "6.9.1",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"shasum": "9699e9a08fed49bacd69caaa282034b62a76bcdd",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.3.1.tgz"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable-5.3.1.tgz_1508629329855_0.48159422795288265"
			},
			"directories": {},
			"contributors": []
		},
		"5.4.0": {
			"name": "react-loadable",
			"version": "5.4.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"prop-types": "^15.5.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-plugin-transform-object-assign": "^6.22.0",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^21.2.1",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "2adfd296a9f1c32d35dd1f03ed7eb00080e747d6",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.4.0",
			"_npmVersion": "5.6.0",
			"_nodeVersion": "8.9.4",
			"_npmUser": {
				"name": "thejameskyle",
				"email": "me@thejameskyle.com"
			},
			"dist": {
				"integrity": "sha512-HAFWL3aLB9dQA6OfGr7ACDNn/mv8jPUmBvXqrhJZfZgRhZysyNW8RupvGUbeGkTO+9frH1LTdJmKWphZENhlJg==",
				"shasum": "3b6b7d51121a7868fd155be848a36e02084742c9",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.4.0.tgz",
				"fileCount": 8,
				"unpackedSize": 46793,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6f/BCRA9TVsSAnZWagAApaoP/3icBUVKFfa2UrtXjgR6\nmnt6lo08tzg1DZLLgGkHZsO/6y+MRN+bVquL7mCxgBaM1Mp77tRaH6cPp+rC\n7ERNicuqQeRjSP1bFA4XFbLcfAuYjYg7eKH+bpybdwbLsyg+Pay8/ki4Ecg0\npvJ6QWVV2l3ZW2yZHswA4g2v5gBHTuNpAF9/favRglszdp+yNQY+T87mA1WE\nr4iVDC8UFoxJig04mydOWWIzTiB6Nfw02UfqaL918RWKWgbNaALAeoN8Tpgt\n3bjGIQCb3ROwfr3G/6MTQMAJ+/10SNoif9B4OTLjE9yl0nSJpJY1klefhas/\n6b/kx3ohUIcHYoFqCcl24L98+u/Pct4UyiOoBQihCjmAtHzG4iaoXy69PVFX\nfqKzLpMV45jmgu1nF2FbPk+R7Sbs6qgwZGQ30Qj8ztd4FIykzNvF/Q8ihwqH\nHKKJKHcX9/efaQVqTl3IUpYjyJXPuiJfWKFMorASsdXhdQJYoafXpCzBSJK0\nWRxyr7EaZ1Ame94Znyb8Q2Y3lyuVdzQDr7vfZ5HifqMgPrBEiMRQ4+iblokf\nFA4fIJZE1Aj7RAgwGvds5VOIdRIdlnABI4z4CfyATcSwKHXJO/lzBUm+REmR\nBokS2BQs4lT6CobnyYDYOGPlsyg88iyrRGCKB5ZlIAf1vTUU4AGhM6Qucho9\nQC6N\r\n=nkHi\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable_5.4.0_1525284798388_0.6974707812634826"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		},
		"5.5.0": {
			"name": "react-loadable",
			"version": "5.5.0",
			"description": "A higher order component for loading components with promises",
			"main": "lib/index.js",
			"author": {
				"name": "James Kyle",
				"email": "me@thejameskyle.com"
			},
			"license": "MIT",
			"repository": {
				"type": "git",
				"url": "git+https://github.com/thejameskyle/react-loadable.git"
			},
			"files": [
				"babel.js",
				"webpack.js",
				"lib/**"
			],
			"scripts": {
				"test": "jest --coverage",
				"build": "babel src -d lib",
				"start": "yarn build && webpack && babel-node example/server.js",
				"prepublish": "yarn build"
			},
			"dependencies": {
				"prop-types": "^15.5.0"
			},
			"devDependencies": {
				"babel-cli": "^6.24.1",
				"babel-loader": "^7.1.2",
				"babel-plugin-dynamic-import-node": "^1.1.0",
				"babel-plugin-module-resolver": "^2.7.1",
				"babel-plugin-transform-async-to-generator": "^6.24.1",
				"babel-plugin-transform-class-properties": "^6.24.1",
				"babel-plugin-transform-object-assign": "^6.22.0",
				"babel-preset-es2015": "^6.24.1",
				"babel-preset-react": "^6.24.1",
				"express": "^4.16.1",
				"flow-bin": "^0.41.0",
				"jest": "^21.2.1",
				"react": "^16.0.0",
				"react-dom": "^16.0.0",
				"react-test-renderer": "^16.0.0",
				"webpack": "^3.6.0"
			},
			"peerDependencies": {
				"react": "*"
			},
			"gitHead": "2cad6a6be55c94ab2b393b75dcf20c6a4b570479",
			"bugs": {
				"url": "https://github.com/thejameskyle/react-loadable/issues"
			},
			"homepage": "https://github.com/thejameskyle/react-loadable#readme",
			"_id": "react-loadable@5.5.0",
			"_npmVersion": "5.5.1",
			"_nodeVersion": "8.9.0",
			"_npmUser": {
				"name": "miksu",
				"email": "vojtech@miksu.cz"
			},
			"dist": {
				"integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==",
				"shasum": "582251679d3da86c32aae2c8e689c59f1196d8c4",
				"tarball": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz",
				"fileCount": 8,
				"unpackedSize": 47494,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbE51CRA9TVsSAnZWagAA004P/1b0gBCM6znHOjkQPwrI\nn+h6JvdHXvb9ZE2PVi7FJgEFrlVg2Tt7a/aLxF4aKNkQIOeqhda0WvKyQL6V\nQkHBEfO01AFl/7WNQu3xoah/4F2WkhSoTUUuiIjySgqYt+dU7W8S4JwpI8M7\nMYJKyKwDLXeUtzUGzb7h6XhBFyX2OFqxBD0uB4QGpwTmAu1n0tpMwcjyRnTY\njkEaT2IcnRo3pUR4Q3fuQJrhOXKzV91pdfiiYUyHJpAUTow2ddnxa6DlzgKJ\no6FSQc0vRZQbPzF0Mi8B6y/zzp/cLZD97E8ZdFtciFsjcXedtmAxeR/Z8Sma\ninYY3DX+j/4/lk9QFUtWyBKw9obnfi35WAEqwvPrly4AvU8afibZcFyz3CP7\ntxUmWsoTZzZn4ak206jePkxQpdrp4druKEl6VEQBjHdGmETMJlhdaGGIIdo8\n6egADAGsLhKp/ZLQQ49VXNNI9EANSmU+vSUntHG/TGQU9cFEkX5OUIXQJt9d\npc/f2jm4QablOFKk34T02dADelToIWf2z2ImVacLlR6kiLux855xYtzoMaRG\nAscFBpTF49XscVB5ZiXaLd4l2tILKC6Esj/JhC0dD+QgSylLr+T6IoVk+Mea\n1XmdeqmaYOS2TiHrBcRjY6aMJ6FCR7jIlvvRIbIfCkZJyYL+HaUNwuC+XTKT\nP05H\r\n=55le\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"name": "miksu",
					"email": "vojtech@miksu.cz"
				},
				{
					"name": "thejameskyle",
					"email": "me@thejameskyle.com"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/react-loadable_5.5.0_1533824628720_0.15430436556692606"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		}
	},
	"time": {
		"modified": "2019-06-25T08:20:42.385Z",
		"created": "2017-03-09T18:42:14.285Z",
		"1.0.0": "2017-03-09T18:42:14.285Z",
		"2.0.0": "2017-03-11T22:29:31.789Z",
		"2.0.1": "2017-03-12T03:24:33.522Z",
		"2.0.2": "2017-03-12T07:39:28.237Z",
		"2.0.3": "2017-03-12T11:16:36.166Z",
		"3.0.0": "2017-03-13T23:42:22.589Z",
		"3.0.1": "2017-03-16T18:10:17.801Z",
		"3.1.0": "2017-03-29T21:21:14.206Z",
		"3.2.0": "2017-04-03T02:00:50.835Z",
		"3.2.1": "2017-04-03T02:06:26.487Z",
		"3.2.2": "2017-04-03T02:09:23.008Z",
		"3.3.0": "2017-04-16T23:51:33.462Z",
		"3.3.1": "2017-04-17T20:36:43.318Z",
		"4.0.0": "2017-06-15T22:58:26.003Z",
		"4.0.1": "2017-06-16T01:11:09.261Z",
		"4.0.2": "2017-06-18T18:03:18.834Z",
		"4.0.3": "2017-06-20T07:08:01.487Z",
		"4.0.4": "2017-08-01T16:08:30.223Z",
		"4.0.5": "2017-08-28T17:36:52.563Z",
		"5.0.0": "2017-10-06T07:04:35.868Z",
		"5.1.0": "2017-10-09T03:35:23.395Z",
		"5.2.0": "2017-10-12T12:53:14.179Z",
		"5.2.1": "2017-10-12T13:07:58.594Z",
		"5.2.2": "2017-10-12T13:19:39.190Z",
		"5.2.3": "2017-10-17T03:57:40.954Z",
		"5.2.4": "2017-10-17T03:58:45.917Z",
		"5.3.0": "2017-10-19T00:53:41.685Z",
		"5.3.1": "2017-10-21T23:42:09.965Z",
		"5.4.0": "2018-05-02T18:13:18.505Z",
		"5.5.0": "2018-08-09T14:23:48.875Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "5.5.0"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"1c076d28933af8799bb80f5ed69f76d0\"",
			"fetched": 1600679286639
		}
	},
	"_distfiles": {
		"react-loadable-1.0.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-1.0.0.tgz",
			"sha": "0af839cac8c0bc951edc1b1aa4d9dbc91c3cc255",
			"registry": "npmjs"
		},
		"react-loadable-2.0.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.0.tgz",
			"sha": "364922761141d33a2b14aaaae3c6c972bdbe257d",
			"registry": "npmjs"
		},
		"react-loadable-2.0.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.1.tgz",
			"sha": "b08a337578fc94e0e1a197cd6d7fe3392f94304b",
			"registry": "npmjs"
		},
		"react-loadable-2.0.2.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.2.tgz",
			"sha": "e669608e261d8a16fe4b027617900b5d562f8745",
			"registry": "npmjs"
		},
		"react-loadable-2.0.3.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-2.0.3.tgz",
			"sha": "eb58786db42364252e8279b2b83963b331c3a0d8",
			"registry": "npmjs"
		},
		"react-loadable-3.0.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.0.0.tgz",
			"sha": "9bbadc4fa47cb85a6ac314d3bf9a5b52f8a20ff3",
			"registry": "npmjs"
		},
		"react-loadable-3.0.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.0.1.tgz",
			"sha": "d285d0f32680fef3cf7c1fd8853206415f824ad8",
			"registry": "npmjs"
		},
		"react-loadable-3.1.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.1.0.tgz",
			"sha": "2643e79bc335cca68e054eb74c6e9f2f7c7aa442",
			"registry": "npmjs"
		},
		"react-loadable-3.2.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.2.0.tgz",
			"sha": "aa115ece7337f34b133a720e34a8088b9c49014a",
			"registry": "npmjs"
		},
		"react-loadable-3.2.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.2.1.tgz",
			"sha": "a09dc7bc2684683c55ec4742d8897124b8c9ce23",
			"registry": "npmjs"
		},
		"react-loadable-3.2.2.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.2.2.tgz",
			"sha": "59c1b6d20abbefda9f57cf42d2e275cfdaf394df",
			"registry": "npmjs"
		},
		"react-loadable-3.3.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.3.0.tgz",
			"sha": "cabbea4cb8a6ce172c893b14136b4d7d16cbf1e3",
			"registry": "npmjs"
		},
		"react-loadable-3.3.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-3.3.1.tgz",
			"sha": "91310f1c2adcc73ce944380ee9529f5d33e100d3",
			"registry": "npmjs"
		},
		"react-loadable-4.0.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.0.tgz",
			"sha": "8b101bb20947c11de2de2f3edc7ff15627e9ac76",
			"registry": "npmjs"
		},
		"react-loadable-4.0.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.1.tgz",
			"sha": "fc68b2fea88882bbda380d83a26e19a027e3899a",
			"registry": "npmjs"
		},
		"react-loadable-4.0.2.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.2.tgz",
			"sha": "e923a9b0d3a34d39a37311fbd365652a3c87e698",
			"registry": "npmjs"
		},
		"react-loadable-4.0.3.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.3.tgz",
			"sha": "296c5cdfba3d402d66d2120d52fc08c2ca1f3088",
			"registry": "npmjs"
		},
		"react-loadable-4.0.4.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.4.tgz",
			"sha": "ae96837729eeb7fd0d3bb1dc01dc0053ac147874",
			"registry": "npmjs"
		},
		"react-loadable-4.0.5.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-4.0.5.tgz",
			"sha": "225eba40a0e67cc5698bcb5db6e783f0d3a9e729",
			"registry": "npmjs"
		},
		"react-loadable-5.0.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.0.0.tgz",
			"sha": "b99df8afd646069022fb3f5fc22402c0f47c317f",
			"registry": "npmjs"
		},
		"react-loadable-5.1.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.1.0.tgz",
			"sha": "91c5f8015982bca42bf79b8e61c7b78014792324",
			"registry": "npmjs"
		},
		"react-loadable-5.2.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.0.tgz",
			"sha": "36d25865a09c62364cc37f72d51804a4635838fd",
			"registry": "npmjs"
		},
		"react-loadable-5.2.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.1.tgz",
			"sha": "bb06abdb84bad7fca46d889ef7747f7261c45496",
			"registry": "npmjs"
		},
		"react-loadable-5.2.2.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.2.tgz",
			"sha": "1a5ad75841cacb64be12b18a86ac0bc55ccb4dc7",
			"registry": "npmjs"
		},
		"react-loadable-5.2.3.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.3.tgz",
			"sha": "161ac9b9a312b840d57a8b33529005b0e537dc4f",
			"registry": "npmjs"
		},
		"react-loadable-5.2.4.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.2.4.tgz",
			"sha": "e2ed2228ea5d3ad3bad51c1e1632a2f0864cdcae",
			"registry": "npmjs"
		},
		"react-loadable-5.3.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.3.0.tgz",
			"sha": "ee082ea7c40f0de4cfab5895cbf3c1594efee4e2",
			"registry": "npmjs"
		},
		"react-loadable-5.3.1.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.3.1.tgz",
			"sha": "9699e9a08fed49bacd69caaa282034b62a76bcdd",
			"registry": "npmjs"
		},
		"react-loadable-5.4.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.4.0.tgz",
			"sha": "3b6b7d51121a7868fd155be848a36e02084742c9",
			"registry": "npmjs"
		},
		"react-loadable-5.5.0.tgz": {
			"url": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz",
			"sha": "582251679d3da86c32aae2c8e689c59f1196d8c4",
			"registry": "npmjs"
		}
	},
	"_attachments": {
		"react-loadable-5.5.0.tgz": {
			"shasum": "582251679d3da86c32aae2c8e689c59f1196d8c4"
		}
	},
	"_rev": "2-d09667e75d7b653f",
	"_id": "react-loadable",
	"readme": "![React Loadable](http://thejameskyle.com/img/react-loadable-header.png)\n\n> A higher order component for loading components with dynamic imports.\n\n## Install\n\n```sh\nyarn add react-loadable\n```\n\n## Example\n\n```js\nimport Loadable from 'react-loadable';\nimport Loading from './my-loading-component';\n\nconst LoadableComponent = Loadable({\n  loader: () => import('./my-component'),\n  loading: Loading,\n});\n\nexport default class App extends React.Component {\n  render() {\n    return <LoadableComponent/>;\n  }\n}\n```\n\n## Happy Customers:\n\n- [\"I'm obsessed with this right now: CRA with React Router v4 and react-loadable. Free code splitting, this is so easy.\"](https://twitter.com/matzatorski/status/872059865350406144)\n- [\"Webpack 2 upgrade & react-loadable; initial load from 1.1mb to 529kb in under 2 hours. Immense.\"](https://twitter.com/jwbradley87/status/847191118269833216)\n- [\"Oh hey - using loadable component I knocked 13K off my initial load. Easy win!\"](https://twitter.com/AdamRackis/status/846593080992153600)\n- [\"Had a look and its awesome. shaved like 50kb off our main bundle.\"](https://github.com/quran/quran.com-frontend/pull/701#issuecomment-287908551)\n- [\"I've got that server-side rendering + code splitting + PWA ServiceWorker caching setup done 😎 (thanks to react-loadable). Now our frontend is super fast.\"](https://twitter.com/mxstbr/status/922375575217627136)\n- [\"Using react-loadable went from 221.28 KB → 115.76 KB @ main bundle. Fucking awesome and very simple API.\"](https://twitter.com/evgenyrodionov/status/958821614644269057)\n\n## Users\n\n- [Analog.Cafe](https://www.analog.cafe)\n- [Appbase.io](https://github.com/appbaseio/reactivesearch)\n- [Atlassian](https://www.atlassian.com/)\n- [Cloudflare](https://www.cloudflare.com)\n- [Curio](https://www.curio.org)\n- [Dresez](https://dresez.pk/)\n- [Flyhomes](https://flyhomes.com)\n- [Gogo](https://gogoair.com)\n- [Gofore](https://gofore.com/en/home/)\n- [MediaTek MCS-Lite](https://github.com/MCS-Lite)\n- [Officepulse](https://www.officepulse.in/)\n- [Render](https://render.com)\n- [Snipit](https://snipit.io)\n- [Spectrum.chat](https://spectrum.chat)\n- [Talentpair](https://talentpair.com)\n- [Tinder](https://tinder.com/)\n- [Unsplash](https://unsplash.com/)\n- [Wave](https://waveapps.com/)\n\n> _If your company or project is using React Loadable, please open a PR and add\n> yourself to this list (in alphabetical order please)_\n\n## Also See:\n\n- [`react-loadable-visibility`](https://github.com/stratiformltd/react-loadable-visibility) - Building on top of and keeping the same API as `react-loadable`, this library enables you to load content that is visible on the screen.\n\n<h2>\n  <hr>\n  <hr>\n  <img src=\"http://thejameskyle.com/img/react-loadable-guide.png\" alt=\"GUIDE\">\n  <hr>\n  <hr>\n  <small>Guide</small>\n</h2>\n\nSo you've got your React app, you're bundling it with Webpack, and things are\ngoing smooth. But then one day you notice your app's bundle is getting so big\nthat it's slowing things down.\n\nIt's time to start code-splitting your app!\n\n![A single giant bundle vs multiple smaller bundles](http://thejameskyle.com/img/react-loadable-split-bundles.png)\n\nCode-splitting is the process of taking one large bundle containing your entire\napp, and splitting them up into multiple smaller bundles which contain separate\nparts of your app.\n\nThis might seem difficult to do, but tools like Webpack have this built in, and\nReact Loadable is designed to make it super simple.\n\n### Route-based splitting vs. Component-based splitting\n\nA common piece of advice you will see is to break your app into separate routes\nand load each one asynchronously. This seems to work well enough for many apps–\nas a user, clicking a link and waiting for a page to load is a familiar\nexperience on the web.\n\nBut we can do better than that.\n\nUsing most routing tools for React, a route is simply a component. There's\nnothing particularly special about them (Sorry Ryan and Michael– you're what's\nspecial). So what if we optimized for splitting around components instead of\nroutes? What would that get us?\n\n![Route vs. component centric code splitting](http://thejameskyle.com/img/react-loadable-component-splitting.png)\n\nAs it turns out: Quite a lot. There are many more places than just routes where\nyou can pretty easily split apart your app. Modals, tabs, and many more UI\ncomponents hide content until the user has done something to reveal it.\n\n> **Example:** Maybe your app has a map buried inside of a tab component. Why\n> would you load a massive mapping library for the parent route every time when\n> the user may never go to that tab?\n\nNot to mention all the places where you can defer loading content until higher\npriority content is finished loading. That component at the bottom of your page\nwhich loads a bunch of libraries: Why should that be loaded at the same time as\nthe content at the top?\n\nAnd because routes are just components, we can still easily code-split at the\nroute level.\n\nIntroducing new code-splitting points in your app should be so easy that you\ndon't think twice about it. It should be a matter of changing a few lines of\ncode and everything else should be automated.\n\n### Introducing React Loadable\n\nReact Loadable is a small library that makes component-centric code splitting\nincredibly easy in React.\n\n`Loadable` is a higher-order component (a function that creates a component)\nwhich lets you dynamically load any module before rendering it into your app.\n\nLet's imagine two components, one that imports and renders another.\n\n```js\nimport Bar from './components/Bar';\n\nclass Foo extends React.Component {\n  render() {\n    return <Bar/>;\n  }\n}\n```\n\nRight now we're depending on `Bar` being imported synchronously via `import`,\nbut we don't need it until we go to render it. So why don't we just defer that?\n\nUsing a **dynamic import** ([a tc39 proposal currently at Stage 3](https://github.com/tc39/proposal-dynamic-import))\nwe can modify our component to load `Bar` asynchronously.\n\n```js\nclass MyComponent extends React.Component {\n  state = {\n    Bar: null\n  };\n\n  componentWillMount() {\n    import('./components/Bar').then(Bar => {\n      this.setState({ Bar });\n    });\n  }\n\n  render() {\n    let {Bar} = this.state;\n    if (!Bar) {\n      return <div>Loading...</div>;\n    } else {\n      return <Bar/>;\n    };\n  }\n}\n```\n\nBut that's a whole bunch of work, and it doesn't even handle a bunch of cases.\nWhat about when `import()` fails? What about server-side rendering?\n\nInstead you can use `Loadable` to abstract away the problem.\n\n```js\nimport Loadable from 'react-loadable';\n\nconst LoadableBar = Loadable({\n  loader: () => import('./components/Bar'),\n  loading() {\n    return <div>Loading...</div>\n  }\n});\n\nclass MyComponent extends React.Component {\n  render() {\n    return <LoadableBar/>;\n  }\n}\n```\n\n### Automatic code-splitting on `import()`\n\nWhen you use `import()` with Webpack 2+, it will\n[automatically code-split](https://webpack.js.org/guides/code-splitting/) for\nyou with no additional configuration.\n\nThis means that you can easily experiment with new code splitting points just\nby switching to `import()` and using React Loadable. Figure out what performs\nbest for your app.\n\n### Creating a great \"Loading...\" Component\n\nRendering a static \"Loading...\" doesn't communicate enough to the user. You\nalso need to think about error states, timeouts, and making it a nice\nexperience.\n\n```js\nfunction Loading() {\n  return <div>Loading...</div>;\n}\n\nLoadable({\n  loader: () => import('./WillFailToLoad'), // oh no!\n  loading: Loading,\n});\n```\n\nTo make this all nice, your [loading component](#loadingcomponent) receives a\ncouple different props.\n\n#### Loading error states\n\nWhen your [`loader`](optsloader) fails, your [loading component](#loadingcomponent)\nwill receive an [`error`](propserror) prop which will be an `Error` object (otherwise it\nwill be `null`).\n\n```js\nfunction Loading(props) {\n  if (props.error) {\n    return <div>Error! <button onClick={ props.retry }>Retry</button></div>;\n  } else {\n    return <div>Loading...</div>;\n  }\n}\n```\n\n#### Avoiding _Flash Of Loading Component_\n\nSometimes components load really quickly (<200ms) and the loading screen only\nquickly flashes on the screen.\n\nA number of user studies have proven that this causes users to perceive things\ntaking longer than they really have. If you don't show anything, users perceive\nit as being faster.\n\nSo your loading component will also get a [`pastDelay` prop](#propspastdelay)\nwhich will only be true once the component has taken longer to load than a set\n[delay](#optsdelay).\n\n```js\nfunction Loading(props) {\n  if (props.error) {\n    return <div>Error! <button onClick={ props.retry }>Retry</button></div>;\n  } else if (props.pastDelay) {\n    return <div>Loading...</div>;\n  } else {\n    return null;\n  }\n}\n```\n\nThis delay defaults to `200ms` but you can also customize the\n[delay](#optsdelay) in `Loadable`.\n\n```js\nLoadable({\n  loader: () => import('./components/Bar'),\n  loading: Loading,\n  delay: 300, // 0.3 seconds\n});\n```\n\n#### Timing out when the `loader` is taking too long\n\nSometimes network connections suck and never resolve or fail, they just hang\nthere forever. This sucks for the user because they won't know if it should\nalways take this long, or if they should try refreshing.\n\nThe [loading component](#loadingcomponent) will receive a\n[`timedOut` prop](#propstimedout) which will be set to `true` when the\n[`loader`](#optsloader) has timed out.\n\n```js\nfunction Loading(props) {\n  if (props.error) {\n    return <div>Error! <button onClick={ props.retry }>Retry</button></div>;\n  } else if (props.timedOut) {\n    return <div>Taking a long time... <button onClick={ props.retry }>Retry</button></div>;\n  } else if (props.pastDelay) {\n    return <div>Loading...</div>;\n  } else {\n    return null;\n  }\n}\n```\n\nHowever, this feature is disabled by default. To turn it on, you can pass a\n[`timeout` option](#optstimeout) to `Loadable`.\n\n```js\nLoadable({\n  loader: () => import('./components/Bar'),\n  loading: Loading,\n  timeout: 10000, // 10 seconds\n});\n```\n\n### Customizing rendering\n\nBy default `Loadable` will render the `default` export of the returned module.\nIf you want to customize this behavior you can use the\n[`render` option](#optsrender).\n\n```js\nLoadable({\n  loader: () => import('./my-component'),\n  render(loaded, props) {\n    let Component = loaded.namedExport;\n    return <Component {...props}/>;\n  }\n});\n```\n\n### Loading multiple resources\n\nTechnically you can do whatever you want within `loader()` as long as it\nreturns a promise and [you're able to render something](#customizing-rendering).\nBut writing it out can be a bit annoying.\n\nTo make it easier to load multiple resources in parallel, you can use\n[`Loadable.Map`](#loadablemap).\n\n```js\nLoadable.Map({\n  loader: {\n    Bar: () => import('./Bar'),\n    i18n: () => fetch('./i18n/bar.json').then(res => res.json()),\n  },\n  render(loaded, props) {\n    let Bar = loaded.Bar.default;\n    let i18n = loaded.i18n;\n    return <Bar {...props} i18n={i18n}/>;\n  },\n});\n```\n\nWhen using `Loadable.Map` the [`render()` method](#optsrender) is required. It\nwill be passed a `loaded` param which will be an object matching the shape of\nyour `loader`.\n\n### Preloading\n\nAs an optimization, you can also decide to preload a component before it gets\nrendered.\n\nFor example, if you need to load a new component when a button gets pressed,\nyou could start preloading the component when the user hovers over the button.\n\nThe component created by `Loadable` exposes a\n[static `preload` method](#loadablecomponentpreload) which does exactly this.\n\n```js\nconst LoadableBar = Loadable({\n  loader: () => import('./Bar'),\n  loading: Loading,\n});\n\nclass MyComponent extends React.Component {\n  state = { showBar: false };\n\n  onClick = () => {\n    this.setState({ showBar: true });\n  };\n\n  onMouseOver = () => {\n    LoadableBar.preload();\n  };\n\n  render() {\n    return (\n      <div>\n        <button\n          onClick={this.onClick}\n          onMouseOver={this.onMouseOver}>\n          Show Bar\n        </button>\n        {this.state.showBar && <LoadableBar/>}\n      </div>\n    )\n  }\n}\n```\n\n<h2>\n  <hr>\n  <hr>\n  <img src=\"http://thejameskyle.com/img/react-loadable-ssr.png\" alt=\"SERVER SIDE RENDERING\">\n  <hr>\n  <hr>\n  <small>Server-Side Rendering</small>\n</h2>\n\nWhen you go to render all these dynamically loaded components, what you'll get\nis a whole bunch of loading screens.\n\nThis really sucks, but the good news is that React Loadable is designed to\nmake server-side rendering work as if nothing is being loaded dynamically.\n\nHere's our starting server using [Express](https://expressjs.com/).\n\n```js\nimport express from 'express';\nimport React from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport App from './components/App';\n\nconst app = express();\n\napp.get('/', (req, res) => {\n  res.send(`\n    <!doctype html>\n    <html lang=\"en\">\n      <head>...</head>\n      <body>\n        <div id=\"app\">${ReactDOMServer.renderToString(<App/>)}</div>\n        <script src=\"/dist/main.js\"></script>\n      </body>\n    </html>\n  `);\n});\n\napp.listen(3000, () => {\n  console.log('Running on http://localhost:3000/');\n});\n```\n\n### Preloading all your loadable components on the server\n\nThe first step to rendering the correct content from the server is to make sure\nthat all of your loadable components are already loaded when you go to render\nthem.\n\nTo do this, you can use the [`Loadable.preloadAll`](#loadablepreloadall)\nmethod. It returns a promise that will resolve when all your loadable\ncomponents are ready.\n\n```js\nLoadable.preloadAll().then(() => {\n  app.listen(3000, () => {\n    console.log('Running on http://localhost:3000/');\n  });\n});\n```\n\n### Picking up a server-side rendered app on the client\n\nThis is where things get a little bit tricky. So let's prepare ourselves\nlittle bit.\n\nIn order for us to pick up what was rendered from the server we need to have\nall the same code that was used to render on the server.\n\nTo do this, we first need our loadable components telling us which modules they\nare rendering.\n\n#### Declaring which modules are being loaded\n\nThere are two options in [`Loadable`](#loadable) and\n[`Loadable.Map`](#loadablemap) which are used to tell us which modules our\ncomponent is trying to load: [`opts.modules`](#optsmodules) and\n[`opts.webpack`](#optswebpack).\n\n```js\nLoadable({\n  loader: () => import('./Bar'),\n  modules: ['./Bar'],\n  webpack: () => [require.resolveWeak('./Bar')],\n});\n```\n\nBut don't worry too much about these options. React Loadable includes a\n[Babel plugin](#babel-plugin) to add them for you.\n\nJust add the `react-loadable/babel` plugin to your Babel config:\n\n```json\n{\n  \"plugins\": [\n    \"react-loadable/babel\"\n  ]\n}\n```\n\nNow these options will automatically be provided.\n\n#### Finding out which dynamic modules were rendered\n\nNext we need to find out which modules were actually rendered when a request\ncomes in.\n\nFor this, there is [`Loadable.Capture`](#loadablecapture) component which can\nbe used to collect all the modules that were rendered.\n\n```js\nimport Loadable from 'react-loadable';\n\napp.get('/', (req, res) => {\n  let modules = [];\n\n  let html = ReactDOMServer.renderToString(\n    <Loadable.Capture report={moduleName => modules.push(moduleName)}>\n      <App/>\n    </Loadable.Capture>\n  );\n\n  console.log(modules);\n\n  res.send(`...${html}...`);\n});\n```\n\n#### Mapping loaded modules to bundles\n\nIn order to make sure that the client loads all the modules that were rendered\nserver-side, we'll need to map them to the bundles that Webpack created.\n\nThis comes in two parts.\n\nFirst we need Webpack to tell us which bundles each module lives inside. For\nthis there is the [React Loadable Webpack plugin](#webpack-plugin).\n\nImport the `ReactLoadablePlugin` from `react-loadable/webpack` and include it\nin your webpack config. Pass it a `filename` for where to store the JSON data\nabout our bundles.\n\n```js\n// webpack.config.js\nimport { ReactLoadablePlugin } from 'react-loadable/webpack';\n\nexport default {\n  plugins: [\n    new ReactLoadablePlugin({\n      filename: './dist/react-loadable.json',\n    }),\n  ],\n};\n```\n\nThen we'll go back to our server and use this data to convert our modules to\nbundles.\n\nTo convert from modules to bundles, import the [`getBundles`](#getbundles)\nmethod from `react-loadable/webpack` and the data from Webpack.\n\n```js\nimport Loadable from 'react-loadable';\nimport { getBundles } from 'react-loadable/webpack'\nimport stats from './dist/react-loadable.json';\n\napp.get('/', (req, res) => {\n  let modules = [];\n\n  let html = ReactDOMServer.renderToString(\n    <Loadable.Capture report={moduleName => modules.push(moduleName)}>\n      <App/>\n    </Loadable.Capture>\n  );\n\n  let bundles = getBundles(stats, modules);\n\n  // ...\n});\n```\n\nWe can then render these bundles into `<script>` tags in our HTML.\n\nIt is important that the bundles are included _before_ the main bundle, so that\nthey can be loaded by the browser prior to the app rendering.\n\nHowever, as the Webpack manifest (including the logic for parsing bundles) lives in\nthe main bundle, it will need to be extracted into its own chunk.\n\nThis is easy to do with the [CommonsChunkPlugin](https://webpack.js.org/plugins/commons-chunk-plugin/)\n\n```js\n// webpack.config.js\nexport default {\n  plugins: [\n    new webpack.optimize.CommonsChunkPlugin({\n      name: 'manifest',\n      minChunks: Infinity\n    })\n  ]\n}\n```\n\n_Notice: As of Webpack 4 the CommonsChunkPlugin has been removed and the manifest doesn't need to be extracted anymore._\n\n```js\nlet bundles = getBundles(stats, modules);\n\nres.send(`\n  <!doctype html>\n  <html lang=\"en\">\n    <head>...</head>\n    <body>\n      <div id=\"app\">${html}</div>\n      <script src=\"/dist/manifest.js\"></script>\n      ${bundles.map(bundle => {\n        return `<script src=\"/dist/${bundle.file}\"></script>`\n        // alternatively if you are using publicPath option in webpack config\n        // you can use the publicPath value from bundle, e.g:\n        // return `<script src=\"${bundle.publicPath}\"></script>`\n      }).join('\\n')}\n      <script src=\"/dist/main.js\"></script>\n    </body>\n  </html>\n`);\n```\n\n#### Preloading ready loadable components on the client\n\nWe can use the [`Loadable.preloadReady()`](#loadablepreloadready) method on the\nclient to preload the loadable components that were included on the page.\n\nLike [`Loadable.preloadAll()`](#loadablepreloadall), it returns a promise,\nwhich on resolution means that we can hydrate our app.\n\n```js\n// src/entry.js\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Loadable from 'react-loadable';\nimport App from './components/App';\n\nLoadable.preloadReady().then(() => {\n  ReactDOM.hydrate(<App/>, document.getElementById('app'));\n});\n\n```\n\n<h4 align=\"center\">\n  Now server-side rendering should work perfectly!\n</h4>\n\n<h2>\n  <hr>\n  <hr>\n  <img src=\"http://thejameskyle.com/img/react-loadable-api-docs.png\" alt=\"API DOCS\">\n  <hr>\n  <hr>\n  <small>API Docs</small>\n</h2>\n\n### `Loadable`\n\nA higher-order component for dynamically [loading](#optsloader) a module before\n[rendering](#optsrender) it, a [loading](#opts.loading) component is rendered\nwhile the module is unavailable.\n\n```js\nconst LoadableComponent = Loadable({\n  loader: () => import('./Bar'),\n  loading: Loading,\n  delay: 200,\n  timeout: 10000,\n});\n```\n\nThis returns a [LoadableComponent](#loadablecomponent).\n\n### `Loadable.Map`\n\nA higher-order component that allows you to load multiple resources in parallel.\n\nLoadable.Map's [`opts.loader`](#optsloader) accepts an object of functions, and\nneeds a [`opts.render`](#optsrender) method.\n\n```js\nLoadable.Map({\n  loader: {\n    Bar: () => import('./Bar'),\n    i18n: () => fetch('./i18n/bar.json').then(res => res.json()),\n  },\n  render(loaded, props) {\n    let Bar = loaded.Bar.default;\n    let i18n = loaded.i18n;\n    return <Bar {...props} i18n={i18n}/>;\n  }\n});\n```\n\nWhen using `Loadable.Map` the `render()` method's `loaded` param will be an\nobject with the same shape as your `loader`.\n\n### `Loadable` and `Loadable.Map` Options\n\n#### `opts.loader`\n\nA function returning a promise that loads your module.\n\n```js\nLoadable({\n  loader: () => import('./Bar'),\n});\n```\n\nWhen using with [`Loadable.Map`](#loadablemap) this accepts an object of these\ntypes of functions.\n\n```js\nLoadable.Map({\n  loader: {\n    Bar: () => import('./Bar'),\n    i18n: () => fetch('./i18n/bar.json').then(res => res.json()),\n  },\n});\n```\n\nWhen using with `Loadable.Map` you'll also need to pass a\n[`opts.render`](#optsrender) function.\n\n#### `opts.loading`\n\nA [`LoadingComponent`](#loadingcomponent) that renders while a module is\nloading or when it errors.\n\n```js\nLoadable({\n  loading: LoadingComponent,\n});\n```\n\nThis option is required, if you don't want to render anything, return `null`.\n\n```js\nLoadable({\n  loading: () => null,\n});\n```\n\n#### `opts.delay`\n\nTime to wait (in milliseconds) before passing\n[`props.pastDelay`](#propspastdelay) to your [`loading`](#optsloading)\ncomponent. This defaults to `200`.\n\n```js\nLoadable({\n  delay: 200\n});\n```\n\n[Read more about delays](#avoiding-flash-of-loading-component).\n\n#### `opts.timeout`\n\nTime to wait (in milliseconds) before passing\n[`props.timedOut`](#propstimedout) to your [`loading`](#optsloading) component.\nThis is turned off by default.\n\n```js\nLoadable({\n  timeout: 10000\n});\n```\n\n[Read more about timeouts](#timing-out-when-the-loader-is-taking-too-long).\n\n#### `opts.render`\n\nA function to customize the rendering of loaded modules.\n\nReceives `loaded` which is the resolved value of [`opts.loader`](#optsloader)\nand `props` which are the props passed to the\n[`LoadableComponent`](#loadablecomponent).\n\n```js\nLoadable({\n  render(loaded, props) {\n    let Component = loaded.default;\n    return <Component {...props}/>;\n  }\n});\n```\n\n#### `opts.webpack`\n\nAn optional function which returns an array of Webpack module ids which you can\nget with `require.resolveWeak`.\n\n```js\nLoadable({\n  loader: () => import('./Foo'),\n  webpack: () => [require.resolveWeak('./Foo')],\n});\n```\n\nThis option can be automated with the [Babel Plugin](#babel-plugin).\n\n#### `opts.modules`\n\nAn optional array with module paths for your imports.\n\n```js\nLoadable({\n  loader: () => import('./my-component'),\n  modules: ['./my-component'],\n});\n```\n\nThis option can be automated with the [Babel Plugin](#babel-plugin).\n\n### `LoadableComponent`\n\nThis is the component returned by `Loadable` and `Loadable.Map`.\n\n```js\nconst LoadableComponent = Loadable({\n  // ...\n});\n```\n\nProps passed to this component will be passed straight through to the\ndynamically loaded component via [`opts.render`](#optsrender).\n\n#### `LoadableComponent.preload()`\n\nThis is a static method on [`LoadableComponent`](#loadablecomponent) which can\nbe used to load the component ahead of time.\n\n```js\nconst LoadableComponent = Loadable({...});\n\nLoadableComponent.preload();\n```\n\nThis returns a promise, but you should avoid waiting for that promise to\nresolve to update your UI. In most cases it creates a bad user experience.\n\n[Read more about preloading](#preloading).\n\n### `LoadingComponent`\n\nThis is the component you pass to [`opts.loading`](#optsloading).\n\n```js\nfunction LoadingComponent(props) {\n  if (props.error) {\n    // When the loader has errored\n    return <div>Error! <button onClick={ props.retry }>Retry</button></div>;\n  } else if (props.timedOut) {\n    // When the loader has taken longer than the timeout\n    return <div>Taking a long time... <button onClick={ props.retry }>Retry</button></div>;\n  } else if (props.pastDelay) {\n    // When the loader has taken longer than the delay\n    return <div>Loading...</div>;\n  } else {\n    // When the loader has just started\n    return null;\n  }\n}\n\nLoading({\n  loading: LoadingComponent,\n});\n```\n\n[Read more about loading components](#creating-a-great-loading-component)\n\n#### `props.error`\n\nAn `Error` object passed to [`LoadingComponent`](#loadingcomponent) when the\n[`loader`](#optsloader) has failed. When there is no error, `null` is\npassed.\n\n```js\nfunction LoadingComponent(props) {\n  if (props.error) {\n    return <div>Error!</div>;\n  } else {\n    return <div>Loading...</div>;\n  }\n}\n```\n\n[Read more about errors](#loading-error-states).\n\n#### `props.retry`\n\nA function prop passed to [`LoadingComponent`](#loadingcomponent) when the\n[`loader`](#optsloader) has failed, used to retry loading the component.\n\n```js\nfunction LoadingComponent(props) {\n  if (props.error) {\n    return <div>Error! <button onClick={ props.retry }>Retry</button></div>;\n  } else {\n    return <div>Loading...</div>;\n  }\n}\n```\n\n[Read more about errors](#loading-error-states).\n\n#### `props.timedOut`\n\nA boolean prop passed to [`LoadingComponent`](#loadingcomponent) after a set\n[`timeout`](#optstimeout).\n\n```js\nfunction LoadingComponent(props) {\n  if (props.timedOut) {\n    return <div>Taking a long time...</div>;\n  } else {\n    return <div>Loading...</div>;\n  }\n}\n```\n\n[Read more about timeouts](#timing-out-when-the-loader-is-taking-too-long).\n\n#### `props.pastDelay`\n\nA boolean prop passed to [`LoadingComponent`](#loadingcomponent) after a set\n[`delay`](#optsdelay).\n\n```js\nfunction LoadingComponent(props) {\n  if (props.pastDelay) {\n    return <div>Loading...</div>;\n  } else {\n    return null;\n  }\n}\n```\n\n[Read more about delays](#avoiding-flash-of-loading-component).\n\n### `Loadable.preloadAll()`\n\nThis will call all of the\n[`LoadableComponent.preload`](#loadablecomponentpreload) methods recursively\nuntil they are all resolved. Allowing you to preload all of your dynamic\nmodules in environments like the server.\n\n```js\nLoadable.preloadAll().then(() => {\n  app.listen(3000, () => {\n    console.log('Running on http://localhost:3000/');\n  });\n});\n```\n\nIt's important to note that this requires that you declare all of your loadable\ncomponents when modules are initialized rather than when your app is being\nrendered.\n\n**Good:**\n\n```js\n// During module initialization...\nconst LoadableComponent = Loadable({...});\n\nclass MyComponent extends React.Component {\n  componentDidMount() {\n    // ...\n  }\n}\n```\n\n**Bad:**\n\n```js\n// ...\n\nclass MyComponent extends React.Component {\n  componentDidMount() {\n    // During app render...\n    const LoadableComponent = Loadable({...});\n  }\n}\n```\n\n> **Note:** `Loadable.preloadAll()` will not work if you have more than one\n> copy of `react-loadable` in your app.\n\n[Read more about preloading on the server](#preloading-all-your-loadable-components-on-the-server).\n\n### `Loadable.preloadReady()`\n\nCheck for modules that are already loaded in the browser and call the matching\n[`LoadableComponent.preload`](#loadablecomponentpreload) methods.\n\n```js\nLoadable.preloadReady().then(() => {\n  ReactDOM.hydrate(<App/>, document.getElementById('app'));\n});\n```\n\n[Read more about preloading on the client](#waiting-to-render-on-the-client-until-all-the-bundles-are-loaded).\n\n### `Loadable.Capture`\n\nA component for reporting which modules were rendered.\n\nAccepts a `report` prop which is called for every `moduleName` that is\nrendered via React Loadable.\n\n```js\nlet modules = [];\n\nlet html = ReactDOMServer.renderToString(\n  <Loadable.Capture report={moduleName => modules.push(moduleName)}>\n    <App/>\n  </Loadable.Capture>\n);\n\nconsole.log(modules);\n```\n\n[Read more about capturing rendered modules](#finding-out-which-dynamic-modules-were-rendered).\n\n## Babel Plugin\n\nProviding [`opts.webpack`](#optswebpack) and [`opts.modules`](#optsmodules) for\nevery loadable component is a lot of manual work to remember to do.\n\nInstead you can add the Babel plugin to your config and it will automate it for\nyou:\n\n```json\n{\n  \"plugins\": [\"react-loadable/babel\"]\n}\n```\n\n**Input**\n\n```js\nimport Loadable from 'react-loadable';\n\nconst LoadableMyComponent = Loadable({\n  loader: () => import('./MyComponent'),\n});\n\nconst LoadableComponents = Loadable.Map({\n  loader: {\n    One: () => import('./One'),\n    Two: () => import('./Two'),\n  },\n});\n```\n\n**Output**\n\n```js\nimport Loadable from 'react-loadable';\nimport path from 'path';\n\nconst LoadableMyComponent = Loadable({\n  loader: () => import('./MyComponent'),\n  webpack: () => [require.resolveWeak('./MyComponent')],\n  modules: [path.join(__dirname, './MyComponent')],\n});\n\nconst LoadableComponents = Loadable.Map({\n  loader: {\n    One: () => import('./One'),\n    Two: () => import('./Two'),\n  },\n  webpack: () => [require.resolveWeak('./One'), require.resolveWeak('./Two')],\n  modules: [path.join(__dirname, './One'), path.join(__dirname, './Two')],\n});\n```\n\n[Read more about declaring modules](#declaring-which-modules-are-being-loaded).\n\n## Webpack Plugin\n\nIn order to [send the right bundles down](#mapping-loaded-modules-to-bundles)\nwhen rendering server-side, you'll need the React Loadable Webpack plugin \nto provide you with a mapping of modules to bundles.\n\n```js\n// webpack.config.js\nimport { ReactLoadablePlugin } from 'react-loadable/webpack';\n\nexport default {\n  plugins: [\n    new ReactLoadablePlugin({\n      filename: './dist/react-loadable.json',\n    }),\n  ],\n};\n```\n\nThis will create a file (`opts.filename`) which you can import to map modules\nto bundles.\n\n[Read more about mapping modules to bundles](#mapping-loaded-modules-to-bundles).\n\n### `getBundles`\n\nA method exported by `react-loadable/webpack` for converting modules to\nbundles.\n\n```js\nimport { getBundles } from 'react-loadable/webpack';\n\nlet bundles = getBundles(stats, modules);\n```\n\n[Read more about mapping modules to bundles](#mapping-loaded-modules-to-bundles).\n\n<h2>\n  <hr>\n  <hr>\n  <img src=\"http://thejameskyle.com/img/react-loadable-faq.png\" alt=\"FAQ\">\n  <hr>\n  <hr>\n  <small>FAQ</small>\n</h2>\n\n### How do I avoid repetition?\n\nSpecifying the same `loading` component or `delay` every time you use\n`Loadable()` gets repetitive fast. Instead you can wrap `Loadable` with your\nown Higher-Order Component (HOC) to set default options.\n\n```js\nimport Loadable from 'react-loadable';\nimport Loading from './my-loading-component';\n\nexport default function MyLoadable(opts) {\n  return Loadable(Object.assign({\n    loading: Loading,\n    delay: 200,\n    timeout: 10000,\n  }, opts));\n};\n```\n\nThen you can just specify a `loader` when you go to use it.\n\n```js\nimport MyLoadable from './MyLoadable';\n\nconst LoadableMyComponent = MyLoadable({\n  loader: () => import('./MyComponent'),\n});\n\nexport default class App extends React.Component {\n  render() {\n    return <LoadableMyComponent/>;\n  }\n}\n```\n\nUnfortunately at the moment using wrapped Loadable breaks [react-loadable/babel](#babel-plugin) so in such case you have to add required properties (`modules`, `webpack`) manually.\n\n```js\nimport MyLoadable from './MyLoadable';\n\nconst LoadableMyComponent = MyLoadable({\n  loader: () => import('./MyComponent'),\n  modules: ['./MyComponent'],\n  webpack: () => [require.resolveWeak('./MyComponent')],\n});\n\nexport default class App extends React.Component {\n  render() {\n    return <LoadableMyComponent/>;\n  }\n}\n```\n\n### How do I handle other styles `.css` or sourcemaps `.map` with server-side rendering?\n\nWhen you call [`getBundles`](#getbundles), it may return file types other than\nJavaScript depending on your Webpack configuration.\n\nTo handle this, you should manually filter down to the file extensions that\nyou care about:\n\n```js\nlet bundles = getBundles(stats, modules);\n\nlet styles = bundles.filter(bundle => bundle.file.endsWith('.css'));\nlet scripts = bundles.filter(bundle => bundle.file.endsWith('.js'));\n\nres.send(`\n  <!doctype html>\n  <html lang=\"en\">\n    <head>\n      ...\n      ${styles.map(style => {\n        return `<link href=\"/dist/${style.file}\" rel=\"stylesheet\"/>`\n      }).join('\\n')}\n    </head>\n    <body>\n      <div id=\"app\">${html}</div>\n      <script src=\"/dist/main.js\"></script>\n      ${scripts.map(script => {\n        return `<script src=\"/dist/${script.file}\"></script>`\n      }).join('\\n')}\n    </body>\n  </html>\n`);\n```"
}