diff --git a/.eslintignore b/.eslintignore index 84abc5ab840..194bd37439a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -12,8 +12,9 @@ coverage **/Generated **/build css -packages/react-icons/src/icons +packages/react-docs/.cache packages/react-docs/static +packages/react-docs/public # package managers yarn-error.log diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json index 1a21a32dce9..e47394c8d16 100644 --- a/packages/react-docs/package.json +++ b/packages/react-docs/package.json @@ -30,7 +30,7 @@ "@patternfly/react-virtualized-extension": "^4.0.22", "gatsby": "2.20.2", "gatsby-cli": "2.11.0", - "gatsby-theme-patternfly-org": "^1.4.9", + "gatsby-theme-patternfly-org": "^1.4.16", "gatsby-transformer-react-docgen-typescript": "^0.2.5", "null-loader": "^3.0.0", "react": "^16.8.0", diff --git a/packages/react-tokens/README.md b/packages/react-tokens/README.md index 1834a5d4cfb..852143f30e0 100644 --- a/packages/react-tokens/README.md +++ b/packages/react-tokens/README.md @@ -38,4 +38,4 @@ global_BackgroundColor_100.value === '#fff'; // true global_BackgroundColor_100.var === 'var(--pf-global--BackgroundColor--100)'; // true ``` -[token-page]: https://patternfly-react.surge.sh/patternfly-4/tokens/Global%20CSS%20variables/ +[token-page]: https://patternfly-react.surge.sh/documentation/overview/global-css-variables diff --git a/packages/react-tokens/package.json b/packages/react-tokens/package.json index c26a01933ee..3283490e7c9 100644 --- a/packages/react-tokens/package.json +++ b/packages/react-tokens/package.json @@ -25,9 +25,8 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "scripts": { - "build": "node src/generateTokens.js && node src/variablesByFile.js && yarn build:babel:umd && yarn build:babel:umd:variables", + "build": "node scripts/writeTokens.js && yarn build:babel:umd", "build:babel:umd": "babel dist/esm --out-dir dist/umd --plugins transform-es2015-modules-umd -q", - "build:babel:umd:variables": "babel dist/variables/esm --out-dir dist/variables/umd --plugins transform-es2015-modules-umd -q", "clean": "rimraf dist" }, "devDependencies": { diff --git a/packages/react-tokens/scripts/generateTokens.js b/packages/react-tokens/scripts/generateTokens.js new file mode 100644 index 00000000000..5bc30fada98 --- /dev/null +++ b/packages/react-tokens/scripts/generateTokens.js @@ -0,0 +1,237 @@ +const glob = require('glob'); +const { dirname, basename } = require('path'); +const { parse } = require('css'); +const { readFileSync } = require('fs'); + +const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); + +// Helpers +const formatCustomPropertyName = key => key.replace('--pf-', '').replace(/-+/g, '_'); + +const getRegexMatches = (string, regex) => { + const res = {}; + let matches; + while ((matches = regex.exec(string))) { + res[matches[1]] = matches[2].trim(); + } + return res; +}; + +const getDeclarations = cssAst => + cssAst.stylesheet.rules + .filter(node => node.type === 'rule' && !node.selectors.includes('.pf-t-dark')) + .map(node => node.declarations.filter(decl => decl.type === 'declaration')) + .reduce((acc, val) => acc.concat(val), []); // flatten + +const formatFilePathToName = filePath => { + // const filePathArr = filePath.split('/'); + let prefix = ''; + if (filePath.includes('components/')) { + prefix = 'c_'; + } else if (filePath.includes('layouts/')) { + prefix = 'l_'; + } + return `${prefix}${basename(filePath, '.css').replace(/-+/g, '_')}`; +}; + +const getLocalVarsMap = cssFiles => { + const res = {}; + + cssFiles.forEach(filePath => { + const cssAst = parse(readFileSync(filePath, 'utf8')); + + getDeclarations(cssAst).forEach(({ property, value, parent }) => { + if (property.startsWith('--pf')) { + res[property] = { + ...res[property], + [parent.selectors[0]]: value + }; + } + }); + }); + + return res; +}; + +/** + * Generates tokens from CSS in node_modules/@patternfly/patternfly/** + * @returns {object} of form { + * c_about_modal_box: { + * ".pf-c-about-modal-box" : { + * "global_Color_100": { + * "name": "--pf-global--Color--100", + * "value": "#fff", + * "values": [ + * "--pf-global--Color--light-100", + * "$pf-global--Color--light-100", + * "$pf-color-white", + * "#fff" + * ] + * }, + * }, + * ".pf-c-about-modal-box .pf-c-card": {} + * } + * } + */ +function generateTokens() { + const cssFiles = glob.sync( + ['{**/{components,layouts}/**/*.css', '**/patternfly-charts.css', '**/patternfly-variables.css}'].join(','), + { + cwd: pfStylesDir, + ignore: ['assets/**'], + absolute: true + } + ); + + // various lookup tables to resolve variables + const variables = readFileSync(require.resolve('@patternfly/patternfly/_variables.scss'), 'utf8'); + const cssGlobalsToScssVarsMap = getRegexMatches(variables, /(--pf-.*):\s*(?:#{)?(\$?pf-[\w- _]+)}?;/g); + + // contains default values and mappings to colors.scss for color values + const scssVariables = readFileSync( + require.resolve('@patternfly/patternfly/sass-utilities/scss-variables.scss'), + 'utf8' + ); + const scssVarsMap = getRegexMatches(scssVariables, /(\$.*):\s*([^;^!]+)/g); + + // contains default values and mappings to colors.scss for color values + const scssColorVariables = readFileSync(require.resolve('@patternfly/patternfly/sass-utilities/colors.scss'), 'utf8'); + const scssColorsMap = getRegexMatches(scssColorVariables, /(\$.*):\s*([^\s]+)\s*(?:!default);/g); + + // contains default values and mappings to colors.scss for color values + const cssGlobalVariables = readFileSync(require.resolve('@patternfly/patternfly/patternfly-variables.css'), 'utf8'); + const cssGlobalVariablesMap = getRegexMatches(cssGlobalVariables, /(--pf-[\w-]*):\s*([\w -_]+);/g); + + const combinedScssVarsColorsMap = { + ...scssVarsMap, + ...scssColorsMap + }; + + const getComputedCSSVarValue = (value, selector, varMap) => + value.replace(/var\(([\w-]*)\)/g, (full, match) => { + if (match.startsWith('--pf-global')) { + if (varMap[match]) { + return varMap[match]; + } else { + return full; + } + } else { + if (selector) { + return getFromLocalVarsMap(match, selector); + } + } + }); + + const getComputedScssVarValue = value => + value.replace(/\$pf[^,)\s*/]*/g, match => { + if (combinedScssVarsColorsMap[match]) { + return combinedScssVarsColorsMap[match]; + } else { + return match; + } + }); + + const getVarsMap = (value, selector) => { + // evaluate the value and follow the variable chain + const varsMap = [value]; + + let computedValue = value; + let finalValue = value; + while (finalValue.includes('var(--pf') || computedValue.includes('var(--pf') || computedValue.includes('$pf-')) { + // keep following the variable chain until we get to a value + if (finalValue.includes('var(--pf')) { + finalValue = getComputedCSSVarValue(finalValue, selector, cssGlobalVariablesMap); + } + if (computedValue.includes('var(--pf')) { + computedValue = getComputedCSSVarValue(computedValue, selector, cssGlobalsToScssVarsMap); + } else { + computedValue = getComputedScssVarValue(computedValue); + } + varsMap.push(computedValue); + } + const lastElement = varsMap[varsMap.length - 1]; + if (lastElement.includes('pf-')) { + varsMap.push(finalValue); + } + // all values should not be boxed by var() + return varsMap.map(variable => variable.replace(/var\(([\w-]*)\)/g, (full, match) => match)); + }; + + // pre-populate the localVarsMap so we can lookup local variables within or across files, e.g. if we have the declaration: + // --pf-c-chip-group--MarginBottom: calc(var(--pf-c-chip-group--c-chip--MarginBottom) * -1); + // then we need to find: + // --pf-c-chip-group--c-chip--MarginBottom: var(--pf-global--spacer--xs); + const localVarsMap = getLocalVarsMap(cssFiles); + + const getFromLocalVarsMap = (match, selector) => { + if (localVarsMap[match]) { + // have exact selectors match + if (localVarsMap[match][selector]) { + return localVarsMap[match][selector]; + } else if (Object.keys(localVarsMap[match]).length === 1) { + // only one match, return its value + return Object.values(localVarsMap[match])[0]; + } else { + // find the nearest parent selector and return its value + let bestMatch = ''; + let bestValue = ''; + for (const key in localVarsMap[match]) { + if (localVarsMap[match].hasOwnProperty(key)) { + // remove trailing * from key to compare + let sanitizedKey = key.replace(/\*$/, '').trim(); + sanitizedKey = sanitizedKey.replace(/>$/, '').trim(); + sanitizedKey = sanitizedKey.replace(/\[.*\]$/, '').trim(); + // is key a parent of selector? + if (selector.indexOf(sanitizedKey) > -1) { + if (sanitizedKey.length > bestMatch.length) { + // longest matching key is the winner + bestMatch = key; + bestValue = localVarsMap[match][key]; + } + } + } + } + if (!bestMatch) { + // eslint-disable-next-line no-console + console.error(`no matching selector found for ${match} in localVarsMap`); + } + return bestValue; + } + } else { + // eslint-disable-next-line no-console + console.error(`no matching property found for ${match} in localVarsMap`); + } + }; + + const fileTokens = {}; + cssFiles.forEach(filePath => { + const cssAst = parse(readFileSync(filePath, 'utf8')); + // key is the formatted file name, e.g. c_about_modal_box + const key = formatFilePathToName(filePath); + + getDeclarations(cssAst) + .filter(({ property }) => property.startsWith('--pf')) + .forEach(({ property, value, parent }) => { + const selector = parent.selectors[0]; + + const varsMap = getVarsMap(value, selector); + const propertyObj = { + name: property, + value: varsMap[varsMap.length - 1] + }; + if (varsMap.length > 1) { + propertyObj.values = varsMap; + } + + fileTokens[key] = fileTokens[key] || {}; + fileTokens[key][selector] = fileTokens[key][selector] || {}; + fileTokens[key][selector][formatCustomPropertyName(property)] = propertyObj; + }); + }); + + return fileTokens; +} + +module.exports = { + generateTokens +}; diff --git a/packages/react-tokens/scripts/writeTokens.js b/packages/react-tokens/scripts/writeTokens.js new file mode 100644 index 00000000000..c214c233fbd --- /dev/null +++ b/packages/react-tokens/scripts/writeTokens.js @@ -0,0 +1,87 @@ +const { outputFileSync } = require('fs-extra'); +const { resolve, join } = require('path'); +const { generateTokens } = require('./generateTokens'); + +const outDir = resolve(__dirname, '../dist'); + +const writeESMExport = (tokenName, tokenString) => + outputFileSync( + join(outDir, 'esm/', `${tokenName}.js`), + ` +export const ${tokenName} = ${tokenString}; +export default ${tokenName}; +`.trim() + ); + +const writeCJSExport = (tokenName, tokenString) => + outputFileSync( + join(outDir, 'js', `${tokenName}.js`), + ` +"use strict"; +exports.__esModule = true; +exports.${tokenName} = ${tokenString}; +exports["default"] = exports.${tokenName}; +`.trim() + ); + +const writeDTSExport = (tokenName, tokenString) => + outputFileSync( + join(outDir, 'js', `${tokenName}.d.ts`), + ` +export const ${tokenName}: ${tokenString}; +export default ${tokenName}; +`.trim() + ); + +const index = []; + +/** + * Writes CJS and ESM tokens to `dist` directory + * + * @param {any} tokens tokens from generateTokens + */ +function writeTokens(tokens) { + Object.entries(tokens).forEach(([tokenName, tokenValue]) => { + const tokenString = JSON.stringify(tokenValue, null, 2); + + writeESMExport(tokenName, tokenString); + writeCJSExport(tokenName, tokenString); + writeDTSExport(tokenName, tokenString); + index.push(tokenName); + + // Legacy token support -- values may be incorrect. + Object.values(tokenValue) + .map(values => Object.entries(values)) + .reduce((acc, val) => acc.concat(val), []) // flatten + .forEach(([oldTokenName, { name, value }]) => { + const oldToken = { + name, + value: oldTokenName.includes('chart') && !isNaN(+value) ? +value : value, + var: `var(${name})` + }; + const oldTokenString = JSON.stringify(oldToken, null, 2); + writeESMExport(oldTokenName, oldTokenString); + writeCJSExport(oldTokenName, oldTokenString); + writeDTSExport(oldTokenName, oldTokenString); + index.push(oldTokenName); + }); + }); + + // Index files including legacy tokens + const esmIndexString = index.map(file => `export * from './${file}';`).join('\n'); + outputFileSync(join(outDir, 'esm', 'index.js'), esmIndexString); + outputFileSync(join(outDir, 'js', 'index.d.ts'), esmIndexString); + outputFileSync( + join(outDir, 'js', 'index.js'), + ` +"use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +exports.__esModule = true; +${index.map(file => `__export(require('./${file}'));`).join('\n')} +`.trim() + ); +} + +writeTokens(generateTokens()); diff --git a/packages/react-tokens/src/__snapshots__/generateTokens.test.js.snap b/packages/react-tokens/src/__snapshots__/generateTokens.test.js.snap deleted file mode 100644 index eba402baf48..00000000000 --- a/packages/react-tokens/src/__snapshots__/generateTokens.test.js.snap +++ /dev/null @@ -1,83 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`computes variable value 1`] = ` -Object { - "esm/c_button_BackgroundColor.js": "export default {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "esm/global_BackgroundColor_100.js": "export default {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "esm/index.js": "export const global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -export const c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/c_button_BackgroundColor.d.ts": "const c_button_BackgroundColor: {\\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\";} -export default c_button_BackgroundColor -", - "js/c_button_BackgroundColor.js": "module.exports = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/global_BackgroundColor_100.d.ts": "const global_BackgroundColor_100: {\\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\";} -export default global_BackgroundColor_100 -", - "js/global_BackgroundColor_100.js": "module.exports = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "js/index.d.ts": "export const global_BackgroundColor_100: { \\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\"; } -export const c_button_BackgroundColor: { \\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\"; } -", - "js/index.js": "module.exports.global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -module.exports.c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", -} -`; - -exports[`it generates token from class selector with value 1`] = ` -Object { - "esm/c_button_BackgroundColor.js": "export default {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "esm/index.js": "export const c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/c_button_BackgroundColor.d.ts": "const c_button_BackgroundColor: {\\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\";} -export default c_button_BackgroundColor -", - "js/c_button_BackgroundColor.js": "module.exports = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/index.d.ts": "export const c_button_BackgroundColor: { \\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\"; } -", - "js/index.js": "module.exports.c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", -} -`; - -exports[`it generates token from root selector with value 1`] = ` -Object { - "esm/global_BackgroundColor_100.js": "export default {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "esm/index.js": "export const global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "js/global_BackgroundColor_100.d.ts": "const global_BackgroundColor_100: {\\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\";} -export default global_BackgroundColor_100 -", - "js/global_BackgroundColor_100.js": "module.exports = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "js/index.d.ts": "export const global_BackgroundColor_100: { \\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\"; } -", - "js/index.js": "module.exports.global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", -} -`; - -exports[`keeps variable reference if computing fails 1`] = ` -Object { - "esm/c_button_BackgroundColor.js": "export default {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "esm/index.js": "export const c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/c_button_BackgroundColor.d.ts": "const c_button_BackgroundColor: {\\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"var(--pf-global--BackgroundColor--100)\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\";} -export default c_button_BackgroundColor -", - "js/c_button_BackgroundColor.js": "module.exports = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/index.d.ts": "export const c_button_BackgroundColor: { \\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"var(--pf-global--BackgroundColor--100)\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\"; } -", - "js/index.js": "module.exports.c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", -} -`; diff --git a/packages/react-tokens/src/generateTokens.js b/packages/react-tokens/src/generateTokens.js deleted file mode 100644 index 9183a616a25..00000000000 --- a/packages/react-tokens/src/generateTokens.js +++ /dev/null @@ -1,59 +0,0 @@ -const glob = require('glob'); -const { dirname, resolve, join } = require('path'); -const { parse } = require('css'); -const { readFileSync, readdirSync } = require('fs'); -const { outputFileSync } = require('fs-extra'); - -const outDir = resolve(__dirname, '../dist'); -const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); -const templateDir = resolve(__dirname, './templates'); - -const cssFiles = glob.sync('**/*.css', { - cwd: pfStylesDir, - ignore: ['assets/**'] -}); - -const formatCustomPropertyName = key => key.replace('--pf-', '').replace(/-+/g, '_'); - -const tokens = {}; -cssFiles.forEach(filePath => { - const absFilePath = resolve(pfStylesDir, filePath); - const cssAst = parse(readFileSync(absFilePath, 'utf8')); - cssAst.stylesheet.rules.forEach(node => { - if (node.type !== 'rule' || node.selectors.indexOf('.pf-t-dark') !== -1) { - return; - } - - node.declarations.forEach(decl => { - if (decl.type !== 'declaration') { - return; - } - const { property, value } = decl; - if (decl.property.startsWith('--')) { - const key = formatCustomPropertyName(property); - const populatedValue = value.replace(/var\(([\w|-]*)\)/g, (full, match) => { - const computedValue = tokens[formatCustomPropertyName(match)]; - return computedValue ? computedValue.value : `var(${match})`; - }); - // Avoid stringifying numeric chart values - const chartNum = decl.property.startsWith('--pf-chart-') && !isNaN(populatedValue); - tokens[key] = { - name: property, - value: chartNum ? Number(populatedValue).valueOf() : populatedValue, - var: `var(${property})` - }; - } - }); - }); -}); - -readdirSync(templateDir).forEach(templateFile => { - const template = require(join(templateDir, templateFile)); - outputFileSync(template.getOutputPath({ outDir }), template.getContent({ tokens })); - Object.entries(tokens).forEach(([tokenName, tokenValue]) => { - outputFileSync( - template.getSingleOutputPath({ outDir, tokenName }), - template.getSingleContent({ tokenName, tokenValue }) - ); - }); -}); diff --git a/packages/react-tokens/src/generateTokens.test.js b/packages/react-tokens/src/generateTokens.test.js deleted file mode 100644 index 9840feffeb4..00000000000 --- a/packages/react-tokens/src/generateTokens.test.js +++ /dev/null @@ -1,68 +0,0 @@ -/* eslint-disable global-require */ -jest - .mock('fs-extra') - .mock('glob') - .mock('fs', () => ({ - ...require.requireActual('fs'), - readFileSync: jest.fn(() => '') - })); - -let globSyncMock; -let outputFileSyncMock; -let readFileSyncMock; - -beforeEach(() => { - jest.resetModules(); - globSyncMock = require('glob').sync; - globSyncMock.mockReturnValue(['test.css']); - readFileSyncMock = require('fs').readFileSync; - outputFileSyncMock = require('fs-extra').outputFileSync; -}); - -test('it generates token from root selector with value', () => { - readFileSyncMock.mockReturnValue(':root { --pf-global--BackgroundColor--100: #fff; }'); - require('./generateTokens'); - expect(getOutputs()).toMatchSnapshot(); -}); - -test('it generates token from class selector with value', () => { - readFileSyncMock.mockReturnValue('.pf-c-button { --pf-c-button--BackgroundColor: #fff }'); - require('./generateTokens'); - expect(getOutputs()).toMatchSnapshot(); -}); - -test('computes variable value', () => { - readFileSyncMock.mockReturnValue( - `.pf-c-button { - --pf-global--BackgroundColor--100: #fff; - --pf-c-button--BackgroundColor: var(--pf-global--BackgroundColor--100); - }` - ); - require('./generateTokens'); - expect(getOutputs()).toMatchSnapshot(); -}); - -test('keeps variable reference if computing fails', () => { - readFileSyncMock.mockReturnValue( - `.pf-c-button { - --pf-c-button--BackgroundColor: var(--pf-global--BackgroundColor--100); - }` - ); - require('./generateTokens'); - expect(getOutputs()).toMatchSnapshot(); -}); - -/** - * - */ -function getOutputs() { - return outputFileSyncMock.mock.calls.reduce((acc, call) => { - const [filePath, content] = call; - const splitPath = filePath.split(/[/\\]/); - const name = splitPath.slice(-2).join('/'); - return { - ...acc, - [name]: content - }; - }, {}); -} diff --git a/packages/react-tokens/src/templates/cjs.js b/packages/react-tokens/src/templates/cjs.js deleted file mode 100644 index 683e4f2fff6..00000000000 --- a/packages/react-tokens/src/templates/cjs.js +++ /dev/null @@ -1,9 +0,0 @@ -const { join } = require('path'); - -module.exports = { - getOutputPath: ({ outDir }) => join(outDir, 'js/index.js'), - getContent: ({ tokens }) => - Object.keys(tokens).reduce((acc, key) => `${acc}module.exports.${key} = ${JSON.stringify(tokens[key])}\n`, ''), - getSingleOutputPath: ({ outDir, tokenName }) => join(outDir, `js/${tokenName}.js`), - getSingleContent: ({ tokenValue }) => `module.exports = ${JSON.stringify(tokenValue)}\n` -}; diff --git a/packages/react-tokens/src/templates/d.ts.js b/packages/react-tokens/src/templates/d.ts.js deleted file mode 100644 index 75f3d640dcc..00000000000 --- a/packages/react-tokens/src/templates/d.ts.js +++ /dev/null @@ -1,18 +0,0 @@ -const { join } = require('path'); - -module.exports = { - getOutputPath: ({ outDir }) => join(outDir, 'js/index.d.ts'), - getContent: ({ tokens }) => - Object.keys(tokens).reduce((acc, key) => { - const token = tokens[key]; - const tokenTypeValue = Object.keys(token) - .map(tokenKey => `${JSON.stringify(tokenKey)}: ${JSON.stringify(token[tokenKey])};`) - .join(' '); - return `${acc}export const ${key}: { ${tokenTypeValue} }\n`; - }, ''), - getSingleOutputPath: ({ outDir, tokenName }) => join(outDir, `js/${tokenName}.d.ts`), - getSingleContent: ({ tokenName, tokenValue }) => - `const ${tokenName}: {${Object.entries(tokenValue) - .map(([key, value]) => `${JSON.stringify(key)}: ${JSON.stringify(value)};`) - .join(' ')}}\nexport default ${tokenName}\n` -}; diff --git a/packages/react-tokens/src/templates/esm.js b/packages/react-tokens/src/templates/esm.js deleted file mode 100644 index dff736e4e34..00000000000 --- a/packages/react-tokens/src/templates/esm.js +++ /dev/null @@ -1,9 +0,0 @@ -const { join } = require('path'); - -module.exports = { - getOutputPath: ({ outDir }) => join(outDir, 'esm/index.js'), - getContent: ({ tokens }) => - Object.keys(tokens).reduce((acc, key) => `${acc}export const ${key} = ${JSON.stringify(tokens[key])}\n`, ''), - getSingleOutputPath: ({ outDir, tokenName }) => join(outDir, `esm/${tokenName}.js`), - getSingleContent: ({ tokenValue }) => `export default ${JSON.stringify(tokenValue)}\n` -}; diff --git a/packages/react-tokens/src/variablesByFile.js b/packages/react-tokens/src/variablesByFile.js deleted file mode 100644 index 532836a146f..00000000000 --- a/packages/react-tokens/src/variablesByFile.js +++ /dev/null @@ -1,252 +0,0 @@ -const glob = require('glob'); -const { dirname, resolve, join, basename } = require('path'); -const { parse } = require('css'); -const { readFileSync, readdirSync } = require('fs'); -const { outputFileSync } = require('fs-extra'); - -const outDir = resolve(__dirname, '../dist/variables'); -const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); -const templateDir = resolve(__dirname, './templates'); - -const cssFiles = glob.sync('{**/{components,layouts}/**/*.css,**/patternfly-charts.css,**/patternfly-variables.css}', { - cwd: pfStylesDir, - ignore: ['assets/**'] -}); - -const formatCustomPropertyName = key => key.replace('--pf-', '').replace(/-+/g, '_'); - -const getRegexMatches = (string, regex) => { - const res = {}; - let matches; - while ((matches = regex.exec(string))) { - res[matches[1]] = matches[2].trim(); - } - return res; -}; - -// various lookup tables to resolve variables - -const variables = readFileSync(require.resolve('@patternfly/patternfly/_variables.scss'), 'utf8'); -const cssGlobalsToScssVarsMap = getRegexMatches(variables, /(--pf-.*):\s*(?:#{)?(\$?pf-[\w- _]+)}?;/g); - -// contains default values and mappings to colors.scss for color values -const scssVariables = readFileSync( - require.resolve('@patternfly/patternfly/sass-utilities/scss-variables.scss'), - 'utf8' -); -const scssVarsMap = getRegexMatches(scssVariables, /(\$.*):\s*([^;^!]+)/g); - -// contains default values and mappings to colors.scss for color values -const scssColorVariables = readFileSync(require.resolve('@patternfly/patternfly/sass-utilities/colors.scss'), 'utf8'); -const scssColorsMap = getRegexMatches(scssColorVariables, /(\$.*):\s*([^\s]+)\s*(?:!default);/g); - -// contains default values and mappings to colors.scss for color values -const cssGlobalVariables = readFileSync(require.resolve('@patternfly/patternfly/patternfly-variables.css'), 'utf8'); -const cssGlobalVariablesMap = getRegexMatches(cssGlobalVariables, /(--pf-[\w-]*):\s*([\w -_]+);/g); - -const combinedScssVarsColorsMap = { - ...scssVarsMap, - ...scssColorsMap -}; - -const formatFilePathToName = filePath => { - // const filePathArr = filePath.split('/'); - let prefix = ''; - if (filePath.indexOf('components/') > -1) { - prefix = 'c_'; - } else if (filePath.indexOf('layouts/') > -1) { - prefix = 'l_'; - } - return `${prefix}${basename(filePath, '.css').replace(/-+/g, '_')}`; -}; - -// pre-populate the localVarsMap so we can lookup local variables within or across files, e.g. if we have the declaration: -// --pf-c-chip-group--MarginBottom: calc(var(--pf-c-chip-group--c-chip--MarginBottom) * -1); -// then we need to find: -// --pf-c-chip-group--c-chip--MarginBottom: var(--pf-global--spacer--xs); -const localVarsMap = {}; -cssFiles.forEach(filePath => { - const absFilePath = resolve(pfStylesDir, filePath); - const cssAst = parse(readFileSync(absFilePath, 'utf8')); - - cssAst.stylesheet.rules - .filter(node => node.type === 'rule' && node.selectors.indexOf('.pf-t-dark') === -1) - .forEach(node => { - node.declarations - .filter(decl => decl.type === 'declaration') - .forEach(decl => { - const { property, value, parent } = decl; - if (property.startsWith('--pf')) { - localVarsMap[property] = { - ...localVarsMap[property], - [parent.selectors[0]]: value - }; - } - }); - }); -}); - -const getFromLocalMap = (match, selector) => { - if (localVarsMap[match]) { - // have exact selectors match - if (localVarsMap[match][selector]) { - return localVarsMap[match][selector]; - } else if (Object.keys(localVarsMap[match]).length === 1) { - // only one match, return its value - return Object.values(localVarsMap[match])[0]; - } else { - // find the nearest parent selector and return its value - let bestMatch = ''; - let bestValue = ''; - for (const key in localVarsMap[match]) { - if (localVarsMap[match].hasOwnProperty(key)) { - // remove trailing * from key to compare - let sanitizedKey = key.replace(/\*$/, '').trim(); - sanitizedKey = sanitizedKey.replace(/>$/, '').trim(); - sanitizedKey = sanitizedKey.replace(/\[.*\]$/, '').trim(); - // is key a parent of selector? - if (selector.indexOf(sanitizedKey) > -1) { - if (sanitizedKey.length > bestMatch.length) { - // longest matching key is the winner - bestMatch = key; - bestValue = localVarsMap[match][key]; - } - } - } - } - if (!bestMatch) { - // eslint-disable-next-line no-console - console.error(`no matching selector found for ${match} in localVarsMap`); - } - return bestValue; - } - } else { - // eslint-disable-next-line no-console - console.error(`no matching property found for ${match} in localVarsMap`); - } -}; - -const getComputedCssVarValue = (value, selector) => - value.replace(/var\(([\w|-]*)\)/g, (full, match) => { - if (match.startsWith('--pf-global')) { - if (cssGlobalsToScssVarsMap[match]) { - return cssGlobalsToScssVarsMap[match]; - } else { - return full; - } - } else { - if (selector) { - return getFromLocalMap(match, selector); - } - } - }); - -const getFinalValue = (value, selector) => - value.replace(/var\(([\w|-]*)\)/g, (full, match) => { - if (match.startsWith('--pf-global')) { - if (cssGlobalVariablesMap[match]) { - return cssGlobalVariablesMap[match]; - } else { - return full; - } - } else { - if (selector) { - return getFromLocalMap(match, selector); - } - } - }); - -const getComputedScssVarValue = value => - value.replace(/\$pf[^,)\s*/]*/g, match => { - if (combinedScssVarsColorsMap[match]) { - return combinedScssVarsColorsMap[match]; - } else { - return match; - } - }); - -const getVarsMap = (value, selector) => { - // evaluate the value and follow the variable chain - let varsMap = [value]; - - let computedValue = value; - let finalValue = value; - while ( - finalValue.indexOf('var(--pf') > -1 || - computedValue.indexOf('var(--pf') > -1 || - computedValue.indexOf('$pf-') > -1 - ) { - // keep following the variable chain until we get to a value - if (finalValue.indexOf('var(--pf') > -1) { - finalValue = getFinalValue(finalValue, selector); - } - if (computedValue.indexOf('var(--pf') > -1) { - computedValue = getComputedCssVarValue(computedValue, selector); - } else { - computedValue = getComputedScssVarValue(computedValue); - } - varsMap.push(computedValue); - } - const lastElement = varsMap[varsMap.length - 1]; - if (lastElement.indexOf('pf-') > -1) { - varsMap.push(finalValue); - } - // all values should not be boxed by var() - varsMap = varsMap.map(variable => variable.replace(/var\(([\w|-]*)\)/g, (full, match) => match)); - - return varsMap; -}; - -const tokens = {}; -cssFiles.forEach(filePath => { - const absFilePath = resolve(pfStylesDir, filePath); - const cssAst = parse(readFileSync(absFilePath, 'utf8')); - // key is the formatted file name, e.g. c_about_modal_box - const key = formatFilePathToName(filePath); - - cssAst.stylesheet.rules - .filter(node => node.type === 'rule' && node.selectors.indexOf('.pf-t-dark') === -1) - .forEach(node => { - node.declarations - .filter(decl => decl.type === 'declaration') - .forEach(decl => { - const { property, value, parent } = decl; - if (property.startsWith('--pf')) { - const selector = parent.selectors[0]; - - const varsMap = getVarsMap(value, selector); - const propertyObj = { - property, - value: varsMap[varsMap.length - 1], - token: formatCustomPropertyName(property) - }; - if (varsMap.length > 1) { - propertyObj.values = varsMap; - } - - if (tokens[key]) { - if (tokens[key][selector]) { - tokens[key][selector].push(propertyObj); - } else { - tokens[key][selector] = [propertyObj]; - } - } else { - tokens[key] = { - [selector]: [propertyObj] - }; - } - } - }); - }); -}); - -readdirSync(templateDir).forEach(templateFile => { - const template = require(join(templateDir, templateFile)); - outputFileSync(template.getOutputPath({ outDir }), template.getContent({ tokens })); - Object.entries(tokens).forEach(([tokenName, tokenValue]) => { - outputFileSync( - template.getSingleOutputPath({ outDir, tokenName }), - template.getSingleContent({ tokenName, tokenValue }) - ); - }); -}); diff --git a/scripts/incrementalBuild.js b/scripts/incrementalBuild.js index c688eab627d..893f8337dd4 100644 --- a/scripts/incrementalBuild.js +++ b/scripts/incrementalBuild.js @@ -20,6 +20,8 @@ const getSrcDirs = packageName => { return ['src', 'scripts']; case '@patternfly/react-catalog-view-extension': return ['src', 'sass']; + case '@patternfly/react-tokens': + return ['scripts']; default: return ['src']; } diff --git a/yarn.lock b/yarn.lock index d512bf27949..1bd9d389065 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,25 +121,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e" - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.4" - "@babel/helpers" "^7.7.4" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - "@babel/core@^7.7.5": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" @@ -209,6 +190,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.8.8": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9" + integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ== + dependencies: + "@babel/types" "^7.9.5" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/generator@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.0.tgz#0f67adea4ec39dad6e63345f70eec33014d78c89" @@ -225,12 +216,6 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-annotate-as-pure@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-annotate-as-pure@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" @@ -244,13 +229,6 @@ "@babel/helper-explode-assignable-expression" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" @@ -274,13 +252,6 @@ "@babel/types" "^7.3.0" esutils "^2.0.0" -"@babel/helper-builder-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz#da188d247508b65375b2c30cf59de187be6b0c66" - dependencies: - "@babel/types" "^7.7.4" - esutils "^2.0.0" - "@babel/helper-builder-react-jsx@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" @@ -297,14 +268,6 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-call-delegate@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" - dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-call-delegate@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz#28a279c2e6c622a6233da548127f980751324cab" @@ -348,13 +311,6 @@ "@babel/helper-replace-supers" "^7.8.6" "@babel/helper-split-export-declaration" "^7.8.3" -"@babel/helper-create-regexp-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" - dependencies: - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - "@babel/helper-create-regexp-features-plugin@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz#c774268c95ec07ee92476a3862b75cc2839beb79" @@ -379,14 +335,6 @@ "@babel/types" "^7.5.5" lodash "^4.17.13" -"@babel/helper-define-map@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/types" "^7.7.4" - lodash "^4.17.13" - "@babel/helper-define-map@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" @@ -402,13 +350,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-explode-assignable-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" - dependencies: - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-explode-assignable-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" @@ -464,12 +405,6 @@ dependencies: "@babel/types" "^7.4.4" -"@babel/helper-hoist-variables@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-hoist-variables@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" @@ -482,12 +417,6 @@ dependencies: "@babel/types" "^7.5.5" -"@babel/helper-member-expression-to-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-member-expression-to-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" @@ -500,12 +429,6 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-module-imports@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-module-imports@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" @@ -523,17 +446,6 @@ "@babel/types" "^7.5.5" lodash "^4.17.13" -"@babel/helper-module-transforms@^7.7.4", "@babel/helper-module-transforms@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835" - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-simple-access" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - lodash "^4.17.13" - "@babel/helper-module-transforms@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" @@ -553,12 +465,6 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-optimise-call-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-optimise-call-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" @@ -595,16 +501,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-remap-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-wrap-function" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-remap-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" @@ -624,15 +520,6 @@ "@babel/traverse" "^7.5.5" "@babel/types" "^7.5.5" -"@babel/helper-replace-supers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" - dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-replace-supers@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" @@ -659,13 +546,6 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-simple-access@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" - dependencies: - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-simple-access@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" @@ -696,6 +576,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== +"@babel/helper-validator-identifier@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" + integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== + "@babel/helper-wrap-function@^7.1.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" @@ -705,15 +590,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helper-wrap-function@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-wrap-function@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" @@ -731,14 +607,6 @@ "@babel/traverse" "^7.6.2" "@babel/types" "^7.6.0" -"@babel/helpers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" - dependencies: - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helpers@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" @@ -797,14 +665,6 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-async-generator-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" @@ -850,13 +710,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" -"@babel/plugin-proposal-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" @@ -878,13 +731,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-proposal-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" @@ -921,12 +767,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71" +"@babel/plugin-proposal-object-rest-spread@^7.8.3": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz#3fd65911306d8746014ec0d0cf78f0e39a149116" + integrity sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.9.5" "@babel/plugin-proposal-object-rest-spread@^7.9.0": version "7.9.0" @@ -943,13 +791,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" @@ -988,13 +829,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.8" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-proposal-unicode-property-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" @@ -1008,12 +842,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-async-generators@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-async-generators@^7.8.0": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -1038,12 +866,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -1068,12 +890,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -1086,12 +902,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" @@ -1118,12 +928,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" @@ -1136,12 +940,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" @@ -1154,12 +952,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" @@ -1178,12 +970,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-arrow-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-arrow-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" @@ -1198,14 +984,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" -"@babel/plugin-transform-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-transform-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" @@ -1220,12 +998,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoped-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" @@ -1239,13 +1011,6 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" -"@babel/plugin-transform-block-scoping@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - "@babel/plugin-transform-block-scoping@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" @@ -1279,19 +1044,6 @@ "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" -"@babel/plugin-transform-classes@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-define-map" "^7.7.4" - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - globals "^11.1.0" - "@babel/plugin-transform-classes@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.0.tgz#ab89c175ecf5b4c8911194aa8657966615324ce9" @@ -1312,12 +1064,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-computed-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-computed-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" @@ -1336,12 +1082,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-destructuring@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz#20ddfbd9e4676906b1056ee60af88590cc7aaa0b" @@ -1363,25 +1103,12 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-dotall-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-duplicate-keys@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-duplicate-keys@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" @@ -1395,13 +1122,6 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-exponentiation-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-exponentiation-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" @@ -1429,12 +1149,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-for-of@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" @@ -1449,13 +1163,6 @@ "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-function-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" @@ -1469,12 +1176,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" @@ -1487,12 +1188,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-member-expression-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-member-expression-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" @@ -1507,14 +1202,6 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-amd@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c" - dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-amd@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" @@ -1533,15 +1220,6 @@ "@babel/helper-simple-access" "^7.1.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345" - dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.4" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-commonjs@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" @@ -1560,14 +1238,6 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" - dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-systemjs@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" @@ -1585,13 +1255,6 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-umd@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" - dependencies: - "@babel/helper-module-transforms" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-modules-umd@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" @@ -1606,12 +1269,6 @@ dependencies: regexpu-core "^4.6.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" @@ -1624,12 +1281,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-new-target@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-new-target@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" @@ -1643,13 +1294,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.5.5" -"@babel/plugin-transform-object-super@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/plugin-transform-object-super@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" @@ -1665,14 +1309,6 @@ "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-parameters@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz#da4555c97f39b51ac089d31c7380f03bca4075ce" - dependencies: - "@babel/helper-call-delegate" "^7.7.4" - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-parameters@^7.8.7": version "7.8.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz#0381de466c85d5404565243660c4496459525daf" @@ -1682,18 +1318,20 @@ "@babel/helper-get-function-arity" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-parameters@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795" + integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-property-literals@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-property-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-property-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" @@ -1720,12 +1358,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-display-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz#9f2b80b14ebc97eef4a9b29b612c58ed9c0d10dd" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" @@ -1749,13 +1381,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx-self@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz#81b8fbfd14b2215e8f1c2c3adfba266127b0231c" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" - "@babel/plugin-transform-react-jsx-self@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" @@ -1771,13 +1396,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx-source@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz#8994b1bf6014b133f5a46d3b7d1ee5f5e3e72c10" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" - "@babel/plugin-transform-react-jsx-source@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" @@ -1794,14 +1412,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.4.tgz#d91205717fae4e2f84d020cd3057ec02a10f11da" - dependencies: - "@babel/helper-builder-react-jsx" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" - "@babel/plugin-transform-react-jsx@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.0.tgz#d9f0e10a0a154f86fb2f3b04ef856d709284cb25" @@ -1818,12 +1428,6 @@ dependencies: regenerator-transform "^0.14.0" -"@babel/plugin-transform-regenerator@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9" - dependencies: - regenerator-transform "^0.14.0" - "@babel/plugin-transform-regenerator@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" @@ -1837,12 +1441,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-reserved-words@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-reserved-words@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" @@ -1874,12 +1472,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-shorthand-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-shorthand-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" @@ -1892,12 +1484,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" @@ -1911,13 +1497,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-sticky-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - "@babel/plugin-transform-sticky-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" @@ -1932,13 +1511,6 @@ "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-template-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" @@ -1952,12 +1524,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typeof-symbol@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typeof-symbol@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" @@ -1980,13 +1546,6 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.6.0" -"@babel/plugin-transform-unicode-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-unicode-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" @@ -2105,62 +1664,6 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.5.tgz#f28573ed493edb4ba763b37fb4fbb85601469370" - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.7.4" - "@babel/plugin-proposal-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-json-strings" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-syntax-top-level-await" "^7.7.4" - "@babel/plugin-transform-arrow-functions" "^7.7.4" - "@babel/plugin-transform-async-to-generator" "^7.7.4" - "@babel/plugin-transform-block-scoped-functions" "^7.7.4" - "@babel/plugin-transform-block-scoping" "^7.7.4" - "@babel/plugin-transform-classes" "^7.7.4" - "@babel/plugin-transform-computed-properties" "^7.7.4" - "@babel/plugin-transform-destructuring" "^7.7.4" - "@babel/plugin-transform-dotall-regex" "^7.7.4" - "@babel/plugin-transform-duplicate-keys" "^7.7.4" - "@babel/plugin-transform-exponentiation-operator" "^7.7.4" - "@babel/plugin-transform-for-of" "^7.7.4" - "@babel/plugin-transform-function-name" "^7.7.4" - "@babel/plugin-transform-literals" "^7.7.4" - "@babel/plugin-transform-member-expression-literals" "^7.7.4" - "@babel/plugin-transform-modules-amd" "^7.7.5" - "@babel/plugin-transform-modules-commonjs" "^7.7.5" - "@babel/plugin-transform-modules-systemjs" "^7.7.4" - "@babel/plugin-transform-modules-umd" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" - "@babel/plugin-transform-new-target" "^7.7.4" - "@babel/plugin-transform-object-super" "^7.7.4" - "@babel/plugin-transform-parameters" "^7.7.4" - "@babel/plugin-transform-property-literals" "^7.7.4" - "@babel/plugin-transform-regenerator" "^7.7.5" - "@babel/plugin-transform-reserved-words" "^7.7.4" - "@babel/plugin-transform-shorthand-properties" "^7.7.4" - "@babel/plugin-transform-spread" "^7.7.4" - "@babel/plugin-transform-sticky-regex" "^7.7.4" - "@babel/plugin-transform-template-literals" "^7.7.4" - "@babel/plugin-transform-typeof-symbol" "^7.7.4" - "@babel/plugin-transform-unicode-regex" "^7.7.4" - "@babel/types" "^7.7.4" - browserslist "^4.6.0" - core-js-compat "^3.4.7" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - "@babel/preset-env@^7.8.7": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" @@ -2258,16 +1761,6 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/preset-react@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.7.4.tgz#3fe2ea698d8fb536d8e7881a592c3c1ee8bf5707" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.7.4" - "@babel/plugin-transform-react-jsx" "^7.7.4" - "@babel/plugin-transform-react-jsx-self" "^7.7.4" - "@babel/plugin-transform-react-jsx-source" "^7.7.4" - "@babel/preset-react@^7.8.3": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.0.tgz#cdc5b6dd35ff8248047a070ec15d136c88193c9d" @@ -2313,12 +1806,6 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.5.tgz#4b087f183f5d83647744d4157f66199081d17a00" - dependencies: - regenerator-runtime "^0.13.2" - "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" @@ -2455,6 +1942,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" + integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg== + dependencies: + "@babel/helper-validator-identifier" "^7.9.5" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -6100,7 +5596,7 @@ bluebird@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bluebird@^3.0.5, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.1: +bluebird@^3.0.5, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: version "3.7.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" @@ -6344,14 +5840,6 @@ browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.6.0, browserslist@^4.7 electron-to-chromium "^1.3.295" node-releases "^1.1.38" -browserslist@^4.8.0: - version "4.8.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289" - dependencies: - caniuse-lite "^1.0.30001015" - electron-to-chromium "^1.3.322" - node-releases "^1.1.42" - browserslist@^4.8.3: version "4.8.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e" @@ -6728,10 +6216,6 @@ caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz#2bb53b8aa4716b2ed08e088d4dc816a5fe089a1e" integrity sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ== -caniuse-lite@^1.0.30001015: - version "1.0.30001015" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0" - caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023: version "1.0.30001025" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001025.tgz#30336a8aca7f98618eb3cf38e35184e13d4e5fe6" @@ -6888,20 +6372,6 @@ cheerio@^1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" -chokidar@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" - chokidar@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" @@ -7766,13 +7236,6 @@ core-js-compat@^3.1.1: browserslist "^4.7.1" semver "^6.3.0" -core-js-compat@^3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.7.tgz#39f8080b1d92a524d6d90505c42b9c5c1eb90611" - dependencies: - browserslist "^4.8.0" - semver "^6.3.0" - core-js-compat@^3.6.2: version "3.6.4" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" @@ -9017,10 +8480,6 @@ electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz#81dc5e82a3e72bbb830d93e15bc35eda2bbc910e" integrity sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg== -electron-to-chromium@^1.3.322: - version "1.3.322" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" - electron-to-chromium@^1.3.341: version "1.3.345" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.345.tgz#2569d0d54a64ef0f32a4b7e8c80afa5fe57c5d98" @@ -9061,6 +8520,11 @@ emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -10251,9 +9715,10 @@ file-selector@^0.1.8: dependencies: tslib "^1.9.0" -file-type@^12.4.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.0.tgz#a9a399459e1940d9f34b3973039958f1f36a565e" +file-type@^12.4.2: + version "12.4.2" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9" + integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg== filename-regex@^2.0.0: version "2.0.1" @@ -10715,7 +10180,7 @@ fsevents@^1.2.3, fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@^2.1.2, fsevents@~2.1.1, fsevents@~2.1.2: +fsevents@^2.1.2, fsevents@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" @@ -10808,11 +10273,13 @@ gatsby-cli@2.11.0, gatsby-cli@^2.11.0: ink "^2.7.1" ink-spinner "^3.0.1" -gatsby-core-utils@^1.0.22: - version "1.0.22" - resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.0.22.tgz#e246c85db5223906f67251ebb0e4e2e4965d66d7" +gatsby-core-utils@^1.0.34, gatsby-core-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.1.1.tgz#3ebe4c6fe277ef8d91e1b708bd65ef4f7dc0928b" + integrity sha512-EboPcBx37YQVUKN9JH753S54nDxjRmOefbR0i08KTmaVgQ1lZnDXJr8JfrImmMqupZlOkPQX1mWlXfp+r1jGhA== dependencies: ci-info "2.0.0" + configstore "^5.0.1" node-object-hash "^2.0.0" gatsby-core-utils@^1.1.0: @@ -10854,26 +10321,28 @@ gatsby-page-utils@^0.1.0: lodash "^4.17.15" micromatch "^3.1.10" -gatsby-plugin-manifest@^2.2.31: - version "2.2.31" - resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.31.tgz#ed68f9366416e5833de76673a3f6785c96875f82" +gatsby-plugin-manifest@2.2.48: + version "2.2.48" + resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.48.tgz#a082addd697a9d7c27ce51f1c08690b8215c8283" + integrity sha512-RWD2HlKT7TFcXs3SIiZTWjq3Ud4z79cms8pBLXjlNNddatnSNi0ne2RknERCQgmTQvcJ9eNeIzfzVtR3WAcBYA== dependencies: - "@babel/runtime" "^7.7.4" - gatsby-core-utils "^1.0.22" + "@babel/runtime" "^7.8.7" + gatsby-core-utils "^1.0.34" semver "^5.7.1" - sharp "^0.23.3" + sharp "^0.23.4" -gatsby-plugin-mdx@^1.0.59: - version "1.0.59" - resolved "https://registry.yarnpkg.com/gatsby-plugin-mdx/-/gatsby-plugin-mdx-1.0.59.tgz#f5a3aaa8e9952fee517e988f5a7133dbadeb69f8" +gatsby-plugin-mdx@^1.1.0: + version "1.1.7" + resolved "https://registry.yarnpkg.com/gatsby-plugin-mdx/-/gatsby-plugin-mdx-1.1.7.tgz#af94eff3f10ae2475ac0714b08f3e97d0fc77b0f" + integrity sha512-CTEeZQQ/hYDPv9mX06259zwiQc67OGBPzigBL8ZEMSgg5ANzzfR143Wd74RGPvT04GnMNjfWKcg8yBPTf75EaA== dependencies: - "@babel/core" "^7.7.4" - "@babel/generator" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/preset-env" "^7.7.4" - "@babel/preset-react" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/core" "^7.8.7" + "@babel/generator" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/preset-env" "^7.8.7" + "@babel/preset-react" "^7.8.3" + "@babel/types" "^7.8.7" camelcase-css "^2.0.1" change-case "^3.1.0" core-js "2" @@ -10882,12 +10351,12 @@ gatsby-plugin-mdx@^1.0.59: escape-string-regexp "^1.0.5" eval "^0.1.4" fs-extra "^8.1.0" - gatsby-core-utils "^1.0.22" + gatsby-core-utils "^1.1.1" gray-matter "^4.0.2" - json5 "^2.1.1" - loader-utils "^1.2.3" + json5 "^2.1.2" + loader-utils "^1.4.0" lodash "^4.17.15" - mdast-util-to-string "^1.0.7" + mdast-util-to-string "^1.1.0" mdast-util-toc "^3.1.0" mime "^2.4.4" p-queue "^5.0.0" @@ -10916,11 +10385,12 @@ gatsby-plugin-page-creator@^2.2.0: lodash "^4.17.15" micromatch "^3.1.10" -gatsby-plugin-react-helmet@^3.1.16: - version "3.1.16" - resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.1.16.tgz#479738d9f9ee2a312c620c01aa0882a9740537bf" +gatsby-plugin-react-helmet@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.2.2.tgz#8817da61cd57b8fd9cf1cc6fb55c1e9564aa6a3c" + integrity sha512-mPd7gefGIxqAuxFJgDuttR9+DnRLKLrCh61ND1iLSeOp9GoYS/qH8Rhka6fkpmBXOtUVyujzaUthhB/ll/a4RA== dependencies: - "@babel/runtime" "^7.7.4" + "@babel/runtime" "^7.8.7" gatsby-react-router-scroll@^2.2.0: version "2.2.0" @@ -10931,25 +10401,26 @@ gatsby-react-router-scroll@^2.2.0: scroll-behavior "^0.9.12" warning "^3.0.0" -gatsby-source-filesystem@^2.1.40: - version "2.1.40" - resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.1.40.tgz#482f87a3b1617132b4f4faa64a75d350d8581646" +gatsby-source-filesystem@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.2.2.tgz#9ecbc9e64fedd1c30b4d21f7e148016353b2dc17" + integrity sha512-uHHCiTp8/q9JF0Yr14Q5aJZ07jUJSV6HJSnrSVnEIF4PfRQkVJG5FHQULmxJUXWQhIoy17EGuzqVjxMsFY69QA== dependencies: - "@babel/runtime" "^7.7.4" + "@babel/runtime" "^7.8.7" better-queue "^3.8.10" - bluebird "^3.7.1" - chokidar "3.3.0" - file-type "^12.4.0" + bluebird "^3.7.2" + chokidar "3.3.1" + file-type "^12.4.2" fs-extra "^8.1.0" - gatsby-core-utils "^1.0.22" - got "^7.1.0" + gatsby-core-utils "^1.1.1" + got "^9.6.0" md5-file "^3.2.3" mime "^2.4.4" pretty-bytes "^5.3.0" progress "^2.0.3" read-chunk "^3.2.0" valid-url "^1.0.9" - xstate "^4.6.7" + xstate "^4.8.0" gatsby-telemetry@^1.2.0: version "1.2.0" @@ -10974,32 +10445,34 @@ gatsby-telemetry@^1.2.0: stack-utils "1.0.2" uuid "3.4.0" -gatsby-theme-patternfly-org@^1.4.9: - version "1.4.9" - resolved "https://registry.yarnpkg.com/gatsby-theme-patternfly-org/-/gatsby-theme-patternfly-org-1.4.9.tgz#016366bd314fc59dab9b3c285925bc6c9dd02b79" - integrity sha512-/pxrtxpUo8iQAKzM7gFGtjHM3G/wJdh59UWGAObdLDo9g09W1AagEXj65aprLZmWezhsTmu3JkETE4zlK+ofUQ== +gatsby-theme-patternfly-org@^1.4.16: + version "1.4.16" + resolved "https://registry.yarnpkg.com/gatsby-theme-patternfly-org/-/gatsby-theme-patternfly-org-1.4.16.tgz#08e58373153c376982465846c61394bcbce422bb" + integrity sha512-Vp38aWTQnrE9aR7Ml3c1jO4kJMSxKQtgNW2uZw3Wka4ZFFjGgc0RI+EW2WEqVwzz9u7ojirwGK1scSs8q/g3dg== dependencies: "@mdx-js/mdx" "^1.1.5" "@mdx-js/react" "^1.1.5" codesandbox "^2.1.10" file-saver "^1.3.8" - gatsby-plugin-manifest "^2.2.31" - gatsby-plugin-mdx "^1.0.59" - gatsby-plugin-react-helmet "^3.1.16" - gatsby-source-filesystem "^2.1.40" - gatsby-transformer-json "^2.2.20" + gatsby-plugin-manifest "2.2.48" + gatsby-plugin-mdx "^1.1.0" + gatsby-plugin-react-helmet "^3.2.0" + gatsby-source-filesystem "^2.2.1" + gatsby-transformer-json "^2.3.0" handlebars "^4.2.0" html-formatter "0.1.9" + null-loader "^3.0.0" prismjs "^1.17.1" react-helmet "^5.2.1" react-live "^2.2.0" -gatsby-transformer-json@^2.2.20: - version "2.2.20" - resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-2.2.20.tgz#759e31b0ebbfdfa2cf3a363490ffb1ec7e2a2d72" +gatsby-transformer-json@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-2.3.1.tgz#1415920c891f6b02a0118d43c6682e9e87f57835" + integrity sha512-iOXdbVRHjlhvWZ6sdPGmezZTwIXXsz8o3YT3/YrBobiYfwvgpGk5r/zrbyunv/ofscfduPg+veHW4lY52rw9Vg== dependencies: - "@babel/runtime" "^7.7.4" - bluebird "^3.7.1" + "@babel/runtime" "^7.8.7" + bluebird "^3.7.2" gatsby-transformer-react-docgen-typescript@^0.2.5: version "0.2.6" @@ -14419,7 +13892,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0, json5@^2.1.1: +json5@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" dependencies: @@ -15020,6 +14493,15 @@ loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1. emojis-list "^2.0.0" json5 "^1.0.1" +loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + local-web-server@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/local-web-server/-/local-web-server-2.6.1.tgz#6c96bc3193edb00b5ba1d483607a71af6d5509e7" @@ -15681,9 +15163,10 @@ mdast-util-to-string@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d" -mdast-util-to-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz#62d8e9c6b2113070d8b497c7dc35bf12796f06ee" +mdast-util-to-string@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" + integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== mdast-util-toc@^3.1.0: version "3.1.0" @@ -16499,12 +15982,6 @@ node-releases@^1.1.3, node-releases@^1.1.38: dependencies: semver "^6.3.0" -node-releases@^1.1.42: - version "1.1.42" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7" - dependencies: - semver "^6.3.0" - node-releases@^1.1.47: version "1.1.47" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4" @@ -19424,12 +18901,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - dependencies: - picomatch "^2.0.4" - readdirp@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" @@ -20541,9 +20012,10 @@ shallowequal@^1.0.1, shallowequal@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" -sharp@^0.23.3: +sharp@^0.23.4: version "0.23.4" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.23.4.tgz#ca36067cb6ff7067fa6c77b01651cb9a890f8eb3" + integrity sha512-fJMagt6cT0UDy9XCsgyLi0eiwWWhQRxbwGmqQT6sY8Av4s0SVsT/deg8fobBQCTDU5iXRgz0rAeXoE2LBZ8g+Q== dependencies: color "^3.1.2" detect-libc "^1.0.3" @@ -23971,10 +23443,6 @@ xregexp@^4.3.0: dependencies: "@babel/runtime-corejs3" "^7.8.3" -xstate@^4.6.7: - version "4.6.7" - resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.6.7.tgz#1f325df07d75676c90d65b17a3a56692f259fd41" - xstate@^4.8.0: version "4.8.0" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.8.0.tgz#1aefa1f7828f84f61c356785615ffc0824ebf5a2"