diff --git a/.gitignore b/.gitignore index 9c5481da2..0eca75f92 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ node_modules reports/* **/package-lock.json dist +dist-modules-temp styleguide/build/ styleguide/favicon.ico @@ -14,4 +15,4 @@ styleguide/favicon.png styleguide/fonts/ styleguide/index.html styleguide/manifest.json -styleguide/reaction-design-system-logo.svg \ No newline at end of file +styleguide/reaction-design-system-logo.svg diff --git a/babel.config.js b/babel.config.js index 602567f82..24e32d96c 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,18 +1,54 @@ // See https://babeljs.io/docs/en/config-files#root-babelconfigjs-files module.exports = function (api) { - api.cache(true); + const isTest = api.env("test"); + + // Config for when running Jest tests + if (isTest) { + return { + presets: [ + [ + "@babel/env", + { + // https://babeljs.io/docs/en/babel-preset-env#targets + targets: { + node: "current", + browsers: [ + "last 2 versions", + "ie 11" + ] + } + } + ], + "@babel/preset-react" + ], + plugins: [ + "babel-plugin-styled-components", + ["@babel/plugin-proposal-decorators", { legacy: true }], + ["@babel/plugin-proposal-class-properties", { loose: true }], + "@babel/plugin-syntax-dynamic-import" + ] + }; + } + + // We set this in the `build:modules` package.json script + const esmodules = process.env.BABEL_MODULES === "1"; const presets = [ [ "@babel/env", { + modules: esmodules ? false : "auto", + // https://babeljs.io/docs/en/babel-preset-env#targets targets: { - node: "current", + node: "8", browsers: [ "last 2 versions", "ie 11" - ] + ], + // "browsers" target is ignored when "esmodules" is true + esmodules }, + // https://babeljs.io/docs/en/babel-preset-env#usebuiltins-usage-experimental useBuiltIns: "usage" } ], @@ -23,10 +59,28 @@ module.exports = function (api) { "babel-plugin-styled-components", ["@babel/plugin-proposal-decorators", { legacy: true }], ["@babel/plugin-proposal-class-properties", { loose: true }], - "@babel/plugin-syntax-dynamic-import" + "@babel/plugin-syntax-dynamic-import", + [ + "@babel/plugin-transform-runtime", + { + useESModules: esmodules + } + ] ]; + let ignore; + if (process.env.NODE_ENV === "production") { + ignore = [ + "**/*.test.js", + "__snapshots__", + "**/setupTests.js", + "**/tests", + "**/scripts" + ]; + } + return { + ignore, presets, plugins, sourceMaps: true diff --git a/package.json b/package.json index 4359b6735..1c33b8689 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "node" ], "reporters": [ + "default", "jest-junit" ], "setupFiles": [ @@ -73,11 +74,11 @@ "/package/src/setupTests.js" ], "testPathIgnorePatterns": [ - "/config/", - "/node_modules/", - "/reports/", - "/package/dist/", - "/package/node_modules/" + "/config/", + "/node_modules/", + "/reports/", + "/package/dist/", + "/package/node_modules/" ], "transform": { "^.+\\.jsx?$": "./babel.jest.js" @@ -88,8 +89,8 @@ "suiteName": "jest-tests" }, "dependencies": { + "@babel/polyfill": "^7.2.5", "@reactioncommerce/components-context": "^1.2.0", - "babel-polyfill": "^6.26.0", "prop-types": "15.6.2", "react": "16.4.2", "react-container-query": "^0.11.0", @@ -111,6 +112,7 @@ "@babel/plugin-proposal-throw-expressions": "7.2.0", "@babel/plugin-syntax-dynamic-import": "7.2.0", "@babel/plugin-syntax-import-meta": "7.2.0", + "@babel/plugin-transform-runtime": "7.2.0", "@babel/preset-env": "7.3.1", "@babel/preset-react": "^7.0.0", "@commitlint/cli": "7.0.0", @@ -120,7 +122,7 @@ "autoprefixer": "7.1.6", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "10.0.1", - "babel-jest": "24.0.0", + "babel-jest": "24.1.0", "babel-loader": "7.1.2", "babel-plugin-module-resolver": "3.1.3", "babel-plugin-rewire-exports": "1.0.1", @@ -148,7 +150,7 @@ "html-webpack-plugin": "2.29.0", "husky": "1.0.0-rc.9", "ignore-loader": "^0.1.2", - "jest": "24.0.0", + "jest": "24.1.0", "jest-junit": "6.1.0", "jest-styled-components": "6.3.1", "object-assign": "4.1.1", diff --git a/package/package.json b/package/package.json index 2125df1ee..015276f91 100644 --- a/package/package.json +++ b/package/package.json @@ -11,13 +11,17 @@ }, "license": "Apache-2.0", "private": false, + "sideEffects": false, "scripts": { - "prebuild": "rimraf dist && node ./scripts/prebuild.js", - "build": "BABEL_ENV=production babel --root-mode upward src --out-dir dist --ignore **/*.test.js,__snapshots__,*/setupTests.js,*/tests", + "prebuild": "rimraf dist && rimraf dist-modules-temp && node ./scripts/prebuild.js", + "build": "npm run build:common && npm run build:modules", + "build:common": "BABEL_ENV=production babel --root-mode upward src --out-dir dist", + "build:modules": "BABEL_ENV=production BABEL_MODULES=1 babel --root-mode upward src --out-dir dist-modules-temp", "postbuild": "BABEL_ENV=production babel-node --root-mode upward ./scripts/postbuild.js", "release": "npm run build && npm publish dist" }, "dependencies": { + "@babel/runtime": "^7.3.1", "@material-ui/core": "^3.1.0", "accounting-js": "^1.1.1", "lodash.debounce": "^4.0.8", @@ -42,13 +46,14 @@ "@babel/plugin-proposal-throw-expressions": "7.2.0", "@babel/plugin-syntax-dynamic-import": "7.2.0", "@babel/plugin-syntax-import-meta": "7.2.0", + "@babel/plugin-transform-runtime": "7.2.0", "@babel/preset-env": "7.3.1", "@babel/preset-react": "^7.0.0", "@reactioncommerce/eslint-config": "1.9.0", "autoprefixer": "7.1.6", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "10.0.1", - "babel-jest": "24.0.0", + "babel-jest": "24.1.0", "babel-loader": "7.1.2", "babel-plugin-module-resolver": "3.1.3", "babel-plugin-rewire-exports": "1.0.1", @@ -68,7 +73,7 @@ "eslint-plugin-promise": "4.0.1", "eslint-plugin-react": "7.12.4", "fs-extra": "^5.0.0", - "jest": "24.0.0", + "jest": "24.1.0", "jest-junit": "6.1.0", "jest-styled-components": "6.3.1", "object-assign": "4.1.1", diff --git a/package/scripts/postbuild.js b/package/scripts/postbuild.js index 52a60f829..0878b228d 100644 --- a/package/scripts/postbuild.js +++ b/package/scripts/postbuild.js @@ -1,13 +1,35 @@ /* eslint-disable no-console */ -/* Much of this is borrowed from https://github.com/mui-org/material-ui/blob/master/packages/material-ui/scripts/copy-files.js */ +/* Some of this is borrowed from https://github.com/mui-org/material-ui/blob/master/packages/material-ui/scripts/copy-files.js */ -import path from "path"; -import fse from "fs-extra"; -import replaceInFiles from "replace-in-files"; +const path = require("path"); +const fse = require("fs-extra"); +const replaceInFiles = require("replace-in-files"); const DIST_FOLDER = path.join(process.cwd(), "dist"); +const DIST_MODULES_FOLDER = path.join(process.cwd(), "dist-modules-temp"); const COMPONENTS_FOLDER = path.join(DIST_FOLDER, "components"); +/** + * @summary Recursively changes all files with one extension to another + * @param {String} fullDirPath Directory path + * @param {String} ext Extension to look for + * @param {String} newExt Extension to change to + * @returns {Promise} Nothing + */ +async function recursivelyChangeExtension(fullDirPath, ext, newExt) { + const directoryContents = await fse.readdir(fullDirPath); + const promises = directoryContents.map(async (item) => { + const childPath = path.join(fullDirPath, item); + if (item.indexOf(".") === -1) return recursivelyChangeExtension(childPath, ext, newExt); + + if (!item.endsWith(`.${ext}`)) return null; + + await fse.copy(childPath, childPath.replace(`.${ext}`, `.${newExt}`)); + await fse.remove(childPath); + }); + await Promise.all(promises); +} + /** * @summary Copies a file to the build directory * @param {String} file File path @@ -28,8 +50,8 @@ async function createPackageFile() { const { devDependencies, jest, scripts, ...packageDataOther } = JSON.parse(packageData); const newPackageData = { ...packageDataOther, - main: "./index.js" - // module: "./index.es.js" + main: "index", + module: "index.mjs" }; const buildPath = path.resolve(__dirname, "../dist/package.json"); const stringPackageJson = JSON.stringify(newPackageData, null, 2); @@ -47,19 +69,41 @@ async function createPackageFile() { * @returns {Promise} Nothing */ async function replaceUtilsPathForComponent(componentFolderPath) { - return replaceInFiles({ + await replaceInFiles({ files: `${componentFolderPath}/**/*.js`, from: /\.\.\/\.\.\/utils/g, to: "../utils" }); + + await replaceInFiles({ + files: `${componentFolderPath}/**/*.mjs`, + from: /\.\.\/\.\.\/utils/g, + to: "../utils" + }); } /** - * @summary The main post-build script + * @summary The main post-build script. + * 1. Rename all `.js` files in `dist-modules-temp` to `.mjs` extension + * 2. Copy all `.mjs` files into `dist` + * 3. Delete `dist-modules-temp` + * 4. Move components up to `dist` root and delete `components` folder + * 5. Copy `package.json` and markdown files into `dist` + * + * `dist` is now ready to be published in the final package structure * @returns {Promise} Nothing */ async function run() { - // After the Babel build step, we have a `dist` folder but we want to remove the extra `components` + // Rename all `.js` files in `dist-modules-temp` to `.mjs` extension + await recursivelyChangeExtension(DIST_MODULES_FOLDER, "js", "mjs"); + + // Copy all `.mjs` files into `dist` + await fse.copy(DIST_MODULES_FOLDER, DIST_FOLDER); + + // Delete `dist-modules-temp` + await fse.remove(DIST_MODULES_FOLDER); + + // We now have a `dist` folder but we want to remove the extra `components` // folder inside it in order to have flatter import paths. We"ll traverse the `dist/components/*` // folders here and move them up a level. const directoryContents = await fse.readdir(COMPONENTS_FOLDER); diff --git a/package/scripts/prebuild.js b/package/scripts/prebuild.js index e34f599b1..a3db55fdf 100644 --- a/package/scripts/prebuild.js +++ b/package/scripts/prebuild.js @@ -1,15 +1,27 @@ +/** + * This script auto-creates an `index.js` file in each components/Component/v* + * directory. It runs just before we do the Babel build for publishing. + */ + const path = require("path"); const fs = require("fs-extra"); const SRC_PATH = path.join(process.cwd(), "src"); const BASE_PATH = path.join(SRC_PATH, "components"); +// Loop through each item in the /package/src/components directory const directoryContents = fs.readdirSync(BASE_PATH); directoryContents.forEach((componentName) => { + // Ignore files if (componentName.indexOf(".") !== -1) return; + + // For directories, loop through each item in them const compDirectoryContents = fs.readdirSync(path.join(BASE_PATH, componentName)); compDirectoryContents.forEach((versionName) => { + // Ignore anything that isn't a version directory if (!versionName.startsWith("v")) return; + + // In all version directories, auto-create an index.js file if there isn't one const filePath = path.join(BASE_PATH, componentName, versionName, "index.js"); fs.ensureFileSync(filePath); fs.writeFileSync(filePath, `export { default } from "./${componentName}";\n`); diff --git a/package/yarn.lock b/package/yarn.lock index e8800c85a..087a96f02 100644 --- a/package/yarn.lock +++ b/package/yarn.lock @@ -656,6 +656,16 @@ dependencies: regenerator-transform "^0.13.3" +"@babel/plugin-transform-runtime@7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" + integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + resolve "^1.8.1" + semver "^5.5.1" + "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" @@ -795,7 +805,7 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.1": version "7.3.1" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA== @@ -1532,13 +1542,15 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@24.0.0, babel-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-24.0.0.tgz#8a0c767f03f4a595fb921afdab13ff126edd00da" - integrity sha512-YGKRbZUjoRmNIAyG7x4wYxUyHvHPFpYXj6Mx1A5cslhaQOUgP/+LF3wtFgMuOQkIpjbVNBufmOnVY0QVwB5v9Q== +babel-jest@24.1.0, babel-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.1.0.tgz#441e23ef75ded3bd547e300ac3194cef87b55190" + integrity sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw== dependencies: babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.0.0" + babel-preset-jest "^24.1.0" + chalk "^2.4.2" + slash "^2.0.0" babel-jest@^23.6.0: version "23.6.0" @@ -1603,10 +1615,10 @@ babel-plugin-jest-hoist@^23.2.0: resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc= -babel-plugin-jest-hoist@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.0.0.tgz#3adf030b6fd67e4311479a54b24077bdfc226ec9" - integrity sha512-ipefE7YWNyRNVaV/MonUb/I5nef53ZRFR74P9meMGmJxqt8s1BJmfhw11YeIMbcjXN4fxtWUaskZZe8yreXE1Q== +babel-plugin-jest-hoist@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.1.0.tgz#dfecc491fb15e2668abbd690a697a8fd1411a7f8" + integrity sha512-gljYrZz8w1b6fJzKcsfKsipSru2DU2DmQ39aB6nV3xQ0DDv3zpIzKGortA5gknrhNnPN8DweaEgrnZdmbGmhnw== babel-plugin-macros@^2.0.0: version "2.3.0" @@ -1658,13 +1670,13 @@ babel-preset-jest@^23.2.0: babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.0.0.tgz#d23782e5e036cff517859640a80960bd628bd82b" - integrity sha512-ECMMOLvNDCmsn3geBa3JkwzylcfpThMpAdfreONQm8EmXcs4tXUpXZDQPxiIMg7nMobTuAC2zDGIKrbrBXW2Vg== +babel-preset-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.1.0.tgz#83bc564fdcd4903641af65ec63f2f5de6b04132e" + integrity sha512-FfNLDxFWsNX9lUmtwY7NheGlANnagvxq8LZdl5PKnVG3umP+S/g0XbVBfwtA4Ai3Ri/IMkWabBz3Tyk9wdspcw== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.0.0" + babel-plugin-jest-hoist "^24.1.0" babel-register@^6.26.0: version "6.26.0" @@ -2167,7 +2179,7 @@ chalk@2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3773,10 +3785,10 @@ expect@^23.6.0: jest-message-util "^23.4.0" jest-regex-util "^23.3.0" -expect@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" - integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== +expect@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.1.0.tgz#88e73301c4c785cde5f16da130ab407bdaf8c0f2" + integrity sha512-lVcAPhaYkQcIyMS+F8RVwzbm1jro20IG8OkvxQ6f1JfqhVZyyudCwYogQ7wnktlf14iF3ii7ArIUO/mqvrW9Gw== dependencies: ansi-styles "^3.2.0" jest-get-type "^24.0.0" @@ -5519,10 +5531,10 @@ jest-changed-files@^24.0.0: execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-24.0.0.tgz#691fd4f7bce2574c1865db6844a43b56e60ce2a4" - integrity sha512-mElnFipLaGxo1SiQ1CLvuaz3eX07MJc4HcyKrApSJf8xSdY1/EwaHurKwu1g2cDiwIgY8uHj7UcF5OYbtiBOWg== +jest-cli@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.1.0.tgz#f7cc98995f36e7210cce3cbb12974cbf60940843" + integrity sha512-U/iyWPwOI0T1CIxVLtk/2uviOTJ/OiSWJSe8qt6X1VkbbgP+nrtLJlmT9lPBe4lK78VNFJtrJ7pttcNv/s7yCw== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -5536,16 +5548,16 @@ jest-cli@^24.0.0: istanbul-lib-instrument "^3.0.1" istanbul-lib-source-maps "^3.0.1" jest-changed-files "^24.0.0" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-environment-jsdom "^24.0.0" jest-get-type "^24.0.0" jest-haste-map "^24.0.0" jest-message-util "^24.0.0" jest-regex-util "^24.0.0" - jest-resolve-dependencies "^24.0.0" - jest-runner "^24.0.0" - jest-runtime "^24.0.0" - jest-snapshot "^24.0.0" + jest-resolve-dependencies "^24.1.0" + jest-runner "^24.1.0" + jest-runtime "^24.1.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" jest-watcher "^24.0.0" @@ -5583,27 +5595,26 @@ jest-config@^23.6.0: micromatch "^2.3.11" pretty-format "^23.6.0" -jest-config@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-24.0.0.tgz#878abe03c060c74a0ec30d3cd5dd1897873e030e" - integrity sha512-9/soqWL5YSq1ZJtgVJ5YYPCL1f9Mi2lVCp5+OXuYBOaN8DHSFRCSWip0rQ6N+mPTOEIAlCvcUH8zaPOwK4hePg== +jest-config@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.1.0.tgz#6ea6881cfdd299bc86cc144ee36d937c97c3850c" + integrity sha512-FbbRzRqtFC6eGjG5VwsbW4E5dW3zqJKLWYiZWhB0/4E5fgsMw8GODLbGSrY5t17kKOtCWb/Z7nsIThRoDpuVyg== dependencies: "@babel/core" "^7.1.0" - babel-jest "^24.0.0" + babel-jest "^24.1.0" chalk "^2.0.1" glob "^7.1.1" jest-environment-jsdom "^24.0.0" jest-environment-node "^24.0.0" jest-get-type "^24.0.0" - jest-jasmine2 "^24.0.0" + jest-jasmine2 "^24.1.0" jest-regex-util "^24.0.0" - jest-resolve "^24.0.0" + jest-resolve "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" micromatch "^3.1.10" pretty-format "^24.0.0" realpath-native "^1.0.2" - uuid "^3.3.2" jest-diff@^23.6.0: version "23.6.0" @@ -5725,22 +5736,23 @@ jest-jasmine2@^23.6.0: jest-util "^23.4.0" pretty-format "^23.6.0" -jest-jasmine2@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" - integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== +jest-jasmine2@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.1.0.tgz#8377324b967037c440f0a549ee0bbd9912055db6" + integrity sha512-H+o76SdSNyCh9fM5K8upK45YTo/DiFx5w2YAzblQebSQmukDcoVBVeXynyr7DDnxh+0NTHYRCLwJVf3tC518wg== dependencies: "@babel/traverse" "^7.1.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.0.0" + expect "^24.1.0" is-generator-fn "^2.0.0" jest-each "^24.0.0" jest-matcher-utils "^24.0.0" jest-message-util "^24.0.0" - jest-snapshot "^24.0.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" pretty-format "^24.0.0" + throat "^4.0.0" jest-junit@6.1.0: version "6.1.0" @@ -5821,13 +5833,13 @@ jest-regex-util@^24.0.0: resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.0.0.tgz#4feee8ec4a358f5bee0a654e94eb26163cb9089a" integrity sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q== -jest-resolve-dependencies@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.0.0.tgz#86540611d660bdcaab8b87d069247d3832811d94" - integrity sha512-CJGS5ME2g5wL16o3Y22ga9p5ntNT5CUYX40/0lYj9ic9jB5YHm/qMKTgbFt9kowEBiMOFpXy15dWtBTEU54+zg== +jest-resolve-dependencies@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.1.0.tgz#78f738a2ec59ff4d00751d9da56f176e3f589f6c" + integrity sha512-2VwPsjd3kRPu7qe2cpytAgowCObk5AKeizfXuuiwgm1a9sijJDZe8Kh1sFj6FKvSaNEfCPlBVkZEJa2482m/Uw== dependencies: jest-regex-util "^24.0.0" - jest-snapshot "^24.0.0" + jest-snapshot "^24.1.0" jest-resolve@^23.6.0: version "23.6.0" @@ -5838,38 +5850,39 @@ jest-resolve@^23.6.0: chalk "^2.0.1" realpath-native "^1.0.0" -jest-resolve@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.0.0.tgz#0206cfe842324f8796b01f706f4075309bf7b405" - integrity sha512-uKDGyJqNaBQKox1DJzm27CJobADsIMNgZGusXhtYzl98LKu/fKuokkRsd7EBVgoDA80HKHc3LOPKuYLryMu1vw== +jest-resolve@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.1.0.tgz#42ff0169b0ea47bfdbd0c52a0067ca7d022c7688" + integrity sha512-TPiAIVp3TG6zAxH28u/6eogbwrvZjBMWroSLBDkwkHKrqxB/RIdwkWDye4uqPlZIXWIaHtifY3L0/eO5Z0f2wg== dependencies: browser-resolve "^1.11.3" chalk "^2.0.1" realpath-native "^1.0.0" -jest-runner@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-24.0.0.tgz#00b280d52d23286111a8ed0362ed958283f7f0e3" - integrity sha512-XefXm2XimKtwdfi2am4364GfCmLD1tOjiRtDexY65diCXt4Rw23rxj2wiW7p9s8Nh9dzJQNmrheqZ5rzvn762g== +jest-runner@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.1.0.tgz#3686a2bb89ce62800da23d7fdc3da2c32792943b" + integrity sha512-CDGOkT3AIFl16BLL/OdbtYgYvbAprwJ+ExKuLZmGSCSldwsuU2dEGauqkpvd9nphVdAnJUcP12e/EIlnTX0QXg== dependencies: + chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-docblock "^24.0.0" jest-haste-map "^24.0.0" - jest-jasmine2 "^24.0.0" + jest-jasmine2 "^24.1.0" jest-leak-detector "^24.0.0" jest-message-util "^24.0.0" - jest-runtime "^24.0.0" + jest-runtime "^24.1.0" jest-util "^24.0.0" jest-worker "^24.0.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.0.0.tgz#bc80756f5458c2c8e4db86f44b687ff692026c13" - integrity sha512-UeVoTGiij8upcqfyBlJvImws7IGY+ZWtgVpt1h4VmVbyei39tVGia/20VoP3yvodS6FdjTwBj+JzVNuoh/9UTw== +jest-runtime@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.1.0.tgz#7c157a2e776609e8cf552f956a5a19ec9c985214" + integrity sha512-59/BY6OCuTXxGeDhEMU7+N33dpMQyXq7MLK07cNSIY/QYt2QZgJ7Tjx+rykBI0skAoigFl0A5tmT8UdwX92YuQ== dependencies: "@babel/core" "^7.1.0" babel-plugin-istanbul "^5.1.0" @@ -5879,19 +5892,19 @@ jest-runtime@^24.0.0: fast-json-stable-stringify "^2.0.0" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-haste-map "^24.0.0" jest-message-util "^24.0.0" jest-regex-util "^24.0.0" - jest-resolve "^24.0.0" - jest-snapshot "^24.0.0" + jest-resolve "^24.1.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" micromatch "^3.1.10" realpath-native "^1.0.0" slash "^2.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.4.2" + strip-bom "^3.0.0" + write-file-atomic "2.4.1" yargs "^12.0.2" jest-serializer@^24.0.0: @@ -5915,17 +5928,17 @@ jest-snapshot@^23.6.0: pretty-format "^23.6.0" semver "^5.5.0" -jest-snapshot@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.0.0.tgz#fb447a753a3271660b3d89d068698014eb14c414" - integrity sha512-7OcrckVnfzVYxSGPYl2Sn+HyT30VpDv+FMBFbQxSQ6DV2K9Js6vYT6d4SBPKp6DfDiEL2txNssJBxtlvF+Dymw== +jest-snapshot@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.1.0.tgz#85e22f810357aa5994ab61f236617dc2205f2f5b" + integrity sha512-th6TDfFqEmXvuViacU1ikD7xFb7lQsPn2rJl7OEmnfIVpnrx3QNY2t3PE88meeg0u/mQ0nkyvmC05PBqO4USFA== dependencies: "@babel/types" "^7.0.0" chalk "^2.0.1" jest-diff "^24.0.0" jest-matcher-utils "^24.0.0" jest-message-util "^24.0.0" - jest-resolve "^24.0.0" + jest-resolve "^24.1.0" mkdirp "^0.5.1" natural-compare "^1.4.0" pretty-format "^24.0.0" @@ -6005,13 +6018,13 @@ jest-worker@^24.0.0: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest/-/jest-24.0.0.tgz#b8e2c8e6274e1092c7f56e57762a1fdc7800201e" - integrity sha512-1Z2EblP4BnERbWZGtipGb9zjHDq7nCHgCY7V57F5SYaFRJV4DE1HKoOz+CRC5OrAThN9OVhRlUhTzsTFArg2iQ== +jest@24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" + integrity sha512-+q91L65kypqklvlRFfXfdzUKyngQLOcwGhXQaLmVHv+d09LkNXuBuGxlofTFW42XMzu3giIcChchTsCNUjQ78A== dependencies: import-local "^2.0.0" - jest-cli "^24.0.0" + jest-cli "^24.1.0" js-base64@^2.1.9: version "2.5.1" @@ -9426,7 +9439,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.9.0: +resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: version "1.10.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== @@ -10191,16 +10204,16 @@ strip-ansi@^5.0.0: dependencies: ansi-regex "^4.0.0" -strip-bom@3.0.0, strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -11115,7 +11128,16 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0: version "2.4.2" resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== diff --git a/styleguide.config.js b/styleguide.config.js index 8aed7c27f..448ba35d1 100644 --- a/styleguide.config.js +++ b/styleguide.config.js @@ -522,7 +522,7 @@ module.exports = { ] } ], - require: ["babel-polyfill", path.join(__dirname, "styleguide/src/styles.css")], + require: ["@babel/polyfill", path.join(__dirname, "styleguide/src/styles.css")], webpackConfig: { devtool: "source-map", module: { diff --git a/styleguide/src/appComponents.js b/styleguide/src/appComponents.js index b8237710f..b66e4f97c 100644 --- a/styleguide/src/appComponents.js +++ b/styleguide/src/appComponents.js @@ -51,7 +51,7 @@ import SelectableItem from "../../package/src/components/SelectableItem/v1"; import SelectableList from "../../package/src/components/SelectableList/v1"; import TextInput from "../../package/src/components/TextInput/v1"; // locales higher order component -import withLocales from "./components/withLocales.js"; +import withLocales from "./components/withLocales"; // Providing default locales to AddressForm in the components-context. // This way consuming components will have locales automatically. diff --git a/yarn.lock b/yarn.lock index 1d601731c..44e94d1c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -649,6 +649,16 @@ dependencies: regenerator-transform "^0.13.3" +"@babel/plugin-transform-runtime@7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" + integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + resolve "^1.8.1" + semver "^5.5.1" + "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" @@ -695,9 +705,9 @@ "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" -"@babel/polyfill@^7.0.0": +"@babel/polyfill@^7.0.0", "@babel/polyfill@^7.2.5": version "7.2.5" - resolved "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== dependencies: core-js "^2.5.7" @@ -1641,13 +1651,15 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@24.0.0, babel-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-24.0.0.tgz#8a0c767f03f4a595fb921afdab13ff126edd00da" - integrity sha512-YGKRbZUjoRmNIAyG7x4wYxUyHvHPFpYXj6Mx1A5cslhaQOUgP/+LF3wtFgMuOQkIpjbVNBufmOnVY0QVwB5v9Q== +babel-jest@24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.1.0.tgz#441e23ef75ded3bd547e300ac3194cef87b55190" + integrity sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw== dependencies: babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.0.0" + babel-preset-jest "^24.1.0" + chalk "^2.4.2" + slash "^2.0.0" babel-jest@^23.6.0: version "23.6.0" @@ -1657,6 +1669,16 @@ babel-jest@^23.6.0: babel-plugin-istanbul "^4.1.6" babel-preset-jest "^23.2.0" +babel-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-24.1.0.tgz#441e23ef75ded3bd547e300ac3194cef87b55190" + integrity sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw== + dependencies: + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.1.0" + chalk "^2.4.2" + slash "^2.0.0" + babel-loader@7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" @@ -1694,10 +1716,10 @@ babel-plugin-jest-hoist@^23.2.0: resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc= -babel-plugin-jest-hoist@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.0.0.tgz#3adf030b6fd67e4311479a54b24077bdfc226ec9" - integrity sha512-ipefE7YWNyRNVaV/MonUb/I5nef53ZRFR74P9meMGmJxqt8s1BJmfhw11YeIMbcjXN4fxtWUaskZZe8yreXE1Q== +babel-plugin-jest-hoist@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.1.0.tgz#dfecc491fb15e2668abbd690a697a8fd1411a7f8" + integrity sha512-gljYrZz8w1b6fJzKcsfKsipSru2DU2DmQ39aB6nV3xQ0DDv3zpIzKGortA5gknrhNnPN8DweaEgrnZdmbGmhnw== babel-plugin-module-resolver@3.1.3: version "3.1.3" @@ -1735,7 +1757,7 @@ babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-polyfill@6.26.0, babel-polyfill@^6.26.0: +babel-polyfill@6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" dependencies: @@ -1751,13 +1773,13 @@ babel-preset-jest@^23.2.0: babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.0.0.tgz#d23782e5e036cff517859640a80960bd628bd82b" - integrity sha512-ECMMOLvNDCmsn3geBa3JkwzylcfpThMpAdfreONQm8EmXcs4tXUpXZDQPxiIMg7nMobTuAC2zDGIKrbrBXW2Vg== +babel-preset-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.1.0.tgz#83bc564fdcd4903641af65ec63f2f5de6b04132e" + integrity sha512-FfNLDxFWsNX9lUmtwY7NheGlANnagvxq8LZdl5PKnVG3umP+S/g0XbVBfwtA4Ai3Ri/IMkWabBz3Tyk9wdspcw== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.0.0" + babel-plugin-jest-hoist "^24.1.0" babel-register@^6.26.0: version "6.26.0" @@ -2397,7 +2419,7 @@ chalk@2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4323,10 +4345,10 @@ expect@^23.6.0: jest-message-util "^23.4.0" jest-regex-util "^23.3.0" -expect@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" - integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== +expect@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/expect/-/expect-24.1.0.tgz#88e73301c4c785cde5f16da130ab407bdaf8c0f2" + integrity sha512-lVcAPhaYkQcIyMS+F8RVwzbm1jro20IG8OkvxQ6f1JfqhVZyyudCwYogQ7wnktlf14iF3ii7ArIUO/mqvrW9Gw== dependencies: ansi-styles "^3.2.0" jest-get-type "^24.0.0" @@ -6302,10 +6324,10 @@ jest-changed-files@^24.0.0: execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-24.0.0.tgz#691fd4f7bce2574c1865db6844a43b56e60ce2a4" - integrity sha512-mElnFipLaGxo1SiQ1CLvuaz3eX07MJc4HcyKrApSJf8xSdY1/EwaHurKwu1g2cDiwIgY8uHj7UcF5OYbtiBOWg== +jest-cli@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-24.1.0.tgz#f7cc98995f36e7210cce3cbb12974cbf60940843" + integrity sha512-U/iyWPwOI0T1CIxVLtk/2uviOTJ/OiSWJSe8qt6X1VkbbgP+nrtLJlmT9lPBe4lK78VNFJtrJ7pttcNv/s7yCw== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -6319,16 +6341,16 @@ jest-cli@^24.0.0: istanbul-lib-instrument "^3.0.1" istanbul-lib-source-maps "^3.0.1" jest-changed-files "^24.0.0" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-environment-jsdom "^24.0.0" jest-get-type "^24.0.0" jest-haste-map "^24.0.0" jest-message-util "^24.0.0" jest-regex-util "^24.0.0" - jest-resolve-dependencies "^24.0.0" - jest-runner "^24.0.0" - jest-runtime "^24.0.0" - jest-snapshot "^24.0.0" + jest-resolve-dependencies "^24.1.0" + jest-runner "^24.1.0" + jest-runtime "^24.1.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" jest-watcher "^24.0.0" @@ -6366,27 +6388,26 @@ jest-config@^23.6.0: micromatch "^2.3.11" pretty-format "^23.6.0" -jest-config@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-24.0.0.tgz#878abe03c060c74a0ec30d3cd5dd1897873e030e" - integrity sha512-9/soqWL5YSq1ZJtgVJ5YYPCL1f9Mi2lVCp5+OXuYBOaN8DHSFRCSWip0rQ6N+mPTOEIAlCvcUH8zaPOwK4hePg== +jest-config@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-24.1.0.tgz#6ea6881cfdd299bc86cc144ee36d937c97c3850c" + integrity sha512-FbbRzRqtFC6eGjG5VwsbW4E5dW3zqJKLWYiZWhB0/4E5fgsMw8GODLbGSrY5t17kKOtCWb/Z7nsIThRoDpuVyg== dependencies: "@babel/core" "^7.1.0" - babel-jest "^24.0.0" + babel-jest "^24.1.0" chalk "^2.0.1" glob "^7.1.1" jest-environment-jsdom "^24.0.0" jest-environment-node "^24.0.0" jest-get-type "^24.0.0" - jest-jasmine2 "^24.0.0" + jest-jasmine2 "^24.1.0" jest-regex-util "^24.0.0" - jest-resolve "^24.0.0" + jest-resolve "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" micromatch "^3.1.10" pretty-format "^24.0.0" realpath-native "^1.0.2" - uuid "^3.3.2" jest-diff@^23.6.0: version "23.6.0" @@ -6508,22 +6529,23 @@ jest-jasmine2@^23.6.0: jest-util "^23.4.0" pretty-format "^23.6.0" -jest-jasmine2@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" - integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== +jest-jasmine2@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.1.0.tgz#8377324b967037c440f0a549ee0bbd9912055db6" + integrity sha512-H+o76SdSNyCh9fM5K8upK45YTo/DiFx5w2YAzblQebSQmukDcoVBVeXynyr7DDnxh+0NTHYRCLwJVf3tC518wg== dependencies: "@babel/traverse" "^7.1.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.0.0" + expect "^24.1.0" is-generator-fn "^2.0.0" jest-each "^24.0.0" jest-matcher-utils "^24.0.0" jest-message-util "^24.0.0" - jest-snapshot "^24.0.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" pretty-format "^24.0.0" + throat "^4.0.0" jest-junit@6.1.0: version "6.1.0" @@ -6604,13 +6626,13 @@ jest-regex-util@^24.0.0: resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.0.0.tgz#4feee8ec4a358f5bee0a654e94eb26163cb9089a" integrity sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q== -jest-resolve-dependencies@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.0.0.tgz#86540611d660bdcaab8b87d069247d3832811d94" - integrity sha512-CJGS5ME2g5wL16o3Y22ga9p5ntNT5CUYX40/0lYj9ic9jB5YHm/qMKTgbFt9kowEBiMOFpXy15dWtBTEU54+zg== +jest-resolve-dependencies@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.1.0.tgz#78f738a2ec59ff4d00751d9da56f176e3f589f6c" + integrity sha512-2VwPsjd3kRPu7qe2cpytAgowCObk5AKeizfXuuiwgm1a9sijJDZe8Kh1sFj6FKvSaNEfCPlBVkZEJa2482m/Uw== dependencies: jest-regex-util "^24.0.0" - jest-snapshot "^24.0.0" + jest-snapshot "^24.1.0" jest-resolve@^23.6.0: version "23.6.0" @@ -6621,38 +6643,39 @@ jest-resolve@^23.6.0: chalk "^2.0.1" realpath-native "^1.0.0" -jest-resolve@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.0.0.tgz#0206cfe842324f8796b01f706f4075309bf7b405" - integrity sha512-uKDGyJqNaBQKox1DJzm27CJobADsIMNgZGusXhtYzl98LKu/fKuokkRsd7EBVgoDA80HKHc3LOPKuYLryMu1vw== +jest-resolve@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.1.0.tgz#42ff0169b0ea47bfdbd0c52a0067ca7d022c7688" + integrity sha512-TPiAIVp3TG6zAxH28u/6eogbwrvZjBMWroSLBDkwkHKrqxB/RIdwkWDye4uqPlZIXWIaHtifY3L0/eO5Z0f2wg== dependencies: browser-resolve "^1.11.3" chalk "^2.0.1" realpath-native "^1.0.0" -jest-runner@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-24.0.0.tgz#00b280d52d23286111a8ed0362ed958283f7f0e3" - integrity sha512-XefXm2XimKtwdfi2am4364GfCmLD1tOjiRtDexY65diCXt4Rw23rxj2wiW7p9s8Nh9dzJQNmrheqZ5rzvn762g== +jest-runner@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-24.1.0.tgz#3686a2bb89ce62800da23d7fdc3da2c32792943b" + integrity sha512-CDGOkT3AIFl16BLL/OdbtYgYvbAprwJ+ExKuLZmGSCSldwsuU2dEGauqkpvd9nphVdAnJUcP12e/EIlnTX0QXg== dependencies: + chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-docblock "^24.0.0" jest-haste-map "^24.0.0" - jest-jasmine2 "^24.0.0" + jest-jasmine2 "^24.1.0" jest-leak-detector "^24.0.0" jest-message-util "^24.0.0" - jest-runtime "^24.0.0" + jest-runtime "^24.1.0" jest-util "^24.0.0" jest-worker "^24.0.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.0.0.tgz#bc80756f5458c2c8e4db86f44b687ff692026c13" - integrity sha512-UeVoTGiij8upcqfyBlJvImws7IGY+ZWtgVpt1h4VmVbyei39tVGia/20VoP3yvodS6FdjTwBj+JzVNuoh/9UTw== +jest-runtime@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.1.0.tgz#7c157a2e776609e8cf552f956a5a19ec9c985214" + integrity sha512-59/BY6OCuTXxGeDhEMU7+N33dpMQyXq7MLK07cNSIY/QYt2QZgJ7Tjx+rykBI0skAoigFl0A5tmT8UdwX92YuQ== dependencies: "@babel/core" "^7.1.0" babel-plugin-istanbul "^5.1.0" @@ -6662,19 +6685,19 @@ jest-runtime@^24.0.0: fast-json-stable-stringify "^2.0.0" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-haste-map "^24.0.0" jest-message-util "^24.0.0" jest-regex-util "^24.0.0" - jest-resolve "^24.0.0" - jest-snapshot "^24.0.0" + jest-resolve "^24.1.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" micromatch "^3.1.10" realpath-native "^1.0.0" slash "^2.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.4.2" + strip-bom "^3.0.0" + write-file-atomic "2.4.1" yargs "^12.0.2" jest-serializer@^24.0.0: @@ -6698,17 +6721,17 @@ jest-snapshot@^23.6.0: pretty-format "^23.6.0" semver "^5.5.0" -jest-snapshot@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.0.0.tgz#fb447a753a3271660b3d89d068698014eb14c414" - integrity sha512-7OcrckVnfzVYxSGPYl2Sn+HyT30VpDv+FMBFbQxSQ6DV2K9Js6vYT6d4SBPKp6DfDiEL2txNssJBxtlvF+Dymw== +jest-snapshot@^24.1.0: + version "24.1.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.1.0.tgz#85e22f810357aa5994ab61f236617dc2205f2f5b" + integrity sha512-th6TDfFqEmXvuViacU1ikD7xFb7lQsPn2rJl7OEmnfIVpnrx3QNY2t3PE88meeg0u/mQ0nkyvmC05PBqO4USFA== dependencies: "@babel/types" "^7.0.0" chalk "^2.0.1" jest-diff "^24.0.0" jest-matcher-utils "^24.0.0" jest-message-util "^24.0.0" - jest-resolve "^24.0.0" + jest-resolve "^24.1.0" mkdirp "^0.5.1" natural-compare "^1.4.0" pretty-format "^24.0.0" @@ -6788,13 +6811,13 @@ jest-worker@^24.0.0: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/jest/-/jest-24.0.0.tgz#b8e2c8e6274e1092c7f56e57762a1fdc7800201e" - integrity sha512-1Z2EblP4BnERbWZGtipGb9zjHDq7nCHgCY7V57F5SYaFRJV4DE1HKoOz+CRC5OrAThN9OVhRlUhTzsTFArg2iQ== +jest@24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" + integrity sha512-+q91L65kypqklvlRFfXfdzUKyngQLOcwGhXQaLmVHv+d09LkNXuBuGxlofTFW42XMzu3giIcChchTsCNUjQ78A== dependencies: import-local "^2.0.0" - jest-cli "^24.0.0" + jest-cli "^24.1.0" js-base64@^2.1.9: version "2.5.1" @@ -10654,7 +10677,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.9.0: +resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: version "1.10.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== @@ -11699,16 +11722,16 @@ strip-ansi@^5.0.0: dependencies: ansi-regex "^4.0.0" -strip-bom@3.0.0, strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + strip-color@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" @@ -12923,7 +12946,16 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0: version "2.4.2" resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==