diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 12ca3a210a..327ac54e64 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -125,7 +125,6 @@ jobs: with: node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' - cache: 'yarn' - name: Setup Yarn run: | @@ -138,9 +137,12 @@ jobs: with: name: build + - name: Extract build archive + run: tar -xf ${{ steps.download.outputs.download-path }}/oui.tgz + - name: Get Escaped Download Path run: | - RAW_OUI_PATH="${{ steps.download.outputs.download-path }}/oui.tgz" + RAW_OUI_PATH="${{ steps.download.outputs.download-path }}/package" OUI_PATH=$(echo $RAW_OUI_PATH | sed 's/\//\\\//g') echo "OUI_PATH=$OUI_PATH" >> "$GITHUB_ENV" @@ -169,7 +171,6 @@ jobs: with: node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' - cache: 'yarn' - name: Setup Yarn run: | @@ -182,9 +183,12 @@ jobs: with: name: build + - name: Extract build archive + run: tar -xf ${{ steps.download.outputs.download-path }}/oui.tgz + - name: Get Escaped Download Path run: | - RAW_OUI_PATH="${{ steps.download.outputs.download-path }}/oui.tgz" + RAW_OUI_PATH="${{ steps.download.outputs.download-path }}/package" OUI_PATH=$(echo $RAW_OUI_PATH | sed 's/\//\\\//g') echo "OUI_PATH=$OUI_PATH" >> "$GITHUB_ENV" @@ -215,33 +219,18 @@ jobs: script: build-platform --linux-arm --skip-os-packages runs-on: ${{ matrix.os }} needs: build - defaults: - run: - working-directory: ./artifacts steps: - name: Checkout code uses: actions/checkout@v3 with: - path: ./artifacts repository: opensearch-project/OpenSearch-Dashboards - name: Setup Node uses: actions/setup-node@v3 with: - node-version-file: './artifacts/.nvmrc' + node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' - - name: Configure Yarn Cache (Linux) - run: echo "YARN_CACHE_LOCATION=$(yarn cache dir)" >> $GITHUB_ENV - - - name: Initialize Yarn Cache - uses: actions/cache@v3 - with: - path: ${{ env.YARN_CACHE_LOCATION }} - key: yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - yarn- - - name: Setup Yarn run: | npm uninstall -g yarn @@ -253,9 +242,12 @@ jobs: with: name: build + - name: Extract build archive + run: tar -xf ${{ steps.download.outputs.download-path }}/oui.tgz + - name: Get Escaped Download Path run: | - RAW_OUI_PATH="${{ steps.download.outputs.download-path }}/oui.tgz" + RAW_OUI_PATH="${{ steps.download.outputs.download-path }}/package" OUI_PATH=$(echo $RAW_OUI_PATH | sed 's/\//\\\//g') echo "OUI_PATH=$OUI_PATH" >> "$GITHUB_ENV" @@ -263,7 +255,6 @@ jobs: run: | find . -type f -name package.json -exec sed -i 's/"@elastic\/eui": ".*"/"@elastic\/eui": "file:${{ env.OUI_PATH }}"/g' {} \; - - name: Get package version run: | echo "VERSION=$(yarn --silent pkg-version)" >> $GITHUB_ENV @@ -282,5 +273,5 @@ jobs: if: success() with: name: ${{ matrix.suffix }}-${{ env.VERSION }} - path: ./artifacts/target/${{ env.ARTIFACT_BUILD_NAME }} + path: ./target/${{ env.ARTIFACT_BUILD_NAME }} retention-days: 7 diff --git a/CHANGELOG.md b/CHANGELOG.md index 98fc27d5db..a933e4265e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ ### 🛡 Security +- Bump `babel-template` from `6.26.0` to `@babel/template` `7.10.4` ([#1095](https://github.com/opensearch-project/oui/pull/1095)) + ### 📈 Features/Enhancements - Update ouiTextSubduedColor in `next` dark theme ([#973](https://github.com/opensearch-project/oui/pull/973)) @@ -17,6 +19,7 @@ ### 🐛 Bug Fixes - Add exit code to compile-scss script on failure ([#1024](https://github.com/opensearch-project/oui/pull/1024)) +- Extract build archive into a folder for OSD integration test CI ([#1075](https://github.com/opensearch-project/oui/pull/1075)) - Correct file path for import of Query component ([#1069](https://github.com/opensearch-project/oui/pull/1069)) - Fix "Guidelines" documentation links rendering blank pages ([#1111](https://github.com/opensearch-project/oui/pull/1111)) @@ -59,6 +62,7 @@ - Add new `middle-out` order prop option to `OuiPaletteColorBlind` ([#856](https://github.com/opensearch-project/oui/pull/856)) - Add new icons for OpenSearch Dashboards v2.10.0 ([#1014](https://github.com/opensearch-project/oui/pull/1014)) - Add count prop to OuiTreeView with OuiFacetButton ([[#934](https://github.com/opensearch-project/oui/issues/934)]) +- Add `onFullScreenChange` to `OuiDataGrid` ([#1053](https://github.com/opensearch-project/oui/pull/1053)) ### 🐛 Bug Fixes diff --git a/package.json b/package.json index eaf39b8da1..50d8941396 100644 --- a/package.json +++ b/package.json @@ -143,6 +143,7 @@ "@babel/preset-env": "^7.11.0", "@babel/preset-react": "^7.10.4", "@babel/preset-typescript": "^7.12.1", + "@babel/template": "^7.10.4", "@elastic/charts": "^30.2.0", "@elastic/eslint-config-kibana": "^0.15.0", "@faker-js/faker": "^8.0.1", @@ -163,7 +164,6 @@ "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "autoprefixer": "^9.8.6", - "babel-core": "7.0.0-bridge.0", "babel-eslint": "^10.1.0", "babel-jest": "^24.1.0", "babel-loader": "^8.1.0", @@ -171,7 +171,6 @@ "babel-plugin-dynamic-import-node": "^2.3.3", "babel-plugin-inline-react-svg": "^1.1.1", "babel-plugin-pegjs-inline-precompile": "^0.1.1", - "babel-template": "^6.26.0", "cache-loader": "^4.1.0", "chalk": "^4.1.2", "chokidar": "^3.5.3", diff --git a/scripts/babel/proptypes-from-ts-props/index.js b/scripts/babel/proptypes-from-ts-props/index.js index 0ce686c751..4a434db700 100644 --- a/scripts/babel/proptypes-from-ts-props/index.js +++ b/scripts/babel/proptypes-from-ts-props/index.js @@ -33,7 +33,7 @@ const fs = require('fs'); const path = require('path'); -const babelTemplate = require('babel-template'); +const babelTemplate = require('@babel/template').default; const babelCore = require('@babel/core'); const importedDefinitionsCache = new Map(); @@ -137,10 +137,10 @@ function resolveOmitToPropTypes(node, state) { // extract the string values of keys to remove const keysToRemove = new Set( toRemovePropTypes.arguments[0].elements - .map(keyToRemove => + .map((keyToRemove) => types.isStringLiteral(keyToRemove) ? keyToRemove.value : null ) - .filter(x => x !== null) + .filter((x) => x !== null) ); // filter out omitted properties @@ -335,7 +335,7 @@ function resolveIdentifierToPropTypes(node, state) { const propertyName = property.key.name; const isOptional = !isPropTypeRequired(types, property.value); const existsOnB = - propsOnB.find(property => property.key.name === propertyName) != null; + propsOnB.find((property) => property.key.name === propertyName) != null; if (isOptional || !existsOnB) { optionalProps.add(propertyName); } @@ -345,7 +345,7 @@ function resolveIdentifierToPropTypes(node, state) { const propertyName = property.key.name; const isOptional = !isPropTypeRequired(types, property.value); const existsOnA = - propsOnA.find(property => property.key.name === propertyName) != null; + propsOnA.find((property) => property.key.name === propertyName) != null; if (isOptional || !existsOnA) { optionalProps.add(propertyName); } @@ -540,7 +540,7 @@ function getPropTypesForNode(node, optional, state) { // translates intersections (Foo & Bar & Baz) to a shape with the types' members (Foo, Bar, Baz) merged together case 'TSIntersectionType': - const usableNodes = [...node.types].filter(node => { + const usableNodes = [...node.types].filter((node) => { const nodePropTypes = getPropTypesForNode(node, true, state); if ( @@ -577,7 +577,7 @@ function getPropTypesForNode(node, optional, state) { nodePropTypes.callee.property.name === 'oneOfType' ) { const properties = nodePropTypes.arguments[0].elements - .map(propType => { + .map((propType) => { // This exists on a oneOfType which must be expressed as an optional proptype propType = makePropTypeOptional(types, propType); @@ -592,12 +592,12 @@ function getPropTypesForNode(node, optional, state) { } // extract all of the properties from this group and make them optional - return propType.arguments[0].properties.map(property => { + return propType.arguments[0].properties.map((property) => { property.value = makePropTypeOptional(types, property.value); return property; }); }) - .filter(x => x !== null) + .filter((x) => x !== null) .reduce((allProperties, properties) => { return [...allProperties, ...properties]; }, []); @@ -638,7 +638,9 @@ function getPropTypesForNode(node, optional, state) { if (mergedProperties.hasOwnProperty(typeProperty.key.name)) { const existing = mergedProperties[typeProperty.key.name]; if (!areExpressionsIdentical(existing, typeProperty.value)) { - mergedProperties[typeProperty.key.name] = types.callExpression( + mergedProperties[ + typeProperty.key.name + ] = types.callExpression( types.memberExpression( types.identifier('PropTypes'), types.identifier('oneOfType') @@ -681,7 +683,7 @@ function getPropTypesForNode(node, optional, state) { ), [ types.objectExpression( - propertyKeys.map(propKey => { + propertyKeys.map((propKey) => { const objectProperty = types.objectProperty( types.identifier(propKey), mergedProperties[propKey] @@ -718,13 +720,13 @@ function getPropTypesForNode(node, optional, state) { // This helps filter out index signatures from interfaces, // which don't translate to prop types. .filter( - property => + (property) => property.key != null && !types.isTSNeverKeyword( property.typeAnnotation.typeAnnotation ) ) - .map(property => { + .map((property) => { let propertyPropType = property.type === 'TSMethodSignature' ? getPropTypesForNode( @@ -798,7 +800,7 @@ function getPropTypesForNode(node, optional, state) { ), [ types.arrayExpression( - node.properties.map(property => + node.properties.map((property) => types.stringLiteral( property.key.name || property.key.name || property.key.value ) @@ -818,7 +820,7 @@ function getPropTypesForNode(node, optional, state) { [ types.objectExpression( node.members - .map(property => { + .map((property) => { // skip never keyword if ( types.isTSNeverKeyword(property.typeAnnotation.typeAnnotation) @@ -853,7 +855,7 @@ function getPropTypesForNode(node, optional, state) { } return objectProperty; }) - .filter(x => x != null) + .filter((x) => x != null) ), ] ); @@ -864,7 +866,7 @@ function getPropTypesForNode(node, optional, state) { // literal values are extracted into a `oneOf`, if all members are literals this oneOf is used // otherwise `oneOfType` is used - if there are any literal values it contains the literals' `oneOf` case 'TSUnionType': - const tsUnionTypes = node.types.map(node => + const tsUnionTypes = node.types.map((node) => getPropTypesForNode(node, false, state) ); @@ -934,7 +936,7 @@ function getPropTypesForNode(node, optional, state) { // translate enum to PropTypes.oneOf case 'TSEnumDeclaration': - const memberTypes = node.members.map(member => + const memberTypes = node.members.map((member) => getPropTypesForNode(member, true, state) ); propType = types.callExpression( @@ -1088,7 +1090,7 @@ const typeDefinitionExtractors = { // only process relative imports for typescript definitions (avoid node_modules) if (isPathRelative) { // find the variable names being imported - const importedTypeNames = node.specifiers.map(specifier => { + const importedTypeNames = node.specifiers.map((specifier) => { switch (specifier.type) { case 'ImportSpecifier': return specifier.imported.name; @@ -1187,14 +1189,12 @@ const typeDefinitionExtractors = { * @param node * @returns Array */ - TSInterfaceDeclaration: node => { + TSInterfaceDeclaration: (node) => { const { id } = node; if (id.type !== 'Identifier') { throw new Error( - `TSInterfaceDeclaration typeDefinitionExtract could not understand id type ${ - id.type - }` + `TSInterfaceDeclaration typeDefinitionExtract could not understand id type ${id.type}` ); } @@ -1206,14 +1206,12 @@ const typeDefinitionExtractors = { * @param node * @returns Array */ - TSTypeAliasDeclaration: node => { + TSTypeAliasDeclaration: (node) => { const { id, typeAnnotation } = node; if (id.type !== 'Identifier') { throw new Error( - `TSTypeAliasDeclaraction typeDefinitionExtract could not understand id type ${ - id.type - }` + `TSTypeAliasDeclaraction typeDefinitionExtract could not understand id type ${id.type}` ); } return [{ name: id.name, definition: typeAnnotation }]; @@ -1224,14 +1222,12 @@ const typeDefinitionExtractors = { * @param node * @returns Array */ - TSEnumDeclaration: node => { + TSEnumDeclaration: (node) => { const { id } = node; if (id.type !== 'Identifier') { throw new Error( - `TSEnumDeclaration typeDefinitionExtract could not understand id type ${ - id.type - }` + `TSEnumDeclaration typeDefinitionExtract could not understand id type ${id.type}` ); } @@ -1243,7 +1239,7 @@ const typeDefinitionExtractors = { * @param node * @returns Array */ - VariableDeclaration: node => { + VariableDeclaration: (node) => { return node.declarations.reduce((declarations, declaration) => { if ( declaration.init != null && @@ -1415,7 +1411,7 @@ module.exports = function propTypesFromTypeScript({ types }) { { ImportDeclaration: ({ node }) => { if (node.source.value === 'react') { - node.specifiers.forEach(specifier => { + node.specifiers.forEach((specifier) => { if (specifier.type === 'ImportSpecifier') { importsFromReact.add(specifier.local.name); } @@ -1440,7 +1436,7 @@ module.exports = function propTypesFromTypeScript({ types }) { this.file.opts.filename ), fs: opts.fs || fs, - parse: code => babelCore.parse(code, state.file.opts), + parse: (code) => babelCore.parse(code, state.file.opts), }; // collect named TS type definitions for later reference @@ -1471,10 +1467,10 @@ module.exports = function propTypesFromTypeScript({ types }) { // remove any exported identifiers that are TS types or interfaces // this prevents TS-only identifiers from leaking into ES code programPath.traverse({ - ExportNamedDeclaration: path => { + ExportNamedDeclaration: (path) => { const specifiers = path.get('specifiers'); const source = path.get('source'); - specifiers.forEach(specifierPath => { + specifiers.forEach((specifierPath) => { if (types.isExportSpecifier(specifierPath)) { const { node: { local }, @@ -1581,7 +1577,7 @@ module.exports = function propTypesFromTypeScript({ types }) { ) return; - const resolveVariableDeclarator = variableDeclarator => { + const resolveVariableDeclarator = (variableDeclarator) => { const { id } = variableDeclarator; const idTypeAnnotation = id.typeAnnotation; let fileCodeNeedsUpdating = false; diff --git a/src-docs/src/views/datagrid/datagrid.js b/src-docs/src/views/datagrid/datagrid.js index 03c3d81635..5e17ec8e67 100644 --- a/src-docs/src/views/datagrid/datagrid.js +++ b/src-docs/src/views/datagrid/datagrid.js @@ -312,6 +312,10 @@ export default () => { console.log(eventData); }); + const onFullScreenChange = useRef((eventData) => { + console.log('isFullScreen:', eventData); + }); + return ( { onChangePage: onChangePage, }} onColumnResize={onColumnResize.current} + onFullScreenChange={onFullScreenChange.current} /> ); diff --git a/src/components/datagrid/data_grid.tsx b/src/components/datagrid/data_grid.tsx index 3ed5002f2f..587afc9108 100644 --- a/src/components/datagrid/data_grid.tsx +++ b/src/components/datagrid/data_grid.tsx @@ -164,6 +164,10 @@ type CommonGridProps = CommonProps & * A callback for when a column's size changes. Callback receives `{ columnId: string, width: number }`. */ onColumnResize?: OuiDataGridOnColumnResizeHandler; + /** + * A callback fired when the internal full screen state changes. + */ + onFullScreenChange?: (isFullScreen: boolean) => void; /** * Defines a minimum width for the grid to show all controls in its header. */ @@ -690,6 +694,7 @@ function notifyCellOfFocusState( } const emptyArrayDefault: OuiDataGridControlColumn[] = []; + export const OuiDataGrid: FunctionComponent = (props) => { const { leadingControlColumns = emptyArrayDefault, @@ -708,6 +713,7 @@ export const OuiDataGrid: FunctionComponent = (props) => { inMemory, popoverContents, onColumnResize, + onFullScreenChange, minSizeForControls = MINIMUM_WIDTH_FOR_GRID_CONTROLS, height, width, @@ -715,7 +721,7 @@ export const OuiDataGrid: FunctionComponent = (props) => { ...rest } = props; - const [isFullScreen, setIsFullScreen] = useState(false); + const [isFullScreen, setFullScreen] = useState(false); const [gridWidth, setGridWidth] = useState(0); const [interactiveCellId] = useState(htmlIdGenerator()()); @@ -756,6 +762,14 @@ export const OuiDataGrid: FunctionComponent = (props) => { [headerIsInteractive, setHeaderIsInteractive, setFocusedCell] ); + const handleFullScreenChange = useCallback( + (isFullScreen: boolean) => { + setFullScreen(isFullScreen); + onFullScreenChange?.(isFullScreen); + }, + [onFullScreenChange] + ); + const handleHeaderMutation = useCallback( (records) => { const [{ target }] = records; @@ -781,7 +795,7 @@ export const OuiDataGrid: FunctionComponent = (props) => { case keys.ESCAPE: if (isFullScreen) { event.preventDefault(); - setIsFullScreen(false); + handleFullScreenChange(false); } break; } @@ -1000,7 +1014,7 @@ export const OuiDataGrid: FunctionComponent = (props) => { color="text" className={controlBtnClasses} data-test-subj="dataGridFullScrenButton" - onClick={() => setIsFullScreen(!isFullScreen)}> + onClick={() => handleFullScreenChange(!isFullScreen)}> {isFullScreen ? fullScreenButtonActive : fullScreenButton} )} diff --git a/yarn.lock b/yarn.lock index 71b9f9777d..eb8c98ce88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -491,15 +491,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1" integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg== -"@babel/parser@^7.18.10", "@babel/parser@^7.18.11", "@babel/parser@^7.4.3": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" - integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== - -"@babel/parser@^7.20.7", "@babel/parser@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" - integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== +"@babel/parser@^7.18.10", "@babel/parser@^7.18.11", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.4.3": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== "@babel/plugin-proposal-async-generator-functions@^7.10.4": version "7.10.5" @@ -3615,20 +3610,6 @@ axobject-query@^2.1.2: resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - babel-eslint@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -3665,13 +3646,6 @@ babel-loader@^8.1.0: pify "^4.0.1" schema-utils "^2.6.5" -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - babel-plugin-add-module-exports@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.2.tgz#96cd610d089af664f016467fc4567c099cce2d9c" @@ -3730,50 +3704,6 @@ babel-preset-jest@^24.9.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.9.0" -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -5211,7 +5141,7 @@ core-js-pure@^3.0.0: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== -core-js@^2.4.0, core-js@^2.6.5: +core-js@^2.6.5: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== @@ -5765,7 +5695,7 @@ deasync@^0.1.28: bindings "^1.5.0" node-addon-api "^1.7.1" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -8214,11 +8144,6 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - globalthis@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9" @@ -10285,11 +10210,6 @@ joi@^17.7.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.5.4, js-yaml@~3.7.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" @@ -10785,7 +10705,7 @@ lodash.uniqby@4.7.0: resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.4: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -14156,11 +14076,6 @@ regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - regenerator-runtime@^0.13.11: version "0.13.11" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" @@ -16201,11 +16116,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"