internationalization suppport

This commit is contained in:
Sérgio Ramos 2016-10-20 20:42:39 +01:00
parent 2ae82c95ec
commit 979e2ece71
7 changed files with 257 additions and 60 deletions

View File

@ -8,9 +8,11 @@
"lint": "eslint .",
"test": "NODE_ENV=test nyc ava test/*.js --verbose",
"open": "nyc report --reporter=html & open coverage/index.html",
"coverage": "nyc check-coverage --statements 100 --functions 100 --lines 100 --branches 100"
"coverage": "nyc check-coverage --statements 100 --functions 100 --lines 100 --branches 100",
"build-locales": "NODE_ENV=test babel-node scripts/build-locales"
},
"dependencies": {
"babel-cli": "^6.16.0",
"babel-core": "^6.17.0",
"babel-loader": "^6.2.5",
"babel-plugin-add-module-exports": "^0.2.1",
@ -23,10 +25,14 @@
"fast-async": "^6.1.1",
"json-loader": "^0.5.4",
"postcss-loader": "^1.0.0",
"ncp": "^2.0.0",
"querystring": "^0.2.0",
"react": "^15.3.2",
"react-css-modules": "^3.7.10",
"react-dom": "^15.3.2",
"react-hot-loader": "^3.0.0-beta.6",
"react-intl": "^2.1.5",
"react-intl-redux": "^0.1.0",
"react-redux": "^4.4.5",
"react-router": "^4.0.0-alpha.4",
"reduce-reducers": "^0.1.2",
@ -37,6 +43,8 @@
"redux-promise-middleware": "^4.1.0",
"redux-thunk": "^2.1.0",
"style-loader": "^0.13.1",
"thenify": "^3.2.1",
"webpack-shell-plugin": "^0.4.3",
"webpack": "^2.1.0-beta.25"
},
"devDependencies": {
@ -56,7 +64,8 @@
"nyc": "^8.3.1",
"pre-commit": "^1.1.3",
"react-addons-test-utils": "^15.3.2",
"webpack-dev-server": "^1.16.2"
"webpack-dev-server": "^1.16.2",
"webpack-shell-plugin": "^0.4.3"
},
"ava": {
"failFast": true,

View File

@ -5,6 +5,7 @@ const Ncp = require('ncp');
const readdir = thenify(fs.readdir);
const writeFile = thenify(fs.writeFile);
const readFile = thenify(fs.readFile);
const ncp = thenify(Ncp.ncp);
const root = path.join(__dirname, '../locales');
@ -26,7 +27,7 @@ const compile = async () => {
const files = await readdir(root);
const jsons = files.filter(filename => path.extname(filename) === '.json');
const locales = jsons.reduce((res, filename) => {
const locales = files.reduce((res, filename) => {
const name = path.parse(filename).name;
const json = JSON.stringify(require(path.join(root, filename)));
const lang = name.split(/\-/)[0];
@ -51,6 +52,8 @@ const compile = async () => {
return ncp(source, destination);
}));
return await Promise.all(Object.keys(locales).map((name) => {
console.log(`Writing ${name}.js`);

View File

@ -1,13 +1,17 @@
const React = require('react');
const CSSModules = require('react-css-modules');
const ReactIntl = require('react-intl');
const styles = require('./home.css');
console.log('STYLES ', styles)
const {
FormattedMessage
} = ReactIntl;
module.exports = () => {
return (
<div className={styles.home}>
<h1>Home</h1>
<h1>
<FormattedMessage id='greetings' />
</h1>
</div>
);
};

View File

@ -25,9 +25,8 @@ module.exports = (({
).toLowerCase();
const lang = detectedLocale.split(/\-/)[0];
const locale = ReactIntlLocaleData[lang]
? (Locales[detectedLocale] ? detectedLocale : 'en-us')
: 'en-us';
const locale = ReactIntlLocaleData[lang] ?
(Locales[detectedLocale] ? detectedLocale : 'en-us') : 'en-us';
return {
locale,

View File

@ -1,3 +1,4 @@
const qs = require('querystring');
const React = require('react');
const ReactIntlRedux = require('react-intl-redux');
const ReactHotLoader = require('react-hot-loader');

View File

@ -1,5 +1,6 @@
const pkg = require('../package.json');
const webpack = require('webpack');
const WebpackShellPlugin = require('webpack-shell-plugin');
const path = require('path');
module.exports = {
@ -17,7 +18,10 @@ module.exports = {
APP_NAME: JSON.stringify(pkg.name),
APP_VERSION: JSON.stringify(pkg.version)
}
})
}),
new WebpackShellPlugin({
onBuildStart: ['npm run build-locales']
})
],
module: {
loaders: [{

View File

@ -70,7 +70,7 @@ ansi-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107"
ansi-styles@^2.2.1:
ansi-styles@^2.1.0, ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@ -78,6 +78,10 @@ ansi-styles@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178"
any-promise@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
anymatch@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
@ -142,7 +146,7 @@ array-union@^1.0.1:
dependencies:
array-uniq "^1.0.1"
array-uniq@^1.0.1, array-uniq@^1.0.2:
array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
@ -323,6 +327,32 @@ aws4@^1.2.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
babel-cli@^6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.16.0.tgz#4e0d1cf40442ef78330f7fef88eb3a0a1b16bd37"
dependencies:
babel-core "^6.16.0"
babel-polyfill "^6.16.0"
babel-register "^6.16.0"
babel-runtime "^6.9.0"
bin-version-check "^2.1.0"
chalk "1.1.1"
commander "^2.8.1"
convert-source-map "^1.1.0"
fs-readdir-recursive "^0.1.0"
glob "^5.0.5"
lodash "^4.2.0"
log-symbols "^1.0.2"
output-file-sync "^1.1.0"
path-exists "^1.0.0"
path-is-absolute "^1.0.0"
request "^2.65.0"
slash "^1.0.0"
source-map "^0.5.0"
v8flags "^2.0.10"
optionalDependencies:
chokidar "^1.0.0"
babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.7.5:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de"
@ -863,6 +893,14 @@ babel-plugin-transform-strict-mode@^6.8.0:
babel-runtime "^6.0.0"
babel-types "^6.8.0"
babel-polyfill@^6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422"
dependencies:
babel-runtime "^6.9.1"
core-js "^2.4.0"
regenerator-runtime "^0.9.5"
babel-preset-es2015@^6.3.13:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.16.0.tgz#59acecd1efbebaf48f89404840f2fe78c4d2ad5c"
@ -976,8 +1014,8 @@ babel-types@^6.10.2, babel-types@^6.13.0, babel-types@^6.14.0, babel-types@^6.15
to-fast-properties "^1.0.1"
babylon@^6.1.0, babylon@^6.11.0, babylon@^6.11.2, babylon@^6.8.1:
version "6.12.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.12.0.tgz#953e6202e58062f7f5041fc8037e4bd4e17140a9"
version "6.13.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.0.tgz#58ed40dd2a8120612be5f318c2c0bedbebde4a0b"
balanced-match@^0.4.1, balanced-match@^0.4.2:
version "0.4.2"
@ -1009,6 +1047,21 @@ big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
bin-version-check@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0"
dependencies:
bin-version "^1.0.0"
minimist "^1.1.0"
semver "^4.0.3"
semver-truncate "^1.0.0"
bin-version@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e"
dependencies:
find-versions "^1.0.0"
binary-extensions@^1.0.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d"
@ -1216,8 +1269,8 @@ camelcase@^3.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000554:
version "1.0.30000563"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000563.tgz#6958d81bc45e93310453dd70778e8169b7b55256"
version "1.0.30000566"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000566.tgz#9463db955f509136fd35b385903bb61b07150f27"
capture-stack-trace@^1.0.0:
version "1.0.0"
@ -1252,6 +1305,16 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
chalk@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019"
dependencies:
ansi-styles "^2.1.0"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
cheerio@^0.22.0:
version "0.22.0"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
@ -1273,7 +1336,7 @@ cheerio@^0.22.0:
lodash.reject "^4.4.0"
lodash.some "^4.4.0"
chokidar@^1.4.2, chokidar@^1.4.3:
chokidar@^1.0.0, chokidar@^1.4.2, chokidar@^1.4.3:
version "1.6.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
dependencies:
@ -1288,6 +1351,10 @@ chokidar@^1.4.2, chokidar@^1.4.3:
optionalDependencies:
fsevents "^1.0.0"
ci-info@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534"
cipher-base@^1.0.0, cipher-base@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
@ -1415,7 +1482,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
dependencies:
delayed-stream "~1.0.0"
commander@^2.9.0:
commander@^2.8.1, commander@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
dependencies:
@ -1623,7 +1690,7 @@ css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
css-loader:
css-loader@^0.25.0:
version "0.25.0"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.25.0.tgz#c3febc8ce28f4c83576b6b13707f47f90c390223"
dependencies:
@ -1666,8 +1733,8 @@ cssesc@^0.1.0:
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
"cssnano@>=2.6.1 <4":
version "3.7.7"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.7.7.tgz#27fac611380c6a49d6f722c0537e5a988a785010"
version "3.8.0"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.8.0.tgz#bb90ac5292f42b679d9a05f6da0e9697556bb80d"
dependencies:
autoprefixer "^6.3.1"
decamelize "^1.1.2"
@ -2353,6 +2420,15 @@ find-up@^1.0.0, find-up@^1.1.2:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
find-versions@^1.0.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62"
dependencies:
array-uniq "^1.0.0"
get-stdin "^4.0.1"
meow "^3.5.0"
semver-regex "^1.0.0"
flat-cache@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff"
@ -2362,7 +2438,7 @@ flat-cache@^1.2.1:
graceful-fs "^4.1.2"
write "^0.2.1"
flatten@^1.0.2, flatten@1.0.2:
flatten@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
@ -2411,6 +2487,10 @@ fresh@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
fs-readdir-recursive@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz#315b4fb8c1ca5b8c47defef319d073dad3568059"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@ -2494,6 +2574,16 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
glob@^5.0.5:
version "5.0.15"
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "2 || 3"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.3, glob@^7.0.5, glob@^7.0.6:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
@ -2552,7 +2642,7 @@ got@^5.0.0:
unzip-response "^1.0.0"
url-parse-lax "^1.0.0"
graceful-fs@^4.1.2:
graceful-fs@^4.1.2, graceful-fs@^4.1.4:
version "4.1.9"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29"
@ -2690,8 +2780,8 @@ http-proxy-middleware@~0.17.1:
micromatch "^2.3.11"
http-proxy@^1.15.1:
version "1.15.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.1.tgz#91a6088172e79bc0e821d5eb04ce702f32446393"
version "1.15.2"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31"
dependencies:
eventemitter3 "1.x.x"
requires-port "1.x.x"
@ -2791,7 +2881,27 @@ interpret@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1:
intl-format-cache@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.0.5.tgz#b484cefcb9353f374f25de389a3ceea1af18d7c9"
intl-messageformat-parser@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz#5906b7f953ab7470e0dc8549097b648b991892ff"
intl-messageformat@^1.3.0, intl-messageformat@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-1.3.0.tgz#f7d926aded7a3ab19b2dc601efd54e99a4bd4eae"
dependencies:
intl-messageformat-parser "1.2.0"
intl-relativeformat@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz#893dc7076fccd380cf091a2300c380fa57ace45b"
dependencies:
intl-messageformat "1.3.0"
invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54"
dependencies:
@ -2838,8 +2948,10 @@ is-callable@^1.1.1, is-callable@^1.1.3:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
is-ci@^1.0.7:
version "1.0.9"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.9.tgz#de2c5ffe49ab3237fda38c47c8a3bbfd55bbcca7"
version "1.0.10"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
dependencies:
ci-info "^1.0.0"
is-date-object@^1.0.1:
version "1.0.1"
@ -2856,8 +2968,8 @@ is-equal-shallow@^0.1.3:
is-primitive "^2.0.0"
is-error@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.0.tgz#2f4b67a631261274f6e5a7ef74c2a59a5edb24d1"
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c"
is-extendable@^0.1.1:
version "0.1.1"
@ -3349,6 +3461,12 @@ lodash@^4.0.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.2, lodash@^4.2.0, lo
version "4.16.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127"
log-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
dependencies:
chalk "^1.0.0"
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@ -3426,7 +3544,7 @@ memory-fs@^0.3.0, memory-fs@~0.3.0:
errno "^0.1.3"
readable-stream "^2.0.1"
meow@^3.7.0:
meow@^3.5.0, meow@^3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
dependencies:
@ -3498,7 +3616,7 @@ minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
minimatch@^3.0.0, minimatch@^3.0.2:
minimatch@^3.0.0, minimatch@^3.0.2, "minimatch@2 || 3":
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
@ -3547,6 +3665,10 @@ natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
ncp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
negotiator@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
@ -3614,18 +3736,18 @@ node-uuid@~1.4.7:
version "1.4.7"
resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"
nodent-runtime@>=3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/nodent-runtime/-/nodent-runtime-3.0.1.tgz#b0d76930c8e6de07cd8df193a82e8c949c9f6dc5"
nodent-runtime@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/nodent-runtime/-/nodent-runtime-3.0.2.tgz#6f26322f1c1670f6165af9c2b54dc0db17998860"
nodent@>=2.6.12:
version "3.0.3"
resolved "https://registry.yarnpkg.com/nodent/-/nodent-3.0.3.tgz#77764996265bbb1abe0e19c65a003338a86d79d2"
version "3.0.5"
resolved "https://registry.yarnpkg.com/nodent/-/nodent-3.0.5.tgz#918905f853e0a823f6b4b71311e45ebbaf68ae28"
dependencies:
acorn ">=2.5.2"
acorn-es7-plugin "^1.1.3"
nodent-runtime ">=3.0.0"
resolve "1.1.7"
nodent-runtime "^3.0.2"
resolve "^1.1.7"
source-map "0.5.6"
nopt@~3.0.1:
@ -3652,8 +3774,8 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
normalize-url@^1.4.0:
version "1.6.1"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.6.1.tgz#a9f254fa065bbc2934461c0c09423815976155a2"
version "1.7.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.7.0.tgz#d82452d98d38821cffddab4d77a5f8d20ce66db0"
dependencies:
object-assign "^4.0.1"
prepend-http "^1.0.0"
@ -3859,6 +3981,14 @@ osenv@^0.1.0:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
output-file-sync@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
dependencies:
graceful-fs "^4.1.4"
mkdirp "^0.5.1"
object-assign "^4.1.0"
package-hash@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44"
@ -4066,10 +4196,9 @@ postcss-discard-overridden@^0.1.1:
postcss "^5.0.16"
postcss-discard-unused@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.1.tgz#5d021f021a6ed6cec7310d4603794a75ddd53232"
version "2.2.2"
resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.2.tgz#5d72f7d05d11de0a9589e001958067ccae1b4931"
dependencies:
flatten "1.0.2"
postcss "^5.0.14"
uniqs "^2.0.0"
@ -4103,7 +4232,7 @@ postcss-load-plugins@^2.0.0-rc:
cosmiconfig "^2.1.0"
object-assign "^4.1.0"
postcss-loader:
postcss-loader@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-1.0.0.tgz#e3b65d0c8596c1658f79d7db2d291310748d5d2a"
dependencies:
@ -4219,8 +4348,8 @@ postcss-ordered-values@^2.1.0:
postcss-value-parser "^3.0.1"
postcss-reduce-idents@^2.2.2:
version "2.3.0"
resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.3.0.tgz#a697b52953ed6825ffea404e26a4f105d8b8d569"
version "2.3.1"
resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.3.1.tgz#024e8e219f52773313408573db9645ba62d2d2fe"
dependencies:
postcss "^5.0.4"
postcss-value-parser "^3.0.2"
@ -4445,7 +4574,7 @@ querystring-es3@~0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
querystring@0.2.0:
querystring@^0.2.0, querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
@ -4487,7 +4616,7 @@ react-broadcast@^0.1.1:
dependencies:
invariant "^2.2.1"
react-css-modules:
react-css-modules@^3.7.10:
version "3.7.10"
resolved "https://registry.yarnpkg.com/react-css-modules/-/react-css-modules-3.7.10.tgz#300da561e550eeec5ebc0bc8c7d51d77d88ae2d7"
dependencies:
@ -4514,6 +4643,24 @@ react-hot-loader@^3.0.0-beta.6:
redbox-react "^1.2.5"
source-map "^0.4.4"
react-intl-redux@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/react-intl-redux/-/react-intl-redux-0.1.0.tgz#94d9cef8214707ae0effa3e5113a35000c7b0baa"
dependencies:
react-intl "^2.1.3"
react-redux "^4.4.5"
redux "^3.5.2"
warning "^3.0.0"
react-intl@^2.1.3, react-intl@^2.1.5:
version "2.1.5"
resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-2.1.5.tgz#f9795ea34b790dcb5d0d8ef7060dddbe85bf8763"
dependencies:
intl-format-cache "^2.0.5"
intl-messageformat "^1.3.0"
intl-relativeformat "^1.3.0"
invariant "^2.1.1"
react-proxy@^3.0.0-alpha.0:
version "3.0.0-alpha.1"
resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07"
@ -4665,7 +4812,7 @@ redux-thunk@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.1.0.tgz#c724bfee75dbe352da2e3ba9bc14302badd89a98"
redux@^3.6.0:
redux@^3.5.2, redux@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d"
dependencies:
@ -4732,8 +4879,8 @@ repeat-element@^1.1.2:
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
repeat-string@^1.5.2:
version "1.5.4"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.5.4.tgz#64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5"
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
repeating@^1.1.0:
version "1.1.3"
@ -4747,7 +4894,7 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
request@2.x:
request@^2.65.0, request@2.x:
version "2.75.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93"
dependencies:
@ -4818,7 +4965,7 @@ resolve-pathname@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.0.2.tgz#e55c016eb2e9df1de98e85002282bfb38c630436"
resolve@1.1.7:
resolve@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
@ -4865,7 +5012,21 @@ semver-diff@^2.0.0:
dependencies:
semver "^5.0.3"
semver@^5.0.3, semver@^5.1.0, semver@~5.3.0, "semver@2 || 3 || 4 || 5":
semver-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
semver-truncate@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8"
dependencies:
semver "^5.3.0"
semver@^4.0.3:
version "4.3.6"
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0, "semver@2 || 3 || 4 || 5":
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@ -5149,7 +5310,7 @@ strip-json-comments@~1.0.1, strip-json-comments@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
style-loader:
style-loader@^0.13.1:
version "0.13.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.1.tgz#468280efbc0473023cd3a6cd56e33b5a1d7fc3a9"
dependencies:
@ -5243,6 +5404,12 @@ the-argv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522"
thenify@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.2.1.tgz#251fd1c80aff6e5cf57cb179ab1fcb724269bd11"
dependencies:
any-promise "^1.0.0"
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@ -5331,8 +5498,8 @@ ua-parser-js@^0.7.9:
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f"
uglify-js@^2.6, uglify-js@~2.7.3:
version "2.7.3"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.3.tgz#39b3a7329b89f5ec507e344c6e22568698ef4868"
version "2.7.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2"
dependencies:
async "~0.2.6"
source-map "~0.5.1"
@ -5453,6 +5620,12 @@ uuid@^2.0.1, uuid@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
v8flags@^2.0.10:
version "2.0.11"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881"
dependencies:
user-home "^1.1.1"
validate-npm-package-license@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
@ -5521,6 +5694,10 @@ webpack-dev-server@^1.16.2:
supports-color "^3.1.1"
webpack-dev-middleware "^1.4.0"
webpack-shell-plugin@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/webpack-shell-plugin/-/webpack-shell-plugin-0.4.3.tgz#a633e98c16b3bed5b6963e98059ca783841f3043"
webpack-sources@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.2.tgz#057a3f3255f8ba561b901d9150589aa103a57e65"
@ -5705,8 +5882,8 @@ yargs@^4.7.1:
yargs-parser "^2.4.1"
yargs@^6.0.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.2.0.tgz#9001048953def85495a2ce1dcfa690b7ab060fd1"
version "6.3.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.3.0.tgz#19c6dbb768744d571eb6ebae0c174cf2f71b188d"
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"