From a542c0deebfb439c2667ff372aa1e16a5f001cbc Mon Sep 17 00:00:00 2001 From: Jon Desrosiers Date: Mon, 26 Apr 2021 10:02:12 -0400 Subject: [PATCH] Build tooling: Remove support for IE11 (#31110) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove support for IE11. * Update the `caniuse-lite` database. * update borwserlist * Try enabling the plugin that transpiles `??` operator * Update index.js * Remove IE11 static check * Update babel-preset test * Fix resizeable box * Fix block navigation * Fix linting Co-authored-by: Riad Benguella Co-authored-by: Greg Ziółkowski --- .github/workflows/static-checks.yml | 3 - package-lock.json | 77 ++++--------------- package.json | 2 +- packages/babel-preset-default/index.js | 4 +- .../test/__snapshots__/index.js.snap | 70 ++++------------- .../src/components/block-navigation/index.js | 2 +- packages/browserslist-config/index.js | 1 - .../src/resizable-box/resize-tooltip/utils.js | 3 +- 8 files changed, 35 insertions(+), 127 deletions(-) diff --git a/.github/workflows/static-checks.yml b/.github/workflows/static-checks.yml index ba66847963df7..7dd8ab6bda7fa 100644 --- a/.github/workflows/static-checks.yml +++ b/.github/workflows/static-checks.yml @@ -42,9 +42,6 @@ jobs: - name: Lint JavaScript and Styles run: npm run lint - - name: Lint ES5 built files (IE11) - run: npx eslint --parser-options=ecmaVersion:5 --no-eslintrc --no-ignore ./build/**/*.js - - name: Type checking run: npm run build:package-types diff --git a/package-lock.json b/package-lock.json index c67826df62ad0..b71bf96d3ebf1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7724,12 +7724,6 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "caniuse-lite": { - "version": "1.0.30001208", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz", - "integrity": "sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -23661,12 +23655,6 @@ "node-releases": "^1.1.70" } }, - "caniuse-lite": { - "version": "1.0.30001202", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", - "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==", - "dev": true - }, "colorette": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", @@ -24905,41 +24893,26 @@ } }, "browserslist": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.15.0.tgz", - "integrity": "sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==", + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", "requires": { - "caniuse-lite": "^1.0.30001164", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.612", + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.71" }, "dependencies": { - "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==" - }, "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" }, "electron-to-chromium": { - "version": "1.3.619", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.619.tgz", - "integrity": "sha512-WFGatwtk7Fw0QcKCZzfGD72hvbcXV8kLY8aFuj0Ip0QRnOtyLYMsc+wXbSjb2w4lk1gcAeNU1/lQ20A+tvuypQ==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" + "version": "1.3.720", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz", + "integrity": "sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw==" } } }, @@ -25288,10 +25261,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000998", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000998.tgz", - "integrity": "sha512-8Tj5sPZR9kMHeDD9SZXIVr5m9ofufLLCG2Y4QwQrH18GIwG+kCc+zYdlR036ZRkuKjVVetyxeAgGA1xF7XdmzQ==", - "dev": true + "version": "1.0.30001214", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz", + "integrity": "sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg==" }, "capture-exit": { "version": "2.0.0", @@ -26951,11 +26923,6 @@ "node-releases": "^1.1.70" } }, - "caniuse-lite": { - "version": "1.0.30001204", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001204.tgz", - "integrity": "sha512-JUdjWpcxfJ9IPamy2f5JaRDCaqJOxDzOSKtbdx4rH9VivMd1vIzoPumsJa9LoMIi4Fx2BV2KZOxWhNkBjaYivQ==" - }, "colorette": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", @@ -50074,12 +50041,6 @@ "node-releases": "^1.1.61" } }, - "caniuse-lite": { - "version": "1.0.30001208", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz", - "integrity": "sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -55797,12 +55758,6 @@ "fill-range": "^7.0.1" } }, - "caniuse-lite": { - "version": "1.0.30001173", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", - "integrity": "sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==", - "dev": true - }, "chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", diff --git a/package.json b/package.json index 3534b6195bfa8..4f40346c59343 100644 --- a/package.json +++ b/package.json @@ -150,7 +150,7 @@ "babel-plugin-react-native-platform-specific-extensions": "1.1.1", "babel-plugin-transform-remove-console": "6.9.4", "benchmark": "2.1.4", - "browserslist": "4.15.0", + "browserslist": "4.16.5", "chalk": "4.0.0", "commander": "4.1.0", "concurrently": "3.5.0", diff --git a/packages/babel-preset-default/index.js b/packages/babel-preset-default/index.js index 73ebfe5512560..3e82a7d088be1 100644 --- a/packages/babel-preset-default/index.js +++ b/packages/babel-preset-default/index.js @@ -16,7 +16,9 @@ module.exports = ( api ) => { } ); const getPresetEnv = () => { - const opts = {}; + const opts = { + include: [ 'proposal-nullish-coalescing-operator' ], + }; if ( isTestEnv ) { opts.targets = { diff --git a/packages/babel-preset-default/test/__snapshots__/index.js.snap b/packages/babel-preset-default/test/__snapshots__/index.js.snap index 667e2b6594813..249a42b95537c 100644 --- a/packages/babel-preset-default/test/__snapshots__/index.js.snap +++ b/packages/babel-preset-default/test/__snapshots__/index.js.snap @@ -1,67 +1,23 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Babel preset default transpilation works properly 1`] = ` -"import _asyncToGenerator from \\"@babel/runtime/helpers/asyncToGenerator\\"; -import _awaitAsyncGenerator from \\"@babel/runtime/helpers/awaitAsyncGenerator\\"; -import _wrapAsyncGenerator from \\"@babel/runtime/helpers/wrapAsyncGenerator\\"; -import _regeneratorRuntime from \\"@babel/runtime/regenerator\\"; -describe('Babel preset default', function () { - function foo() { - return _foo.apply(this, arguments); +"describe('Babel preset default', () => { + async function* foo() { + await 1; + yield 2; } - function _foo() { - _foo = _wrapAsyncGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { - return _regeneratorRuntime.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return _awaitAsyncGenerator(1); - - case 2: - _context.next = 4; - return 2; - - case 4: - case \\"end\\": - return _context.stop(); - } - } - }, _callee); - })); - return _foo.apply(this, arguments); - } - - test('support for async generator functions', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { - var generator; - return _regeneratorRuntime.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - generator = foo(); - _context2.t0 = expect; - _context2.next = 4; - return generator.next(); - - case 4: - _context2.t1 = _context2.sent; - (0, _context2.t0)(_context2.t1).toEqual({ - done: false, - value: 2 - }); - - case 6: - case \\"end\\": - return _context2.stop(); - } - } - }, _callee2); - }))); - test('support for optional chaining', function () { + test('support for async generator functions', async () => { + const generator = foo(); + expect(await generator.next()).toEqual({ + done: false, + value: 2 + }); + }); + test('support for optional chaining', () => { var _obj$foo, _obj$foo2; - var obj = { + const obj = { foo: { bar: 42 } diff --git a/packages/block-editor/src/components/block-navigation/index.js b/packages/block-editor/src/components/block-navigation/index.js index daeba32bae54d..48c20ae9ae144 100644 --- a/packages/block-editor/src/components/block-navigation/index.js +++ b/packages/block-editor/src/components/block-navigation/index.js @@ -32,7 +32,7 @@ export default function BlockNavigation( { const _selectedBlockClientId = getSelectedBlockClientId(); const _rootBlocks = __unstableGetClientIdsTree(); const _rootBlock = - selectedBlockClientId && ! isArray( selectedBlockClientId ) + _selectedBlockClientId && ! isArray( _selectedBlockClientId ) ? __unstableGetClientIdWithClientIdsTree( getBlockHierarchyRootClientId( _selectedBlockClientId diff --git a/packages/browserslist-config/index.js b/packages/browserslist-config/index.js index 132223516f8be..2bf4d0fb88502 100644 --- a/packages/browserslist-config/index.js +++ b/packages/browserslist-config/index.js @@ -1,7 +1,6 @@ // browserslist-config/index.js module.exports = [ '> 1%', - 'ie >= 11', 'last 1 Android versions', 'last 1 ChromeAndroid versions', 'last 2 Chrome versions', diff --git a/packages/components/src/resizable-box/resize-tooltip/utils.js b/packages/components/src/resizable-box/resize-tooltip/utils.js index df4eafe055925..cbd304ac4e0fb 100644 --- a/packages/components/src/resizable-box/resize-tooltip/utils.js +++ b/packages/components/src/resizable-box/resize-tooltip/utils.js @@ -69,6 +69,7 @@ export function useResizeLabel( { * Cached dimension values to check for width/height updates from the * sizes property from useResizeAware() */ + const { width, height } = sizes; const heightRef = useRef( height ); const widthRef = useRef( width ); @@ -78,8 +79,6 @@ export function useResizeLabel( { */ const moveTimeoutRef = useRef(); - const { width, height } = sizes; - const unsetMoveXY = () => { /* * If axis is controlled, we will avoid resetting the moveX and moveY values.