From 65b43c3df6a7f25cd6ed9aca6892af7fe6dd7a4e Mon Sep 17 00:00:00 2001 From: bowensanders Date: Thu, 27 Oct 2022 11:01:05 -0700 Subject: [PATCH 01/23] initial commit --- test/e2e/snaps/enums.js | 2 +- test/e2e/snaps/test-snap-error.spec.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index d18f417553fd..5ab06e39a025 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/3.1.0', + TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/3.1.0/', }; diff --git a/test/e2e/snaps/test-snap-error.spec.js b/test/e2e/snaps/test-snap-error.spec.js index 406daba7d367..6d37913114c0 100644 --- a/test/e2e/snaps/test-snap-error.spec.js +++ b/test/e2e/snaps/test-snap-error.spec.js @@ -29,13 +29,13 @@ describe('Test Snap Error', function () { // navigate to test snaps page and connect await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - await driver.fill('#snapId2', 'npm:@metamask/test-snap-error'); + // await driver.fill('#snapId2', 'npm:@metamask/test-snap-error'); - const snapButton = await driver.findElement('#connectError'); + const snapButton = await driver.findElement('#connectErrorSnap'); await driver.scrollToElement(snapButton); await driver.delay(500); - await driver.clickElement('#connectError'); + await driver.clickElement('#connectErrorSnap'); // switch to metamask extension and click connect await driver.waitUntilXWindowHandles(2, 5000, 10000); From 87e51dc771492461dd66c16774f7aaeb2a1ca0b5 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Mon, 31 Oct 2022 08:01:42 -0700 Subject: [PATCH 02/23] switched enums.js to point to local --- test/e2e/snaps/enums.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index 5ab06e39a025..7af573b1fc59 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/3.1.0/', + TEST_SNAPS_WEBSITE_URL: 'http://localhost:8000/', }; From 1fa361a5622df67e87cad32cb2be02f6ebba99d5 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Tue, 1 Nov 2022 15:13:21 -0700 Subject: [PATCH 03/23] error snap test completed --- test/e2e/snaps/enums.js | 2 +- test/e2e/snaps/test-snap-error.spec.js | 32 ++++++++++++-------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index 7af573b1fc59..81eb7536030c 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'http://localhost:8000/', + TEST_SNAPS_WEBSITE_URL: 'http://localhost:8080/', }; diff --git a/test/e2e/snaps/test-snap-error.spec.js b/test/e2e/snaps/test-snap-error.spec.js index 6d37913114c0..7c5f70d5095f 100644 --- a/test/e2e/snaps/test-snap-error.spec.js +++ b/test/e2e/snaps/test-snap-error.spec.js @@ -18,6 +18,7 @@ describe('Test Snap Error', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -28,18 +29,16 @@ describe('Test Snap Error', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - // await driver.fill('#snapId2', 'npm:@metamask/test-snap-error'); - + await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); const snapButton = await driver.findElement('#connectErrorSnap'); await driver.scrollToElement(snapButton); await driver.delay(500); - await driver.clickElement('#connectErrorSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); + const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -66,24 +65,23 @@ describe('Test Snap Error', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); + + //find and click on send error await driver.clickElement('#sendError'); - await driver.navigate(PAGES.HOME); + // switch back to the extension page + await driver.switchToWindow(extensionPage); + await driver.delay(1000); - const error = await driver.findElement( - '.home-notification__content-container', - ); - const text = await error.getText(); - assert.equal( - text.includes( - "Snap Error: 'random error inside'. Error Code: '-32603'", - ), - true, - ); + // try to click on the dismiss button and pass test if it works + await driver.clickElement({ + text: 'Dismiss', + tag: 'button', + }); }, ); }); From a816df5f9ee40bee2b0ca532071976279a726bb4 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Tue, 1 Nov 2022 15:33:48 -0700 Subject: [PATCH 04/23] confirm snap test completed --- test/e2e/snaps/test-snap-confirm.spec.js | 28 ++++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index 1722dd93ffa1..f98570699136 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -17,6 +17,7 @@ describe('Test Snap Confirm', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -27,13 +28,16 @@ describe('Test Snap Confirm', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - await driver.fill('#snapId1', 'npm:@metamask/test-snap-confirm'); - await driver.clickElement('#connectHello'); + await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); + const snapButton1 = await driver.findElement('#connectConfirmSnap'); + await driver.scrollToElement(snapButton1); + await driver.delay(500); + await driver.clickElement('#connectConfirmSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); + const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -49,7 +53,7 @@ describe('Test Snap Confirm', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -60,19 +64,19 @@ describe('Test Snap Confirm', function () { tag: 'button', }); - // click send inputs on test snap page - await driver.waitUntilXWindowHandles(1, 5000, 10000); + // switch back to test snaps page + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); - const snapButton = await driver.findElement('#sendConfirmButton'); - await driver.scrollToElement(snapButton); - + // click send inputs on test snap page + const snapButton2 = await driver.findElement('#sendConfirmButton'); + await driver.scrollToElement(snapButton2); await driver.delay(1000); await driver.clickElement('#sendConfirmButton'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -84,7 +88,7 @@ describe('Test Snap Confirm', function () { }); // check the results of the custom confirm - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); const confirmResult = await driver.findElement('#confirmResult'); From 69ee6ac9a6b8db7240e72fcfa3be6dfd6810d2c6 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Tue, 1 Nov 2022 16:27:37 -0700 Subject: [PATCH 05/23] bip-44 snap test completed --- test/e2e/snaps/test-snap-bip-44.spec.js | 63 ++++++++++++++++++------ test/e2e/snaps/test-snap-confirm.spec.js | 8 +++ 2 files changed, 55 insertions(+), 16 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index 743fee4a930c..20c30de1fbed 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -17,6 +17,7 @@ describe('Test Snap bip-44', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -27,20 +28,16 @@ describe('Test Snap bip-44', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - await driver.delay(1000); - await driver.fill('#snapId3', 'npm:@metamask/test-snap-bip44'); - - const snapButton = await driver.findElement('#snapId3'); - await driver.scrollToElement(snapButton); + await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); + const snapButton1 = await driver.findElement('#connectBip44Snap'); + await driver.scrollToElement(snapButton1); await driver.delay(500); - - // connect the snap - await driver.clickElement('#connectBip44'); + await driver.clickElement('#connectBip44Snap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); + const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -53,10 +50,10 @@ describe('Test Snap bip-44', function () { 10000, ); - await driver.delay(2000); + await driver.delay(1000); // approve install of snap - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -76,18 +73,52 @@ describe('Test Snap bip-44', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); - await driver.clickElement('#sendBip44'); + await driver.clickElement('#sendBip44Test'); // check the results of the public key test - await driver.delay(2000); + await driver.delay(1000); const bip44Result = await driver.findElement('#bip44Result'); assert.equal( await bip44Result.getText(), - 'Public key: "0x86debb44fb3a984d93f326131d4c1db0bc39644f1a67b673b3ab45941a1cea6a385981755185ac4594b6521e4d1e08d1"', + '"0x86debb44fb3a984d93f326131d4c1db0bc39644f1a67b673b3ab45941a1cea6a385981755185ac4594b6521e4d1e08d1"', + ); + + // enter a message to sign + await driver.fill('#bip44Message', '1234'); + await driver.delay(500); + const snapButton3 = await driver.findElement('#signBip44Message'); + await driver.scrollToElement(snapButton3); + await driver.delay(500); + await driver.clickElement('#signBip44Message'); + + // Switch to approve signature message window and approve + // approve install of snap + await driver.waitUntilXWindowHandles(3, 3000, 10000); + windowHandles = await driver.getAllWindowHandles(); + await driver.switchToWindowWithTitle( + 'MetaMask Notification', + windowHandles, + ); + await driver.clickElement({ + text: 'Approve', + tag: 'button', + }); + + // switch back to test-snaps page + await driver.waitUntilXWindowHandles(2, 3000, 10000); + windowHandles = await driver.getAllWindowHandles(); + await driver.switchToWindowWithTitle('Test Snaps', windowHandles); + await driver.delay(500); + + // check the results of the message signature + const bip44SignResult = await driver.findElement('#bip44SignResult'); + assert.equal( + await bip44SignResult.getText(), + '"0xa41ab87ca50606eefd47525ad90294bbe44c883f6bc53655f1b8a55aa8e1e35df216f31be62e52c7a1faa519420e20810162e07dedb0fde2a4d997ff7180a78232ecd8ce2d6f4ba42ccacad33c5e9e54a8c4d41506bdffb2bb4c368581d8b086"', ); }, ); diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index f98570699136..56c1c27fa81b 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -93,6 +93,14 @@ describe('Test Snap Confirm', function () { await driver.switchToWindowWithTitle('Test Snaps', windowHandles); const confirmResult = await driver.findElement('#confirmResult'); assert.equal(await confirmResult.getText(), 'true'); + + // enter a message to sign + await driver.fill('#bip44Message', '1234'); + await driver.delay(1000); + const snapButton3 = await driverfindElement('#signBip44Message'); + await driver.scrollToElement(snapButton3); + await driver.delay(1000); + await driver.clickElement('#signBip44Message'); }, ); }); From fb906f4d93985737f0a21e57788476c52d9edac0 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 2 Nov 2022 11:49:37 -0700 Subject: [PATCH 06/23] manageState test complete --- test/e2e/snaps/test-snap-managestate.spec.js | 30 +++++++------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/test/e2e/snaps/test-snap-managestate.spec.js b/test/e2e/snaps/test-snap-managestate.spec.js index 06fddda59528..cc7e0aa99a12 100644 --- a/test/e2e/snaps/test-snap-managestate.spec.js +++ b/test/e2e/snaps/test-snap-managestate.spec.js @@ -18,6 +18,7 @@ describe('Test Snap manageState', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -28,20 +29,17 @@ describe('Test Snap manageState', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page, then fill in the snapId - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - await driver.delay(1000); - await driver.fill('#snapId4', 'npm:@metamask/test-snap-managestate'); - - // find and scroll to the rest of the card - const snapButton = await driver.findElement('#snapId4'); - await driver.scrollToElement(snapButton); + await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); await driver.delay(500); - // connect the snap + // find and scroll to the connect button and click it + const snapButton1 = await driver.findElement('#connectManageState'); + await driver.scrollToElement(snapButton1); + await driver.delay(500); await driver.clickElement('#connectManageState'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -57,7 +55,7 @@ describe('Test Snap manageState', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -69,7 +67,7 @@ describe('Test Snap manageState', function () { }); // fill and click send inputs on test snap page - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.fill('#dataManageState', '23'); @@ -83,9 +81,6 @@ describe('Test Snap manageState', function () { ); assert.equal(await manageStateResult.getText(), 'true'); - // click get results - await driver.clickElement('#retrieveManageState'); - // check the results await driver.delay(500); const retrieveManageStateResult = await driver.findElement( @@ -93,7 +88,7 @@ describe('Test Snap manageState', function () { ); assert.equal( await retrieveManageStateResult.getText(), - '{"testState":["23"]}', + '{ "testState": [ "23" ] }', ); // click clear results @@ -106,9 +101,6 @@ describe('Test Snap manageState', function () { ); assert.equal(await clearManageStateResult.getText(), 'true'); - // click get results again - await driver.clickElement('#retrieveManageState'); - // check result array is empty await driver.delay(500); const retrieveManageStateResult2 = await driver.findElement( @@ -116,7 +108,7 @@ describe('Test Snap manageState', function () { ); assert.equal( await retrieveManageStateResult2.getText(), - '{"testState":[]}', + '{ "testState": [] }', ); }, ); From afa1368ef00ff80241e89bb31ff1b25b6c740d56 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 2 Nov 2022 12:52:12 -0700 Subject: [PATCH 07/23] notification test complete --- test/e2e/snaps/test-snap-notification.spec.js | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/test/e2e/snaps/test-snap-notification.spec.js b/test/e2e/snaps/test-snap-notification.spec.js index 25f7cbe3435d..fe35fa1d553b 100644 --- a/test/e2e/snaps/test-snap-notification.spec.js +++ b/test/e2e/snaps/test-snap-notification.spec.js @@ -18,6 +18,7 @@ describe('Test Snap Notification', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -28,21 +29,19 @@ describe('Test Snap Notification', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - await driver.delay(1000); + await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); + await driver.delay(500); - // find and scroll down to snapId5 - const snapButton = await driver.findElement('#snapId5'); + // find and scroll down to snapId5 and connect + const snapButton = await driver.findElement('#connectNotification'); await driver.scrollToElement(snapButton); await driver.delay(500); - await driver.fill('#snapId5', 'npm:@metamask/test-snap-notification'); - - // connect the snap await driver.clickElement('#connectNotification'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); + const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -57,7 +56,7 @@ describe('Test Snap Notification', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -69,14 +68,14 @@ describe('Test Snap Notification', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); await driver.clickElement('#sendInAppNotification'); - // try to go to the MM pages - await driver.navigate(PAGES.HOME); + // switch back to the extension page + await driver.switchToWindow(extensionPage); await driver.delay(1500); // check to see that there is one notification From 0b1294fcb8009f93b4cde6bcc7441aa189d9f43b Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 2 Nov 2022 13:57:20 -0700 Subject: [PATCH 08/23] bip32 test completed --- test/e2e/snaps/test-snap-bip-32.spec.js | 112 ++++++++++++++---------- 1 file changed, 65 insertions(+), 47 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index 89fab0c121e1..53c1a6fd4f6d 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -16,6 +16,7 @@ describe('Test Snap bip-32', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -26,19 +27,19 @@ describe('Test Snap bip-32', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); + await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); await driver.delay(1000); - // find and scroll to the correct card and click first - const snapButton = await driver.findElement('#sendUpdateHello'); - await driver.scrollToElement(snapButton); + // find and scroll to the bip32 test and connect + const snapButton1 = await driver.findElement('#connectBip32'); + await driver.scrollToElement(snapButton1); await driver.delay(500); - await driver.fill('#snapId6', 'npm:@metamask/test-snap-bip32'); await driver.clickElement('#connectBip32'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); + const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -54,7 +55,7 @@ describe('Test Snap bip-32', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -75,17 +76,53 @@ describe('Test Snap bip-32', function () { }); // switch back to test-snaps window - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); + // scroll to and click get public key + await driver.delay(500); + const snapButton2 = await driver.findElement('#bip32GetPublic'); + await driver.scrollToElement(snapButton2); + await driver.delay(500); + await driver.clickElement('#bip32GetPublic'); + + // check for proper public key response + await driver.delay(500); + const retrievePublicKeyResult1 = await driver.findElement( + '#bip32PublicKeyResult', + ); + assert.equal( + await retrievePublicKeyResult1.getText(), + '"043e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366606ece56791c361a2320e7fad8bcbb130f66d51c591fc39767ab2856e93f8dfb"', + ); + + // scroll to and click get compressed public key + await driver.delay(500); + const snapButton3 = await driver.findElement( + '#bip32GetCompressedPublic', + ); + await driver.scrollToElement(snapButton3); + await driver.delay(500); + await driver.clickElement('#bip32GetCompressedPublic'); + + // check for proper public key response + await driver.delay(500); + const retrievePublicKeyResult2 = await driver.findElement( + '#bip32PublicKeyResult', + ); + assert.equal( + await retrievePublicKeyResult2.getText(), + '"033e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366"', + ); + // wait then run SECP256K1 test await driver.delay(1000); - await driver.fill('#bip32SignMessage', 'foo bar'); - await driver.clickElement('#sendBip32Secp256k1'); + await driver.fill('#bip32Message-secp256k1', 'foo bar'); + await driver.clickElement('#sendBip32-secp256k1'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -96,26 +133,33 @@ describe('Test Snap bip-32', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); // check result await driver.delay(1000); const secp256k1Result = await driver.findElement( - '#bip32Secp256k1Result', + '#bip32MessageResult-secp256k1', ); assert.equal( await secp256k1Result.getText(), - 'Signature: "0xd30561eb9e3195e47d49198fb0bc66eda867a7dff4c5e8b60c2ec13851aa7d8cc3d485da177de63dad331f315d440cbb693a629efe228389c4693ea90465b101"', + '"0x3045022100b3ade2992ea3e5eb58c7550e9bddad356e9554233c8b099ebc3cb418e9301ae2022064746e15ae024808f0ba5d860e44dc4c97e65c8cba6f5ef9ea2e8c819930d2dc"', ); + // scroll further into messages section + await driver.delay(500); + const snapButton4 = await driver.findElement('#bip32Message-ed25519'); + await driver.scrollToElement(snapButton4); + await driver.delay(500); + // wait then run ed25519 test await driver.delay(1000); - await driver.clickElement('#sendBip32Ed25519'); + await driver.fill('#bip32Message-ed25519', 'foo bar'); + await driver.clickElement('#sendBip32-ed25519'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -126,44 +170,18 @@ describe('Test Snap bip-32', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(1, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); // check result await driver.delay(1000); - const ed25519Result = await driver.findElement('#bip32Ed25519Result'); - assert.equal( - await ed25519Result.getText(), - 'Signature: "0xf3215b4d6c59aac7e01b4ceef530d1e2abf4857926b85a81aaae3894505699243768a887b7da4a8c2e0f25196196ba290b6531050db8dc15c252bdd508532a0a"', - ); - - const publicKeyButton = await driver.findElement('#sendBip32PublicKey'); - await driver.scrollToElement(publicKeyButton); - // wait then run public key test - await driver.delay(1000); - await driver.clickElement('#sendBip32PublicKey'); - // check result - await driver.delay(1000); - const publicKeyResult = await driver.findElement( - '#bip32PublicKeyResult', + const ed25519Result = await driver.findElement( + '#bip32MessageResult-ed25519', ); assert.equal( - await publicKeyResult.getText(), - 'Public key: "043e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366606ece56791c361a2320e7fad8bcbb130f66d51c591fc39767ab2856e93f8dfb"', - ); - - // wait then run compressed public key test - await driver.delay(1000); - await driver.clickElement('#sendBip32CompressedPublicKey'); - // check result - await driver.delay(1000); - const compressedPublicKeyResult = await driver.findElement( - '#bip32CompressedPublicKeyResult', - ); - assert.equal( - await compressedPublicKeyResult.getText(), - 'Public key: "033e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366"', + await ed25519Result.getText(), + '"0xf3215b4d6c59aac7e01b4ceef530d1e2abf4857926b85a81aaae3894505699243768a887b7da4a8c2e0f25196196ba290b6531050db8dc15c252bdd508532a0a"', ); }, ); From cb03a0ab5b180ffc3dd3880e47582cc9bdaff48e Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 2 Nov 2022 14:21:46 -0700 Subject: [PATCH 09/23] update test completed --- test/e2e/snaps/test-snap-update.spec.js | 45 +++++++------------------ 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index 497da3d25601..258a795270e9 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -17,6 +17,7 @@ describe('Test Snap update', function () { { fixtures: 'imported-account', ganacheOptions, + failOnConsoleError: false, title: this.test.title, }, async ({ driver }) => { @@ -30,14 +31,13 @@ describe('Test Snap update', function () { await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); // find and scroll to the correct card and click first - const snapButton = await driver.findElement('#sendUpdateHello'); + const snapButton = await driver.findElement('#connectUpdate'); await driver.scrollToElement(snapButton); await driver.delay(500); - await driver.fill('#snapId7', 'npm:@metamask/test-snap-confirm'); - await driver.clickElement('#connectUpdateOld'); + await driver.clickElement('#connectUpdate'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( @@ -66,19 +66,19 @@ describe('Test Snap update', function () { }); // navigate to test snap page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); // find and scroll to the correct card and click first - const snapButton2 = await driver.findElement('#snapId7'); + const snapButton2 = await driver.findElement('#connectUpdateNew'); await driver.scrollToElement(snapButton2); await driver.delay(500); await driver.clickElement('#connectUpdateNew'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); await driver.delay(1000); // approve update of snap @@ -92,33 +92,14 @@ describe('Test Snap update', function () { tag: 'button', }); - // switch to the original MM tab - await driver.switchToWindow(extensionPage); - await driver.delay(500); - - // click on the account menu icon - await driver.clickElement('.account-menu__icon'); - await driver.delay(500); - - // try to click on the notification item - await driver.clickElement({ - text: 'Settings', - tag: 'div', - }); - await driver.delay(500); - - // try to click on the snaps item - await driver.clickElement({ - text: 'Snaps', - tag: 'div', - }); - await driver.delay(500); + // navigate to test snap page + await driver.waitUntilXWindowHandles(2, 3000, 10000); + windowHandles = await driver.getAllWindowHandles(); + await driver.switchToWindowWithTitle('Test Snaps', windowHandles); // look for the correct version text - const versionResult = await driver.findElement( - '.snap-settings-card__version', - ); - assert.equal(await versionResult.getText(), 'v2.0.0'); + const versionResult = await driver.findElement('#updateSnapVersion'); + assert.equal(await versionResult.getText(), '"2.0.0"'); }, ); }); From 301ea42419968b301ea47fdb475837d49bfb4944 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Fri, 4 Nov 2022 09:57:34 -0700 Subject: [PATCH 10/23] small fixes --- test/e2e/snaps/test-snap-confirm.spec.js | 14 +-- test/e2e/snaps/test-snap-get-snaps.spec.js | 122 --------------------- 2 files changed, 7 insertions(+), 129 deletions(-) delete mode 100644 test/e2e/snaps/test-snap-get-snaps.spec.js diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index 56c1c27fa81b..741070f52a91 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -94,13 +94,13 @@ describe('Test Snap Confirm', function () { const confirmResult = await driver.findElement('#confirmResult'); assert.equal(await confirmResult.getText(), 'true'); - // enter a message to sign - await driver.fill('#bip44Message', '1234'); - await driver.delay(1000); - const snapButton3 = await driverfindElement('#signBip44Message'); - await driver.scrollToElement(snapButton3); - await driver.delay(1000); - await driver.clickElement('#signBip44Message'); + // // enter a message to sign + // await driver.fill('#bip44Message', '1234'); + // await driver.delay(1000); + // const snapButton3 = await driver.findElement('#signBip44Message'); + // await driver.scrollToElement(snapButton3); + // await driver.delay(1000); + // await driver.clickElement('#signBip44Message'); }, ); }); diff --git a/test/e2e/snaps/test-snap-get-snaps.spec.js b/test/e2e/snaps/test-snap-get-snaps.spec.js deleted file mode 100644 index 911773f11bac..000000000000 --- a/test/e2e/snaps/test-snap-get-snaps.spec.js +++ /dev/null @@ -1,122 +0,0 @@ -const { strict: assert } = require('assert'); -const { withFixtures } = require('../helpers'); -const { TEST_SNAPS_WEBSITE_URL } = require('./enums'); - -describe('Test Snap Confirm', function () { - it('can pop up a snap confirm and get its result', async function () { - const ganacheOptions = { - accounts: [ - { - secretKey: - '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC', - balance: 25000000000000000000, - }, - ], - }; - await withFixtures( - { - fixtures: 'imported-account', - ganacheOptions, - title: this.test.title, - }, - async ({ driver }) => { - await driver.navigate(); - - // enter pw into extension - await driver.fill('#password', 'correct horse battery staple'); - await driver.press('#password', driver.Key.ENTER); - - // navigate to test snaps page and connect - await driver.driver.get(TEST_SNAPS_WEBSITE_URL); - await driver.fill('#snapId1', 'npm:@metamask/test-snap-confirm'); - await driver.clickElement('#connectHello'); - - // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); - let windowHandles = await driver.getAllWindowHandles(); - await driver.switchToWindowWithTitle( - 'MetaMask Notification', - windowHandles, - ); - await driver.clickElement( - { - text: 'Connect', - tag: 'button', - }, - 10000, - ); - - await driver.delay(2000); - - // approve install of snap - await driver.waitUntilXWindowHandles(2, 5000, 10000); - windowHandles = await driver.getAllWindowHandles(); - await driver.switchToWindowWithTitle( - 'MetaMask Notification', - windowHandles, - ); - await driver.clickElement({ - text: 'Approve & install', - tag: 'button', - }); - - // click send inputs on test snap page - await driver.waitUntilXWindowHandles(1, 5000, 10000); - windowHandles = await driver.getAllWindowHandles(); - await driver.switchToWindowWithTitle('Test Snaps', windowHandles); - - const errorButton = await driver.findElement('#connectError'); - await driver.scrollToElement(errorButton); - await driver.delay(1000); - await driver.fill('#snapId2', 'npm:@metamask/test-snap-error'); - await driver.clickElement('#connectError'); - - // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(2, 5000, 10000); - windowHandles = await driver.getAllWindowHandles(); - await driver.switchToWindowWithTitle( - 'MetaMask Notification', - windowHandles, - ); - await driver.clickElement( - { - text: 'Connect', - tag: 'button', - }, - 10000, - ); - - await driver.delay(2000); - - // approve install of snap - windowHandles = await driver.getAllWindowHandles(); - await driver.switchToWindowWithTitle( - 'MetaMask Notification', - windowHandles, - ); - await driver.clickElement({ - text: 'Approve & install', - tag: 'button', - }); - - await driver.waitUntilXWindowHandles(1, 5000, 10000); - windowHandles = await driver.getAllWindowHandles(); - await driver.switchToWindowWithTitle('Test Snaps', windowHandles); - - const getInstalledSnapsButton = await driver.findElement( - '#getInstalledSnapsButton', - ); - await driver.scrollToElement(getInstalledSnapsButton); - await driver.delay(1000); - await driver.clickElement('#getInstalledSnapsButton'); - await driver.delay(1000); - - const result = await driver.findElement('#getInstalledSnapsResult'); - assert.equal( - await result.getText(), - 'npm:@metamask/test-snap-confirm, npm:@metamask/test-snap-error', - ); - }, - ); - }); -}); From d1855f30280c11db488cf4a320456c14d6cfca7e Mon Sep 17 00:00:00 2001 From: bowensanders Date: Fri, 11 Nov 2022 14:10:08 -0800 Subject: [PATCH 11/23] delay adjustments --- test/e2e/snaps/enums.js | 2 +- test/e2e/snaps/test-snap-update.spec.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index 81eb7536030c..a940e21b92f3 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'http://localhost:8080/', + TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/4.0.2/', }; diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index 258a795270e9..d06adafaef13 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -31,7 +31,7 @@ describe('Test Snap update', function () { await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); // find and scroll to the correct card and click first - const snapButton = await driver.findElement('#connectUpdate'); + const snapButton = await driver.findElement('#connectUpdateNew'); await driver.scrollToElement(snapButton); await driver.delay(500); await driver.clickElement('#connectUpdate'); @@ -99,6 +99,7 @@ describe('Test Snap update', function () { // look for the correct version text const versionResult = await driver.findElement('#updateSnapVersion'); + await driver.delay(500); assert.equal(await versionResult.getText(), '"2.0.0"'); }, ); From 1d00bef07362bcae3e554a3b9a7846f0d4261d9a Mon Sep 17 00:00:00 2001 From: bowensanders Date: Fri, 11 Nov 2022 14:31:13 -0800 Subject: [PATCH 12/23] removed unnecessary comment --- test/e2e/snaps/test-snap-installed.spec.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/e2e/snaps/test-snap-installed.spec.js b/test/e2e/snaps/test-snap-installed.spec.js index d1aa7f35ce17..a7f426c7caef 100644 --- a/test/e2e/snaps/test-snap-installed.spec.js +++ b/test/e2e/snaps/test-snap-installed.spec.js @@ -111,9 +111,7 @@ describe('Test Snap Installed', function () { await driver.delay(1000); assert.equal( await result.getText(), - // use this for live tests 'npm:@metamask/test-snap-confirm, npm:@metamask/test-snap-error', - // 'local:http://localhost:8001, local:http://localhost:8002', ); }, ); From d377ea2502faea037111229d856ae8b034f39bd5 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Fri, 11 Nov 2022 15:35:07 -0800 Subject: [PATCH 13/23] fixed linting and fixtures errors --- test/e2e/snaps/test-snap-bip-32.spec.js | 5 +---- test/e2e/snaps/test-snap-bip-44.spec.js | 4 +--- test/e2e/snaps/test-snap-confirm.spec.js | 13 ++++++------ test/e2e/snaps/test-snap-error.spec.js | 13 +++++------- test/e2e/snaps/test-snap-installed.spec.js | 8 ++++--- test/e2e/snaps/test-snap-managestate.spec.js | 2 +- test/e2e/snaps/test-snap-notification.spec.js | 7 +++---- test/e2e/snaps/test-snap-update.spec.js | 21 +++++++++++++++++-- 8 files changed, 41 insertions(+), 32 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index 5f9ad953905c..473c0b952c3a 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -16,7 +16,7 @@ describe('Test Snap bip-32', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, @@ -42,7 +42,6 @@ describe('Test Snap bip-32', function () { // switch to metamask extension and click connect await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); - const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -58,8 +57,6 @@ describe('Test Snap bip-32', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); - windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index cb602ebb6c02..c1299f7dc089 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -17,7 +17,7 @@ describe('Test Snap bip-44', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, @@ -40,7 +40,6 @@ describe('Test Snap bip-44', function () { // switch to metamask extension and click connect await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); - const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -99,7 +98,6 @@ describe('Test Snap bip-44', function () { await driver.clickElement('#signBip44Message'); // Switch to approve signature message window and approve - // approve install of snap await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index e4ccfd39cdb8..bd7945ec66cd 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -17,7 +17,7 @@ describe('Test Snap Confirm', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, @@ -38,9 +38,8 @@ describe('Test Snap Confirm', function () { await driver.clickElement('#connectConfirmSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); - const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -56,7 +55,7 @@ describe('Test Snap Confirm', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -68,7 +67,7 @@ describe('Test Snap Confirm', function () { }); // switch back to test snaps page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -79,7 +78,7 @@ describe('Test Snap Confirm', function () { await driver.clickElement('#sendConfirmButton'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -91,7 +90,7 @@ describe('Test Snap Confirm', function () { }); // check the results of the custom confirm - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); const confirmResult = await driver.findElement('#confirmResult'); diff --git a/test/e2e/snaps/test-snap-error.spec.js b/test/e2e/snaps/test-snap-error.spec.js index f1b75cfb6ea1..ff1bdba76389 100644 --- a/test/e2e/snaps/test-snap-error.spec.js +++ b/test/e2e/snaps/test-snap-error.spec.js @@ -1,6 +1,4 @@ -const { strict: assert } = require('assert'); const { withFixtures } = require('../helpers'); -const { PAGES } = require('../webdriver/driver'); const FixtureBuilder = require('../fixture-builder'); const { TEST_SNAPS_WEBSITE_URL } = require('./enums'); @@ -18,7 +16,7 @@ describe('Test Snap Error', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, @@ -39,7 +37,7 @@ describe('Test Snap Error', function () { await driver.clickElement('#connectErrorSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( @@ -57,7 +55,6 @@ describe('Test Snap Error', function () { await driver.delay(2000); // approve install of snap - let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -68,12 +65,12 @@ describe('Test Snap Error', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); - await driver.delay(1000); + await driver.delay(500); - //find and click on send error + // find and click on send error await driver.clickElement('#sendError'); // switch back to the extension page diff --git a/test/e2e/snaps/test-snap-installed.spec.js b/test/e2e/snaps/test-snap-installed.spec.js index a7f426c7caef..a56c22c9b811 100644 --- a/test/e2e/snaps/test-snap-installed.spec.js +++ b/test/e2e/snaps/test-snap-installed.spec.js @@ -1,5 +1,6 @@ const { strict: assert } = require('assert'); const { withFixtures } = require('../helpers'); +const FixtureBuilder = require('../fixture-builder'); const { TEST_SNAPS_WEBSITE_URL } = require('./enums'); describe('Test Snap Installed', function () { @@ -15,7 +16,9 @@ describe('Test Snap Installed', function () { }; await withFixtures( { - fixtures: 'imported-account', + fixtures: new FixtureBuilder() + // .withPermissionControllerConnectedToSnapDapp() + .build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, @@ -37,7 +40,6 @@ describe('Test Snap Installed', function () { // switch to metamask extension and click connect await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); - const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, @@ -102,7 +104,7 @@ describe('Test Snap Installed', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); diff --git a/test/e2e/snaps/test-snap-managestate.spec.js b/test/e2e/snaps/test-snap-managestate.spec.js index 9b75542fbaed..133c3f250fea 100644 --- a/test/e2e/snaps/test-snap-managestate.spec.js +++ b/test/e2e/snaps/test-snap-managestate.spec.js @@ -18,7 +18,7 @@ describe('Test Snap manageState', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, diff --git a/test/e2e/snaps/test-snap-notification.spec.js b/test/e2e/snaps/test-snap-notification.spec.js index b4db2c37cfcb..5a1fcf32f5c3 100644 --- a/test/e2e/snaps/test-snap-notification.spec.js +++ b/test/e2e/snaps/test-snap-notification.spec.js @@ -1,6 +1,5 @@ const { strict: assert } = require('assert'); const { withFixtures } = require('../helpers'); -const { PAGES } = require('../webdriver/driver'); const FixtureBuilder = require('../fixture-builder'); const { TEST_SNAPS_WEBSITE_URL } = require('./enums'); @@ -18,7 +17,7 @@ describe('Test Snap Notification', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, @@ -59,7 +58,7 @@ describe('Test Snap Notification', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(3, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -71,7 +70,7 @@ describe('Test Snap Notification', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index 0dfed2fa8dca..7389e5531186 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -17,7 +17,7 @@ describe('Test Snap update', function () { await withFixtures( { fixtures: new FixtureBuilder() - .withPermissionControllerConnectedToSnapDapp() + // .withPermissionControllerConnectedToSnapDapp() .build(), ganacheOptions, failOnConsoleError: false, @@ -39,10 +39,27 @@ describe('Test Snap update', function () { await driver.delay(500); await driver.clickElement('#connectUpdate'); + await driver.delay(2000); + // switch to metamask extension and click connect await driver.waitUntilXWindowHandles(3, 3000, 10000); let windowHandles = await driver.getAllWindowHandles(); - const extensionPage = windowHandles[0]; + await driver.switchToWindowWithTitle( + 'MetaMask Notification', + windowHandles, + ); + await driver.clickElement( + { + text: 'Connect', + tag: 'button', + }, + 10000, + ); + await driver.delay(2000); + + // approve install of snap + await driver.waitUntilXWindowHandles(3, 3000, 10000); + windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, From 6d8d25a4becb8411f7dd0f9abb28a993c4d242cc Mon Sep 17 00:00:00 2001 From: bowensanders Date: Fri, 11 Nov 2022 17:10:10 -0800 Subject: [PATCH 14/23] fixed bip-32 snap for new keytree --- lavamoat/build-system/policy.json | 1443 +++++++++++++++++------ test/e2e/snaps/test-snap-bip-32.spec.js | 4 +- 2 files changed, 1111 insertions(+), 336 deletions(-) diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index b50930cc5970..0a1e1ea87d78 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -1803,6 +1803,7 @@ }, "packages": { "chokidar>braces": true, + "chokidar>fsevents": true, "chokidar>glob-parent": true, "chokidar>is-binary-path": true, "chokidar>normalize-path": true, @@ -1829,6 +1830,12 @@ "chokidar>braces>fill-range>to-regex-range>is-number": true } }, + "chokidar>fsevents": { + "globals": { + "process.platform": true + }, + "native": true + }, "chokidar>glob-parent": { "builtin": { "os.platform": true, @@ -4222,6 +4229,7 @@ "gulp-watch>chokidar>anymatch": true, "gulp-watch>chokidar>async-each": true, "gulp-watch>chokidar>braces": true, + "gulp-watch>chokidar>fsevents": true, "gulp-watch>chokidar>is-binary-path": true, "gulp-watch>chokidar>normalize-path": true, "gulp-watch>chokidar>readdirp": true, @@ -4370,552 +4378,1319 @@ "webpack>micromatch>braces>fill-range>repeat-string": true } }, - "gulp-watch>chokidar>is-binary-path": { - "builtin": { - "path.extname": true - }, - "packages": { - "gulp-watch>chokidar>is-binary-path>binary-extensions": true - } - }, - "gulp-watch>chokidar>readdirp": { + "gulp-watch>chokidar>fsevents": { "builtin": { + "events.EventEmitter": true, + "fs.stat": true, "path.join": true, - "path.relative": true, "util.inherits": true }, "globals": { + "__dirname": true, + "process.nextTick": true, + "process.platform": true, "setImmediate": true }, "packages": { - "fs-extra>graceful-fs": true, - "gulp-watch>chokidar>readdirp>micromatch": true, - "readable-stream": true + "gulp-watch>chokidar>fsevents>node-pre-gyp": true } }, - "gulp-watch>chokidar>readdirp>micromatch": { + "gulp-watch>chokidar>fsevents>node-pre-gyp": { "builtin": { - "path.basename": true, - "path.sep": true, - "util.inspect": true + "events.EventEmitter": true, + "fs.existsSync": true, + "fs.readFileSync": true, + "fs.renameSync": true, + "path.dirname": true, + "path.existsSync": true, + "path.join": true, + "path.resolve": true, + "url.parse": true, + "url.resolve": true, + "util.inherits": true }, "globals": { - "process.platform": true + "__dirname": true, + "console.log": true, + "process.arch": true, + "process.cwd": true, + "process.env": true, + "process.platform": true, + "process.version.substr": true, + "process.versions": true }, "packages": { - "gulp-watch>chokidar>braces": true, - "gulp-watch>chokidar>readdirp>micromatch>arr-diff": true, - "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, - "gulp-watch>chokidar>readdirp>micromatch>define-property": true, - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob": true, - "gulp-watch>chokidar>readdirp>micromatch>kind-of": true, - "webpack>micromatch>fragment-cache": true, - "webpack>micromatch>nanomatch": true, - "webpack>micromatch>object.pick": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>define-property": { - "packages": { - "gulp>gulp-cli>isobject": true, - "webpack>micromatch>define-property>is-descriptor": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>detect-libc": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>semver": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": true, - "webpack>micromatch>extend-shallow>assign-symbols": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>detect-libc": { + "builtin": { + "child_process.spawnSync": true, + "fs.readdirSync": true, + "os.platform": true + }, + "globals": { + "process.env": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt": { + "builtin": { + "path": true, + "stream.Stream": true, + "url": true + }, + "globals": { + "console": true, + "process.argv": true, + "process.env.DEBUG_NOPT": true, + "process.env.NOPT_DEBUG": true, + "process.platform": true + }, "packages": { - "@babel/register>clone-deep>is-plain-object": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>abbrev": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv": { + "builtin": { + "child_process.exec": true, + "path": true + }, + "globals": { + "process.env.COMPUTERNAME": true, + "process.env.ComSpec": true, + "process.env.EDITOR": true, + "process.env.HOSTNAME": true, + "process.env.PATH": true, + "process.env.PROMPT": true, + "process.env.PS1": true, + "process.env.Path": true, + "process.env.SHELL": true, + "process.env.USER": true, + "process.env.USERDOMAIN": true, + "process.env.USERNAME": true, + "process.env.VISUAL": true, + "process.env.path": true, + "process.nextTick": true, + "process.platform": true + }, "packages": { - "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": true, - "webpack>micromatch>fragment-cache": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": { - "packages": { - "webpack>micromatch>define-property>is-descriptor": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": { + "builtin": { + "os.homedir": true + }, + "globals": { + "process.env": true, + "process.getuid": true, + "process.platform": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": { "globals": { - "__filename": true - }, - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": true, - "webpack>micromatch>extglob>expand-brackets>posix-character-classes": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true + "process.env.SystemRoot": true, + "process.env.TEMP": true, + "process.env.TMP": true, + "process.env.TMPDIR": true, + "process.env.windir": true, + "process.platform": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog": { "builtin": { - "fs.SyncWriteStream": true, - "net.Socket": true, - "tty.WriteStream": true, - "tty.isatty": true, + "events.EventEmitter": true, "util": true }, "globals": { - "chrome": true, - "console": true, - "document": true, - "localStorage": true, - "navigator": true, - "process": true + "process.nextTick": true, + "process.stderr": true }, "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug>ms": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": { + "builtin": { + "events.EventEmitter": true, + "util.inherits": true + }, "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>kind-of": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>delegates": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": { + "builtin": { + "events.EventEmitter": true, + "stream": true, + "util": true + }, + "globals": { + "process.browser": true, + "process.env.READABLE_STREAM": true, + "process.stderr": true, + "process.stdout": true, + "process.version.slice": true, + "setImmediate": true + }, "packages": { - "gulp-watch>anymatch>micromatch>kind-of": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>isarray": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": { - "packages": { - "gulp-watch>anymatch>micromatch>kind-of": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": { + "globals": { + "Buffer.isBuffer": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow>is-extendable": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": { + "globals": { + "process": true } }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": { "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow>is-extendable": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true } }, - "gulp-watch>chokidar>upath": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": { "builtin": { - "path": true + "util.deprecate": true } }, - "gulp-watch>fancy-log": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge": { + "builtin": { + "util.format": true + }, "globals": { - "console": true, - "process.argv.indexOf": true, - "process.stderr.write": true, - "process.stdout.write": true + "clearInterval": true, + "process": true, + "setImmediate": true, + "setInterval": true }, "packages": { - "fancy-log>ansi-gray": true, - "fancy-log>color-support": true, - "fancy-log>time-stamp": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>aproba": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>object-assign": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": true } }, - "gulp-watch>glob-parent": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": { "builtin": { - "os.platform": true, - "path": true + "os.type": true }, - "packages": { - "gulp-watch>glob-parent>is-glob": true, - "gulp-watch>glob-parent>path-dirname": true - } - }, - "gulp-watch>glob-parent>is-glob": { - "packages": { - "gulp-watch>glob-parent>is-glob>is-extglob": true + "globals": { + "process.env.LANG": true, + "process.env.LC_ALL": true, + "process.env.LC_CTYPE": true } }, - "gulp-watch>glob-parent>path-dirname": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": { "builtin": { - "path": true, - "util.inspect": true + "assert.equal": true, + "events": true }, "globals": { - "process.platform": true + "process": true } }, - "gulp-watch>path-is-absolute": { - "globals": { - "process.platform": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": { + "packages": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>code-point-at": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true } }, - "gulp-watch>vinyl-file": { - "builtin": { - "path.resolve": true - }, - "globals": { - "process.cwd": true - }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": { "packages": { - "del>globby>pinkie-promise": true, - "fs-extra>graceful-fs": true, - "gulp-watch>vinyl-file>pify": true, - "gulp-watch>vinyl-file>strip-bom": true, - "gulp-watch>vinyl-file>strip-bom-stream": true, - "gulp-watch>vinyl-file>vinyl": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point>number-is-nan": true } }, - "gulp-watch>vinyl-file>strip-bom": { - "globals": { - "Buffer.isBuffer": true - }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": { "packages": { - "gulp>vinyl-fs>remove-bom-buffer>is-utf8": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi>ansi-regex": true } }, - "gulp-watch>vinyl-file>strip-bom-stream": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": { "packages": { - "gulp-watch>vinyl-file>strip-bom": true, - "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true } }, - "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": { + "globals": { + "process.stderr": true, + "process.stdout": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf": { "builtin": { - "util.inherits": true + "assert": true, + "fs": true, + "path.join": true }, "globals": { - "Buffer.concat": true, - "setImmediate": true + "process.platform": true, + "setTimeout": true }, "packages": { - "readable-stream": true + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": true } }, - "gulp-watch>vinyl-file>vinyl": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": { "builtin": { - "buffer.Buffer": true, + "assert": true, + "events.EventEmitter": true, + "fs.lstat": true, + "fs.lstatSync": true, + "fs.readdir": true, + "fs.readdirSync": true, + "fs.stat": true, + "fs.statSync": true, + "path.join": true, + "path.resolve": true, + "util": true + }, + "globals": { + "console.error": true, + "process.cwd": true, + "process.nextTick": true, + "process.platform": true + }, + "packages": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": { + "builtin": { + "fs.lstat": true, + "fs.lstatSync": true, + "fs.readlink": true, + "fs.readlinkSync": true, + "fs.realpath": true, + "fs.realpathSync": true, + "fs.stat": true, + "fs.statSync": true, + "path.normalize": true, + "path.resolve": true + }, + "globals": { + "console.error": true, + "console.trace": true, + "process.env.NODE_DEBUG": true, + "process.nextTick": true, + "process.noDeprecation": true, + "process.platform": true, + "process.throwDeprecation": true, + "process.traceDeprecation": true, + "process.version": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": { + "globals": { + "process.nextTick": true + }, + "packages": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": { + "builtin": { + "util.inherits": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": { + "builtin": { + "path": true + }, + "globals": { + "console.error": true + }, + "packages": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": { + "packages": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>balanced-match": true, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>concat-map": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": { + "packages": { + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": { + "globals": { + "process.platform": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>semver": { + "globals": { + "console": true, + "process": true + } + }, + "gulp-watch>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": { + "builtin": { + "buffer": true + } + }, + "gulp-watch>chokidar>is-binary-path": { + "builtin": { + "path.extname": true + }, + "packages": { + "gulp-watch>chokidar>is-binary-path>binary-extensions": true + } + }, + "gulp-watch>chokidar>readdirp": { + "builtin": { + "path.join": true, + "path.relative": true, + "util.inherits": true + }, + "globals": { + "setImmediate": true + }, + "packages": { + "fs-extra>graceful-fs": true, + "gulp-watch>chokidar>readdirp>micromatch": true, + "readable-stream": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch": { + "builtin": { + "path.basename": true, + "path.sep": true, + "util.inspect": true + }, + "globals": { + "process.platform": true + }, + "packages": { + "gulp-watch>chokidar>braces": true, + "gulp-watch>chokidar>readdirp>micromatch>arr-diff": true, + "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, + "gulp-watch>chokidar>readdirp>micromatch>define-property": true, + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob": true, + "gulp-watch>chokidar>readdirp>micromatch>kind-of": true, + "webpack>micromatch>fragment-cache": true, + "webpack>micromatch>nanomatch": true, + "webpack>micromatch>object.pick": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>define-property": { + "packages": { + "gulp>gulp-cli>isobject": true, + "webpack>micromatch>define-property>is-descriptor": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": true, + "webpack>micromatch>extend-shallow>assign-symbols": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": { + "packages": { + "@babel/register>clone-deep>is-plain-object": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": true, + "webpack>micromatch>fragment-cache": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": { + "packages": { + "webpack>micromatch>define-property>is-descriptor": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": { + "globals": { + "__filename": true + }, + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": true, + "webpack>micromatch>extglob>expand-brackets>posix-character-classes": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug>ms": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>kind-of": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": { + "packages": { + "gulp-watch>anymatch>micromatch>kind-of": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": { + "packages": { + "gulp-watch>anymatch>micromatch>kind-of": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow>is-extendable": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow>is-extendable": true + } + }, + "gulp-watch>chokidar>upath": { + "builtin": { + "path": true + } + }, + "gulp-watch>fancy-log": { + "globals": { + "console": true, + "process.argv.indexOf": true, + "process.stderr.write": true, + "process.stdout.write": true + }, + "packages": { + "fancy-log>ansi-gray": true, + "fancy-log>color-support": true, + "fancy-log>time-stamp": true + } + }, + "gulp-watch>glob-parent": { + "builtin": { + "os.platform": true, + "path": true + }, + "packages": { + "gulp-watch>glob-parent>is-glob": true, + "gulp-watch>glob-parent>path-dirname": true + } + }, + "gulp-watch>glob-parent>is-glob": { + "packages": { + "gulp-watch>glob-parent>is-glob>is-extglob": true + } + }, + "gulp-watch>glob-parent>path-dirname": { + "builtin": { + "path": true, + "util.inspect": true + }, + "globals": { + "process.platform": true + } + }, + "gulp-watch>path-is-absolute": { + "globals": { + "process.platform": true + } + }, + "gulp-watch>vinyl-file": { + "builtin": { + "path.resolve": true + }, + "globals": { + "process.cwd": true + }, + "packages": { + "del>globby>pinkie-promise": true, + "fs-extra>graceful-fs": true, + "gulp-watch>vinyl-file>pify": true, + "gulp-watch>vinyl-file>strip-bom": true, + "gulp-watch>vinyl-file>strip-bom-stream": true, + "gulp-watch>vinyl-file>vinyl": true + } + }, + "gulp-watch>vinyl-file>strip-bom": { + "globals": { + "Buffer.isBuffer": true + }, + "packages": { + "gulp>vinyl-fs>remove-bom-buffer>is-utf8": true + } + }, + "gulp-watch>vinyl-file>strip-bom-stream": { + "packages": { + "gulp-watch>vinyl-file>strip-bom": true, + "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": true + } + }, + "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": { + "builtin": { + "util.inherits": true + }, + "globals": { + "Buffer.concat": true, + "setImmediate": true + }, + "packages": { + "readable-stream": true + } + }, + "gulp-watch>vinyl-file>vinyl": { + "builtin": { + "buffer.Buffer": true, + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.join": true, + "path.relative": true, + "stream.PassThrough": true, + "stream.Stream": true + }, + "globals": { + "process.cwd": true + }, + "packages": { + "gulp-watch>vinyl-file>vinyl>clone": true, + "gulp-watch>vinyl-file>vinyl>clone-stats": true, + "gulp-watch>vinyl-file>vinyl>replace-ext": true + } + }, + "gulp-watch>vinyl-file>vinyl>clone": { + "globals": { + "Buffer": true + } + }, + "gulp-watch>vinyl-file>vinyl>clone-stats": { + "builtin": { + "fs.Stats": true + } + }, + "gulp-watch>vinyl-file>vinyl>replace-ext": { + "builtin": { + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.join": true + } + }, + "gulp-zip": { + "builtin": { + "buffer.constants.MAX_LENGTH": true, + "path.join": true + }, + "packages": { + "gulp-zip>get-stream": true, + "gulp-zip>plugin-error": true, + "gulp-zip>through2": true, + "gulp-zip>yazl": true, + "vinyl": true + } + }, + "gulp-zip>get-stream": { + "builtin": { + "buffer.constants.MAX_LENGTH": true, + "stream.PassThrough": true + }, + "globals": { + "Buffer.concat": true + }, + "packages": { + "pump": true + } + }, + "gulp-zip>plugin-error": { + "builtin": { + "util.inherits": true + }, + "packages": { + "gulp-watch>ansi-colors": true, + "gulp-zip>plugin-error>arr-union": true, + "gulp-zip>plugin-error>extend-shallow": true, + "webpack>micromatch>arr-diff": true + } + }, + "gulp-zip>plugin-error>extend-shallow": { + "packages": { + "gulp-zip>plugin-error>extend-shallow>is-extendable": true, + "webpack>micromatch>extend-shallow>assign-symbols": true + } + }, + "gulp-zip>plugin-error>extend-shallow>is-extendable": { + "packages": { + "@babel/register>clone-deep>is-plain-object": true + } + }, + "gulp-zip>through2": { + "builtin": { + "util.inherits": true + }, + "globals": { + "process.nextTick": true + }, + "packages": { + "gulp-zip>through2>readable-stream": true + } + }, + "gulp-zip>through2>readable-stream": { + "builtin": { + "buffer.Buffer": true, + "events.EventEmitter": true, + "stream": true, + "util": true + }, + "globals": { + "process.env.READABLE_STREAM": true, + "process.nextTick": true, + "process.stderr": true, + "process.stdout": true + }, + "packages": { + "@storybook/api>util-deprecate": true, + "browserify>string_decoder": true, + "pumpify>inherits": true + } + }, + "gulp-zip>yazl": { + "builtin": { + "events.EventEmitter": true, + "fs.createReadStream": true, + "fs.stat": true, + "stream.PassThrough": true, + "stream.Transform": true, + "util.inherits": true, + "zlib.DeflateRaw": true, + "zlib.deflateRaw": true + }, + "globals": { + "Buffer": true, + "setImmediate": true, + "utf8FileName.length": true + }, + "packages": { + "gulp-zip>yazl>buffer-crc32": true + } + }, + "gulp-zip>yazl>buffer-crc32": { + "builtin": { + "buffer.Buffer": true + } + }, + "gulp>glob-watcher": { + "packages": { + "gulp>glob-watcher>anymatch": true, + "gulp>glob-watcher>async-done": true, + "gulp>glob-watcher>chokidar": true, + "gulp>glob-watcher>is-negated-glob": true, + "gulp>glob-watcher>just-debounce": true, + "gulp>undertaker>object.defaults": true + } + }, + "gulp>glob-watcher>anymatch": { + "builtin": { + "path.sep": true + }, + "packages": { + "gulp>glob-watcher>anymatch>micromatch": true, + "gulp>glob-watcher>anymatch>normalize-path": true + } + }, + "gulp>glob-watcher>anymatch>micromatch": { + "builtin": { + "path.basename": true, + "path.sep": true, + "util.inspect": true + }, + "globals": { + "process.platform": true + }, + "packages": { + "gulp>glob-watcher>anymatch>micromatch>define-property": true, + "gulp>glob-watcher>anymatch>micromatch>extend-shallow": true, + "gulp>glob-watcher>chokidar>braces": true, + "webpack>micromatch>arr-diff": true, + "webpack>micromatch>array-unique": true, + "webpack>micromatch>extglob": true, + "webpack>micromatch>fragment-cache": true, + "webpack>micromatch>kind-of": true, + "webpack>micromatch>nanomatch": true, + "webpack>micromatch>object.pick": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true + } + }, + "gulp>glob-watcher>anymatch>micromatch>define-property": { + "packages": { + "gulp>gulp-cli>isobject": true, + "webpack>micromatch>define-property>is-descriptor": true + } + }, + "gulp>glob-watcher>anymatch>micromatch>extend-shallow": { + "packages": { + "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": true, + "webpack>micromatch>extend-shallow>assign-symbols": true + } + }, + "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": { + "packages": { + "@babel/register>clone-deep>is-plain-object": true + } + }, + "gulp>glob-watcher>anymatch>normalize-path": { + "packages": { + "vinyl>remove-trailing-separator": true + } + }, + "gulp>glob-watcher>async-done": { + "builtin": { + "domain.create": true + }, + "globals": { + "process.nextTick": true + }, + "packages": { + "end-of-stream": true, + "gulp>glob-watcher>async-done>process-nextick-args": true, + "gulp>glob-watcher>async-done>stream-exhaust": true, + "pump>once": true + } + }, + "gulp>glob-watcher>async-done>process-nextick-args": { + "globals": { + "process": true + } + }, + "gulp>glob-watcher>async-done>stream-exhaust": { + "builtin": { + "stream.Writable": true, + "util.inherits": true + }, + "globals": { + "setImmediate": true + } + }, + "gulp>glob-watcher>chokidar": { + "builtin": { + "events.EventEmitter": true, + "fs": true, "path.basename": true, "path.dirname": true, "path.extname": true, "path.join": true, "path.relative": true, - "stream.PassThrough": true, - "stream.Stream": true + "path.resolve": true, + "path.sep": true }, "globals": { - "process.cwd": true + "clearTimeout": true, + "console.error": true, + "process.env.CHOKIDAR_INTERVAL": true, + "process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR": true, + "process.env.CHOKIDAR_USEPOLLING": true, + "process.nextTick": true, + "process.platform": true, + "setTimeout": true }, "packages": { - "gulp-watch>vinyl-file>vinyl>clone": true, - "gulp-watch>vinyl-file>vinyl>clone-stats": true, - "gulp-watch>vinyl-file>vinyl>replace-ext": true + "eslint>is-glob": true, + "gulp-watch>chokidar>async-each": true, + "gulp-watch>glob-parent": true, + "gulp-watch>path-is-absolute": true, + "gulp>glob-watcher>anymatch": true, + "gulp>glob-watcher>chokidar>braces": true, + "gulp>glob-watcher>chokidar>fsevents": true, + "gulp>glob-watcher>chokidar>is-binary-path": true, + "gulp>glob-watcher>chokidar>normalize-path": true, + "gulp>glob-watcher>chokidar>readdirp": true, + "gulp>glob-watcher>chokidar>upath": true, + "pumpify>inherits": true } }, - "gulp-watch>vinyl-file>vinyl>clone": { - "globals": { - "Buffer": true + "gulp>glob-watcher>chokidar>braces": { + "packages": { + "gulp>glob-watcher>chokidar>braces>fill-range": true, + "gulp>gulp-cli>isobject": true, + "gulp>undertaker>arr-flatten": true, + "webpack>micromatch>array-unique": true, + "webpack>micromatch>braces>repeat-element": true, + "webpack>micromatch>braces>snapdragon-node": true, + "webpack>micromatch>braces>split-string": true, + "webpack>micromatch>extglob>extend-shallow": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true } }, - "gulp-watch>vinyl-file>vinyl>clone-stats": { + "gulp>glob-watcher>chokidar>braces>fill-range": { "builtin": { - "fs.Stats": true + "util.inspect": true + }, + "packages": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, + "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": true, + "webpack>micromatch>braces>fill-range>repeat-string": true, + "webpack>micromatch>extglob>extend-shallow": true } }, - "gulp-watch>vinyl-file>vinyl>replace-ext": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number": { + "packages": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": true + } + }, + "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": { + "packages": { + "browserify>insert-module-globals>is-buffer": true + } + }, + "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": { + "packages": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, + "webpack>micromatch>braces>fill-range>repeat-string": true + } + }, + "gulp>glob-watcher>chokidar>fsevents": { "builtin": { - "path.basename": true, + "events.EventEmitter": true, + "fs.stat": true, + "path.join": true, + "util.inherits": true + }, + "globals": { + "__dirname": true, + "process.nextTick": true, + "process.platform": true, + "setImmediate": true + }, + "packages": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp": { + "builtin": { + "events.EventEmitter": true, + "fs.existsSync": true, + "fs.readFileSync": true, + "fs.renameSync": true, "path.dirname": true, - "path.extname": true, - "path.join": true + "path.existsSync": true, + "path.join": true, + "path.resolve": true, + "url.parse": true, + "url.resolve": true, + "util.inherits": true + }, + "globals": { + "__dirname": true, + "console.log": true, + "process.arch": true, + "process.cwd": true, + "process.env": true, + "process.platform": true, + "process.version.substr": true, + "process.versions": true + }, + "packages": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>detect-libc": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>semver": true } }, - "gulp-zip": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>detect-libc": { "builtin": { - "buffer.constants.MAX_LENGTH": true, - "path.join": true + "child_process.spawnSync": true, + "fs.readdirSync": true, + "os.platform": true + }, + "globals": { + "process.env": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt": { + "builtin": { + "path": true, + "stream.Stream": true, + "url": true + }, + "globals": { + "console": true, + "process.argv": true, + "process.env.DEBUG_NOPT": true, + "process.env.NOPT_DEBUG": true, + "process.platform": true }, "packages": { - "gulp-zip>get-stream": true, - "gulp-zip>plugin-error": true, - "gulp-zip>through2": true, - "gulp-zip>yazl": true, - "vinyl": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>abbrev": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv": true } }, - "gulp-zip>get-stream": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv": { "builtin": { - "buffer.constants.MAX_LENGTH": true, - "stream.PassThrough": true + "child_process.exec": true, + "path": true }, "globals": { - "Buffer.concat": true + "process.env.COMPUTERNAME": true, + "process.env.ComSpec": true, + "process.env.EDITOR": true, + "process.env.HOSTNAME": true, + "process.env.PATH": true, + "process.env.PROMPT": true, + "process.env.PS1": true, + "process.env.Path": true, + "process.env.SHELL": true, + "process.env.USER": true, + "process.env.USERDOMAIN": true, + "process.env.USERNAME": true, + "process.env.VISUAL": true, + "process.env.path": true, + "process.nextTick": true, + "process.platform": true }, "packages": { - "pump": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": true } }, - "gulp-zip>plugin-error": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": { "builtin": { - "util.inherits": true + "os.homedir": true }, - "packages": { - "gulp-watch>ansi-colors": true, - "gulp-zip>plugin-error>arr-union": true, - "gulp-zip>plugin-error>extend-shallow": true, - "webpack>micromatch>arr-diff": true + "globals": { + "process.env": true, + "process.getuid": true, + "process.platform": true } }, - "gulp-zip>plugin-error>extend-shallow": { - "packages": { - "gulp-zip>plugin-error>extend-shallow>is-extendable": true, - "webpack>micromatch>extend-shallow>assign-symbols": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": { + "globals": { + "process.env.SystemRoot": true, + "process.env.TEMP": true, + "process.env.TMP": true, + "process.env.TMPDIR": true, + "process.env.windir": true, + "process.platform": true } }, - "gulp-zip>plugin-error>extend-shallow>is-extendable": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog": { + "builtin": { + "events.EventEmitter": true, + "util": true + }, + "globals": { + "process.nextTick": true, + "process.stderr": true + }, "packages": { - "@babel/register>clone-deep>is-plain-object": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": true } }, - "gulp-zip>through2": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": { "builtin": { + "events.EventEmitter": true, "util.inherits": true }, - "globals": { - "process.nextTick": true - }, "packages": { - "gulp-zip>through2>readable-stream": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>delegates": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": true } }, - "gulp-zip>through2>readable-stream": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": { "builtin": { - "buffer.Buffer": true, "events.EventEmitter": true, "stream": true, "util": true }, "globals": { + "process.browser": true, "process.env.READABLE_STREAM": true, - "process.nextTick": true, "process.stderr": true, - "process.stdout": true + "process.stdout": true, + "process.version.slice": true, + "setImmediate": true }, "packages": { - "@storybook/api>util-deprecate": true, - "browserify>string_decoder": true, - "pumpify>inherits": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>isarray": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true } }, - "gulp-zip>yazl": { - "builtin": { - "events.EventEmitter": true, - "fs.createReadStream": true, - "fs.stat": true, - "stream.PassThrough": true, - "stream.Transform": true, - "util.inherits": true, - "zlib.DeflateRaw": true, - "zlib.deflateRaw": true - }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": { "globals": { - "Buffer": true, - "setImmediate": true, - "utf8FileName.length": true - }, - "packages": { - "gulp-zip>yazl>buffer-crc32": true + "Buffer.isBuffer": true } }, - "gulp-zip>yazl>buffer-crc32": { - "builtin": { - "buffer.Buffer": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": { + "globals": { + "process": true } }, - "gulp>glob-watcher": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": { "packages": { - "gulp>glob-watcher>anymatch": true, - "gulp>glob-watcher>async-done": true, - "gulp>glob-watcher>chokidar": true, - "gulp>glob-watcher>is-negated-glob": true, - "gulp>glob-watcher>just-debounce": true, - "gulp>undertaker>object.defaults": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true } }, - "gulp>glob-watcher>anymatch": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": { "builtin": { - "path.sep": true - }, - "packages": { - "gulp>glob-watcher>anymatch>micromatch": true, - "gulp>glob-watcher>anymatch>normalize-path": true + "util.deprecate": true } }, - "gulp>glob-watcher>anymatch>micromatch": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge": { "builtin": { - "path.basename": true, - "path.sep": true, - "util.inspect": true + "util.format": true }, "globals": { - "process.platform": true + "clearInterval": true, + "process": true, + "setImmediate": true, + "setInterval": true }, "packages": { - "gulp>glob-watcher>anymatch>micromatch>define-property": true, - "gulp>glob-watcher>anymatch>micromatch>extend-shallow": true, - "gulp>glob-watcher>chokidar>braces": true, - "webpack>micromatch>arr-diff": true, - "webpack>micromatch>array-unique": true, - "webpack>micromatch>extglob": true, - "webpack>micromatch>fragment-cache": true, - "webpack>micromatch>kind-of": true, - "webpack>micromatch>nanomatch": true, - "webpack>micromatch>object.pick": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>aproba": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>object-assign": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": true } }, - "gulp>glob-watcher>anymatch>micromatch>define-property": { - "packages": { - "gulp>gulp-cli>isobject": true, - "webpack>micromatch>define-property>is-descriptor": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": { + "builtin": { + "os.type": true + }, + "globals": { + "process.env.LANG": true, + "process.env.LC_ALL": true, + "process.env.LC_CTYPE": true } }, - "gulp>glob-watcher>anymatch>micromatch>extend-shallow": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": { + "builtin": { + "assert.equal": true, + "events": true + }, + "globals": { + "process": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": { "packages": { - "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": true, - "webpack>micromatch>extend-shallow>assign-symbols": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>code-point-at": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true } }, - "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": { "packages": { - "@babel/register>clone-deep>is-plain-object": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point>number-is-nan": true } }, - "gulp>glob-watcher>anymatch>normalize-path": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": { "packages": { - "vinyl>remove-trailing-separator": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi>ansi-regex": true } }, - "gulp>glob-watcher>async-done": { - "builtin": { - "domain.create": true - }, - "globals": { - "process.nextTick": true - }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": { "packages": { - "end-of-stream": true, - "gulp>glob-watcher>async-done>process-nextick-args": true, - "gulp>glob-watcher>async-done>stream-exhaust": true, - "pump>once": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true } }, - "gulp>glob-watcher>async-done>process-nextick-args": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": { "globals": { - "process": true + "process.stderr": true, + "process.stdout": true } }, - "gulp>glob-watcher>async-done>stream-exhaust": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf": { "builtin": { - "stream.Writable": true, - "util.inherits": true + "assert": true, + "fs": true, + "path.join": true }, "globals": { - "setImmediate": true + "process.platform": true, + "setTimeout": true + }, + "packages": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob": true } }, - "gulp>glob-watcher>chokidar": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob": { "builtin": { + "assert": true, "events.EventEmitter": true, - "fs": true, - "path.basename": true, - "path.dirname": true, - "path.extname": true, + "fs.lstat": true, + "fs.lstatSync": true, + "fs.readdir": true, + "fs.readdirSync": true, + "fs.stat": true, + "fs.statSync": true, "path.join": true, - "path.relative": true, "path.resolve": true, - "path.sep": true + "util": true }, "globals": { - "clearTimeout": true, "console.error": true, - "process.env.CHOKIDAR_INTERVAL": true, - "process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR": true, - "process.env.CHOKIDAR_USEPOLLING": true, + "process.cwd": true, "process.nextTick": true, - "process.platform": true, - "setTimeout": true + "process.platform": true }, "packages": { - "eslint>is-glob": true, - "gulp-watch>chokidar>async-each": true, - "gulp-watch>glob-parent": true, - "gulp-watch>path-is-absolute": true, - "gulp>glob-watcher>anymatch": true, - "gulp>glob-watcher>chokidar>braces": true, - "gulp>glob-watcher>chokidar>is-binary-path": true, - "gulp>glob-watcher>chokidar>normalize-path": true, - "gulp>glob-watcher>chokidar>readdirp": true, - "gulp>glob-watcher>chokidar>upath": true, - "pumpify>inherits": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": true } }, - "gulp>glob-watcher>chokidar>braces": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": { + "builtin": { + "fs.lstat": true, + "fs.lstatSync": true, + "fs.readlink": true, + "fs.readlinkSync": true, + "fs.realpath": true, + "fs.realpathSync": true, + "fs.stat": true, + "fs.statSync": true, + "path.normalize": true, + "path.resolve": true + }, + "globals": { + "console.error": true, + "console.trace": true, + "process.env.NODE_DEBUG": true, + "process.nextTick": true, + "process.noDeprecation": true, + "process.platform": true, + "process.throwDeprecation": true, + "process.traceDeprecation": true, + "process.version": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": { + "globals": { + "process.nextTick": true + }, "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range": true, - "gulp>gulp-cli>isobject": true, - "gulp>undertaker>arr-flatten": true, - "webpack>micromatch>array-unique": true, - "webpack>micromatch>braces>repeat-element": true, - "webpack>micromatch>braces>snapdragon-node": true, - "webpack>micromatch>braces>split-string": true, - "webpack>micromatch>extglob>extend-shallow": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true } }, - "gulp>glob-watcher>chokidar>braces>fill-range": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": { "builtin": { - "util.inspect": true + "util.inherits": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": { + "builtin": { + "path": true + }, + "globals": { + "console.error": true }, "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, - "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": true, - "webpack>micromatch>braces>fill-range>repeat-string": true, - "webpack>micromatch>extglob>extend-shallow": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": true } }, - "gulp>glob-watcher>chokidar>braces>fill-range>is-number": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": { "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>balanced-match": true, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>concat-map": true } }, - "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": { + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": { "packages": { - "browserify>insert-module-globals>is-buffer": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true } }, - "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": { - "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, - "webpack>micromatch>braces>fill-range>repeat-string": true + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": { + "globals": { + "process.platform": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>semver": { + "globals": { + "console": true, + "process": true + } + }, + "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": { + "builtin": { + "buffer": true } }, "gulp>glob-watcher>chokidar>is-binary-path": { diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index 473c0b952c3a..fe81e3dde5dc 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -94,7 +94,7 @@ describe('Test Snap bip-32', function () { ); assert.equal( await retrievePublicKeyResult1.getText(), - '"043e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366606ece56791c361a2320e7fad8bcbb130f66d51c591fc39767ab2856e93f8dfb"', + '"0x043e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366606ece56791c361a2320e7fad8bcbb130f66d51c591fc39767ab2856e93f8dfb"', ); // scroll to and click get compressed public key @@ -113,7 +113,7 @@ describe('Test Snap bip-32', function () { ); assert.equal( await retrievePublicKeyResult2.getText(), - '"033e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366"', + '"0x033e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366"', ); // wait then run SECP256K1 test From 1eb255b309a16e894a64c58efe93bb88e8c3d5f9 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Mon, 14 Nov 2022 14:38:25 -0800 Subject: [PATCH 15/23] fix to update test to bip-32 --- test/e2e/snaps/enums.js | 2 +- test/e2e/snaps/test-snap-update.spec.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index a940e21b92f3..cb4d605e49a1 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/4.0.2/', + TEST_SNAPS_WEBSITE_URL: 'http://metamask.github.io/test-snaps/4.0.2/', }; diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index 7389e5531186..94c36aee224b 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -69,6 +69,15 @@ describe('Test Snap update', function () { tag: 'button', }); + // wait for permissions popover, click checkboxes and confirm + await driver.delay(1000); + await driver.clickElement('#key-access-bip32-m-44h-0h-secp256k1-0'); + await driver.clickElement('#key-access-bip32-m-44h-0h-ed25519-0'); + await driver.clickElement({ + text: 'Confirm', + tag: 'button', + }); + // navigate to test snap page await driver.waitUntilXWindowHandles(2, 3000, 10000); windowHandles = await driver.getAllWindowHandles(); @@ -104,7 +113,7 @@ describe('Test Snap update', function () { // look for the correct version text const versionResult = await driver.findElement('#updateSnapVersion'); await driver.delay(500); - assert.equal(await versionResult.getText(), '"2.0.0"'); + assert.equal(await versionResult.getText(), '"4.0.1"'); }, ); }); From 8f48dac8f019f1dcb7897389cffd34358adefca8 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Mon, 14 Nov 2022 15:22:34 -0800 Subject: [PATCH 16/23] revert update to use confirm until next test-snaps update --- test/e2e/snaps/test-snap-update.spec.js | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index 94c36aee224b..dcb11bad8a22 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -69,17 +69,8 @@ describe('Test Snap update', function () { tag: 'button', }); - // wait for permissions popover, click checkboxes and confirm - await driver.delay(1000); - await driver.clickElement('#key-access-bip32-m-44h-0h-secp256k1-0'); - await driver.clickElement('#key-access-bip32-m-44h-0h-ed25519-0'); - await driver.clickElement({ - text: 'Confirm', - tag: 'button', - }); - // navigate to test snap page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); @@ -87,11 +78,11 @@ describe('Test Snap update', function () { // find and scroll to the correct card and click first const snapButton2 = await driver.findElement('#connectUpdateNew'); await driver.scrollToElement(snapButton2); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectUpdateNew'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); await driver.delay(1000); // approve update of snap @@ -106,14 +97,14 @@ describe('Test Snap update', function () { }); // navigate to test snap page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); // look for the correct version text const versionResult = await driver.findElement('#updateSnapVersion'); await driver.delay(500); - assert.equal(await versionResult.getText(), '"4.0.1"'); + assert.equal(await versionResult.getText(), '"2.0.0"'); }, ); }); From 7b0bba70d9415c68f3e633645ce3b52ae4715749 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Mon, 14 Nov 2022 16:41:45 -0800 Subject: [PATCH 17/23] re-introduced delays to combat CI flaky testing --- test/e2e/snaps/test-snap-bip-32.spec.js | 30 +++++++++---------- test/e2e/snaps/test-snap-bip-44.spec.js | 18 +++++------ test/e2e/snaps/test-snap-confirm.spec.js | 12 ++++---- test/e2e/snaps/test-snap-error.spec.js | 8 ++--- test/e2e/snaps/test-snap-installed.spec.js | 12 ++++---- test/e2e/snaps/test-snap-managestate.spec.js | 16 +++++----- test/e2e/snaps/test-snap-notification.spec.js | 12 ++++---- test/e2e/snaps/test-snap-update.spec.js | 8 ++--- 8 files changed, 58 insertions(+), 58 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index fe81e3dde5dc..d6021b47276a 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -36,11 +36,11 @@ describe('Test Snap bip-32', function () { // find and scroll to the bip32 test and connect const snapButton1 = await driver.findElement('#connectBip32'); await driver.scrollToElement(snapButton1); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectBip32'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -76,19 +76,19 @@ describe('Test Snap bip-32', function () { }); // switch back to test-snaps window - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); // scroll to and click get public key - await driver.delay(500); + await driver.delay(1000); const snapButton2 = await driver.findElement('#bip32GetPublic'); await driver.scrollToElement(snapButton2); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#bip32GetPublic'); // check for proper public key response - await driver.delay(500); + await driver.delay(1000); const retrievePublicKeyResult1 = await driver.findElement( '#bip32PublicKeyResult', ); @@ -98,16 +98,16 @@ describe('Test Snap bip-32', function () { ); // scroll to and click get compressed public key - await driver.delay(500); + await driver.delay(1000); const snapButton3 = await driver.findElement( '#bip32GetCompressedPublic', ); await driver.scrollToElement(snapButton3); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#bip32GetCompressedPublic'); // check for proper public key response - await driver.delay(500); + await driver.delay(1000); const retrievePublicKeyResult2 = await driver.findElement( '#bip32PublicKeyResult', ); @@ -122,7 +122,7 @@ describe('Test Snap bip-32', function () { await driver.clickElement('#sendBip32-secp256k1'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -133,7 +133,7 @@ describe('Test Snap bip-32', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -148,10 +148,10 @@ describe('Test Snap bip-32', function () { ); // scroll further into messages section - await driver.delay(500); + await driver.delay(1000); const snapButton4 = await driver.findElement('#bip32Message-ed25519'); await driver.scrollToElement(snapButton4); - await driver.delay(500); + await driver.delay(1000); // wait then run ed25519 test await driver.delay(1000); @@ -159,7 +159,7 @@ describe('Test Snap bip-32', function () { await driver.clickElement('#sendBip32-ed25519'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -170,7 +170,7 @@ describe('Test Snap bip-32', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index c1299f7dc089..ac4eb75f1f12 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -34,11 +34,11 @@ describe('Test Snap bip-44', function () { await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); const snapButton1 = await driver.findElement('#connectBip44Snap'); await driver.scrollToElement(snapButton1); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectBip44Snap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -55,7 +55,7 @@ describe('Test Snap bip-44', function () { await driver.delay(1000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -75,7 +75,7 @@ describe('Test Snap bip-44', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); @@ -91,14 +91,14 @@ describe('Test Snap bip-44', function () { // enter a message to sign await driver.fill('#bip44Message', '1234'); - await driver.delay(500); + await driver.delay(1000); const snapButton3 = await driver.findElement('#signBip44Message'); await driver.scrollToElement(snapButton3); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#signBip44Message'); // Switch to approve signature message window and approve - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -110,10 +110,10 @@ describe('Test Snap bip-44', function () { }); // switch back to test-snaps page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); - await driver.delay(500); + await driver.delay(1000); // check the results of the message signature const bip44SignResult = await driver.findElement('#bip44SignResult'); diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index bd7945ec66cd..946b095c0ce2 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -34,11 +34,11 @@ describe('Test Snap Confirm', function () { await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); const snapButton1 = await driver.findElement('#connectConfirmSnap'); await driver.scrollToElement(snapButton1); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectConfirmSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -55,7 +55,7 @@ describe('Test Snap Confirm', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -67,7 +67,7 @@ describe('Test Snap Confirm', function () { }); // switch back to test snaps page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -78,7 +78,7 @@ describe('Test Snap Confirm', function () { await driver.clickElement('#sendConfirmButton'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -90,7 +90,7 @@ describe('Test Snap Confirm', function () { }); // check the results of the custom confirm - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); const confirmResult = await driver.findElement('#confirmResult'); diff --git a/test/e2e/snaps/test-snap-error.spec.js b/test/e2e/snaps/test-snap-error.spec.js index ff1bdba76389..2649a71ea783 100644 --- a/test/e2e/snaps/test-snap-error.spec.js +++ b/test/e2e/snaps/test-snap-error.spec.js @@ -33,11 +33,11 @@ describe('Test Snap Error', function () { await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); const snapButton = await driver.findElement('#connectErrorSnap'); await driver.scrollToElement(snapButton); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectErrorSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( @@ -65,10 +65,10 @@ describe('Test Snap Error', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); - await driver.delay(500); + await driver.delay(1000); // find and click on send error await driver.clickElement('#sendError'); diff --git a/test/e2e/snaps/test-snap-installed.spec.js b/test/e2e/snaps/test-snap-installed.spec.js index a56c22c9b811..6a75eb3a3c93 100644 --- a/test/e2e/snaps/test-snap-installed.spec.js +++ b/test/e2e/snaps/test-snap-installed.spec.js @@ -32,13 +32,13 @@ describe('Test Snap Installed', function () { // navigate to test snaps page and connect await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); - await driver.delay(500); + await driver.delay(1000); const confirmButton = await driver.findElement('#connectConfirmSnap'); await driver.scrollToElement(confirmButton); await driver.clickElement('#connectConfirmSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -55,7 +55,7 @@ describe('Test Snap Installed', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -67,7 +67,7 @@ describe('Test Snap Installed', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -77,7 +77,7 @@ describe('Test Snap Installed', function () { await driver.clickElement('#connectErrorSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -104,7 +104,7 @@ describe('Test Snap Installed', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); diff --git a/test/e2e/snaps/test-snap-managestate.spec.js b/test/e2e/snaps/test-snap-managestate.spec.js index 133c3f250fea..9ce8dbcfaed3 100644 --- a/test/e2e/snaps/test-snap-managestate.spec.js +++ b/test/e2e/snaps/test-snap-managestate.spec.js @@ -33,16 +33,16 @@ describe('Test Snap manageState', function () { // navigate to test snaps page, then fill in the snapId await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); - await driver.delay(500); + await driver.delay(1000); // find and scroll to the connect button and click it const snapButton1 = await driver.findElement('#connectManageState'); await driver.scrollToElement(snapButton1); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectManageState'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -58,7 +58,7 @@ describe('Test Snap manageState', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -78,14 +78,14 @@ describe('Test Snap manageState', function () { await driver.clickElement('#sendManageState'); // check the results of the public key test - await driver.delay(500); + await driver.delay(1000); const manageStateResult = await driver.findElement( '#sendManageStateResult', ); assert.equal(await manageStateResult.getText(), 'true'); // check the results - await driver.delay(500); + await driver.delay(1000); const retrieveManageStateResult = await driver.findElement( '#retrieveManageStateResult', ); @@ -98,14 +98,14 @@ describe('Test Snap manageState', function () { await driver.clickElement('#clearManageState'); // check if true - await driver.delay(500); + await driver.delay(1000); const clearManageStateResult = await driver.findElement( '#clearManageStateResult', ); assert.equal(await clearManageStateResult.getText(), 'true'); // check result array is empty - await driver.delay(500); + await driver.delay(1000); const retrieveManageStateResult2 = await driver.findElement( '#retrieveManageStateResult', ); diff --git a/test/e2e/snaps/test-snap-notification.spec.js b/test/e2e/snaps/test-snap-notification.spec.js index 5a1fcf32f5c3..3720ad3af2e6 100644 --- a/test/e2e/snaps/test-snap-notification.spec.js +++ b/test/e2e/snaps/test-snap-notification.spec.js @@ -32,7 +32,7 @@ describe('Test Snap Notification', function () { // navigate to test snaps page await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); - await driver.delay(500); + await driver.delay(1000); // find and scroll down to snapId5 and connect const snapButton = await driver.findElement('#connectNotification'); @@ -41,7 +41,7 @@ describe('Test Snap Notification', function () { await driver.clickElement('#connectNotification'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); const extensionPage = windowHandles[0]; await driver.switchToWindowWithTitle( @@ -58,7 +58,7 @@ describe('Test Snap Notification', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -70,7 +70,7 @@ describe('Test Snap Notification', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 3000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); @@ -88,14 +88,14 @@ describe('Test Snap Notification', function () { // try to click on the account menu icon (via xpath) await driver.clickElement('.account-menu__icon'); - await driver.delay(500); + await driver.delay(1000); // try to click on the notification item (via xpath) await driver.clickElement({ text: 'Notifications', tag: 'div', }); - await driver.delay(500); + await driver.delay(1000); // look for the correct text in notifications (via xpath) const notificationResultMessage = await driver.findElement( diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index dcb11bad8a22..588b18166ad5 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -36,13 +36,13 @@ describe('Test Snap update', function () { // find and scroll to the correct card and click first const snapButton = await driver.findElement('#connectUpdateNew'); await driver.scrollToElement(snapButton); - await driver.delay(500); + await driver.delay(1000); await driver.clickElement('#connectUpdate'); await driver.delay(2000); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -58,7 +58,7 @@ describe('Test Snap update', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 3000, 10000); + await driver.waitUntilXWindowHandles(3, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -103,7 +103,7 @@ describe('Test Snap update', function () { // look for the correct version text const versionResult = await driver.findElement('#updateSnapVersion'); - await driver.delay(500); + await driver.delay(1000); assert.equal(await versionResult.getText(), '"2.0.0"'); }, ); From 1af772f20f548b565778d2711172a9e0a42c3646 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Tue, 15 Nov 2022 10:48:44 -0800 Subject: [PATCH 18/23] changes to bip32 and bip44 to try to pass CI --- test/e2e/snaps/test-snap-bip-32.spec.js | 14 +++++++------- test/e2e/snaps/test-snap-bip-44.spec.js | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index d6021b47276a..665de9acc71f 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -30,7 +30,7 @@ describe('Test Snap bip-32', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); + await driver.driver.get(TEST_SNAPS_WEBSITE_URL); await driver.delay(1000); // find and scroll to the bip32 test and connect @@ -40,7 +40,7 @@ describe('Test Snap bip-32', function () { await driver.clickElement('#connectBip32'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -76,7 +76,7 @@ describe('Test Snap bip-32', function () { }); // switch back to test-snaps window - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -122,7 +122,7 @@ describe('Test Snap bip-32', function () { await driver.clickElement('#sendBip32-secp256k1'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -133,7 +133,7 @@ describe('Test Snap bip-32', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -159,7 +159,7 @@ describe('Test Snap bip-32', function () { await driver.clickElement('#sendBip32-ed25519'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -170,7 +170,7 @@ describe('Test Snap bip-32', function () { tag: 'button', }); - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index ac4eb75f1f12..ed509ef8cf7a 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -31,14 +31,14 @@ describe('Test Snap bip-44', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); + await driver.driver.get(TEST_SNAPS_WEBSITE_URL); const snapButton1 = await driver.findElement('#connectBip44Snap'); await driver.scrollToElement(snapButton1); await driver.delay(1000); await driver.clickElement('#connectBip44Snap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -55,7 +55,7 @@ describe('Test Snap bip-44', function () { await driver.delay(1000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -75,7 +75,7 @@ describe('Test Snap bip-44', function () { }); // click send inputs on test snap page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); @@ -98,7 +98,7 @@ describe('Test Snap bip-44', function () { await driver.clickElement('#signBip44Message'); // Switch to approve signature message window and approve - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -110,7 +110,7 @@ describe('Test Snap bip-44', function () { }); // switch back to test-snaps page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); await driver.delay(1000); From 062f39fc82804372155d39f00e45d0f59761bee1 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Tue, 15 Nov 2022 11:53:38 -0800 Subject: [PATCH 19/23] added more anti-flake --- test/e2e/snaps/enums.js | 2 +- test/e2e/snaps/test-snap-bip-32.spec.js | 4 ++++ test/e2e/snaps/test-snap-bip-44.spec.js | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index cb4d605e49a1..a940e21b92f3 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'http://metamask.github.io/test-snaps/4.0.2/', + TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/4.0.2/', }; diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index 665de9acc71f..4c42226a374c 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -56,6 +56,10 @@ describe('Test Snap bip-32', function () { await driver.delay(2000); + // switch to metamask extension + await driver.waitUntilXWindowHandles(2, 5000, 10000); + windowHandles = await driver.getAllWindowHandles(); + // approve install of snap await driver.switchToWindowWithTitle( 'MetaMask Notification', diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index ed509ef8cf7a..28c346b2c6eb 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -54,9 +54,11 @@ describe('Test Snap bip-44', function () { await driver.delay(1000); - // approve install of snap + // switch to metamask extension await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); + + // approve install of snap await driver.switchToWindowWithTitle( 'MetaMask Notification', windowHandles, From 3b2e3cb4cf47260fac6494d12986c8dacfeb5fec Mon Sep 17 00:00:00 2001 From: bowensanders Date: Tue, 15 Nov 2022 12:52:25 -0800 Subject: [PATCH 20/23] even more delays and window changes --- test/e2e/snaps/test-snap-bip-44.spec.js | 2 +- test/e2e/snaps/test-snap-confirm.spec.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index 28c346b2c6eb..4d45dfb7b9a8 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -52,7 +52,7 @@ describe('Test Snap bip-44', function () { 10000, ); - await driver.delay(1000); + await driver.delay(2000); // switch to metamask extension await driver.waitUntilXWindowHandles(2, 5000, 10000); diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index 946b095c0ce2..111fb9ff0b1f 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -31,14 +31,14 @@ describe('Test Snap Confirm', function () { await driver.press('#password', driver.Key.ENTER); // navigate to test snaps page and connect - await driver.openNewPage(TEST_SNAPS_WEBSITE_URL); + await driver.driver.get(TEST_SNAPS_WEBSITE_URL); const snapButton1 = await driver.findElement('#connectConfirmSnap'); await driver.scrollToElement(snapButton1); await driver.delay(1000); await driver.clickElement('#connectConfirmSnap'); // switch to metamask extension and click connect - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); let windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -55,7 +55,7 @@ describe('Test Snap Confirm', function () { await driver.delay(2000); // approve install of snap - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -67,7 +67,7 @@ describe('Test Snap Confirm', function () { }); // switch back to test snaps page - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); @@ -78,7 +78,7 @@ describe('Test Snap Confirm', function () { await driver.clickElement('#sendConfirmButton'); // hit 'approve' on the custom confirm - await driver.waitUntilXWindowHandles(3, 5000, 10000); + await driver.waitUntilXWindowHandles(2, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle( 'MetaMask Notification', @@ -90,7 +90,7 @@ describe('Test Snap Confirm', function () { }); // check the results of the custom confirm - await driver.waitUntilXWindowHandles(2, 5000, 10000); + await driver.waitUntilXWindowHandles(1, 5000, 10000); windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('Test Snaps', windowHandles); const confirmResult = await driver.findElement('#confirmResult'); From 81d179acda2376fd235a261f143fe19f6474bad4 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 16 Nov 2022 10:24:43 -0800 Subject: [PATCH 21/23] removed commented code --- test/e2e/snaps/test-snap-bip-32.spec.js | 4 +--- test/e2e/snaps/test-snap-bip-44.spec.js | 4 +--- test/e2e/snaps/test-snap-confirm.spec.js | 4 +--- test/e2e/snaps/test-snap-error.spec.js | 4 +--- test/e2e/snaps/test-snap-installed.spec.js | 4 +--- test/e2e/snaps/test-snap-managestate.spec.js | 4 +--- test/e2e/snaps/test-snap-notification.spec.js | 4 +--- test/e2e/snaps/test-snap-update.spec.js | 4 +--- 8 files changed, 8 insertions(+), 24 deletions(-) diff --git a/test/e2e/snaps/test-snap-bip-32.spec.js b/test/e2e/snaps/test-snap-bip-32.spec.js index 4c42226a374c..f82a5f96c237 100644 --- a/test/e2e/snaps/test-snap-bip-32.spec.js +++ b/test/e2e/snaps/test-snap-bip-32.spec.js @@ -15,9 +15,7 @@ describe('Test Snap bip-32', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-bip-44.spec.js b/test/e2e/snaps/test-snap-bip-44.spec.js index 4d45dfb7b9a8..32a48130ac3f 100644 --- a/test/e2e/snaps/test-snap-bip-44.spec.js +++ b/test/e2e/snaps/test-snap-bip-44.spec.js @@ -16,9 +16,7 @@ describe('Test Snap bip-44', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-confirm.spec.js b/test/e2e/snaps/test-snap-confirm.spec.js index 111fb9ff0b1f..00112ebdc794 100644 --- a/test/e2e/snaps/test-snap-confirm.spec.js +++ b/test/e2e/snaps/test-snap-confirm.spec.js @@ -16,9 +16,7 @@ describe('Test Snap Confirm', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-error.spec.js b/test/e2e/snaps/test-snap-error.spec.js index 2649a71ea783..393750f4620a 100644 --- a/test/e2e/snaps/test-snap-error.spec.js +++ b/test/e2e/snaps/test-snap-error.spec.js @@ -15,9 +15,7 @@ describe('Test Snap Error', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-installed.spec.js b/test/e2e/snaps/test-snap-installed.spec.js index 6a75eb3a3c93..ccf0692c787c 100644 --- a/test/e2e/snaps/test-snap-installed.spec.js +++ b/test/e2e/snaps/test-snap-installed.spec.js @@ -16,9 +16,7 @@ describe('Test Snap Installed', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-managestate.spec.js b/test/e2e/snaps/test-snap-managestate.spec.js index 9ce8dbcfaed3..86cb4e47a9a0 100644 --- a/test/e2e/snaps/test-snap-managestate.spec.js +++ b/test/e2e/snaps/test-snap-managestate.spec.js @@ -17,9 +17,7 @@ describe('Test Snap manageState', function () { await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-notification.spec.js b/test/e2e/snaps/test-snap-notification.spec.js index 3720ad3af2e6..a52f77005c7b 100644 --- a/test/e2e/snaps/test-snap-notification.spec.js +++ b/test/e2e/snaps/test-snap-notification.spec.js @@ -16,9 +16,7 @@ describe('Test Snap Notification', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, diff --git a/test/e2e/snaps/test-snap-update.spec.js b/test/e2e/snaps/test-snap-update.spec.js index 588b18166ad5..ebbf74d4ff03 100644 --- a/test/e2e/snaps/test-snap-update.spec.js +++ b/test/e2e/snaps/test-snap-update.spec.js @@ -16,9 +16,7 @@ describe('Test Snap update', function () { }; await withFixtures( { - fixtures: new FixtureBuilder() - // .withPermissionControllerConnectedToSnapDapp() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions, failOnConsoleError: false, title: this.test.title, From a5c9f4cbb28b69be47436aae9873d4d403065c40 Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 16 Nov 2022 11:13:50 -0800 Subject: [PATCH 22/23] reverted policy changes --- lavamoat/build-system/policy.json | 1443 +++++++---------------------- 1 file changed, 334 insertions(+), 1109 deletions(-) diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index c080ec25a38c..de3161d63beb 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -1813,7 +1813,6 @@ }, "packages": { "chokidar>braces": true, - "chokidar>fsevents": true, "chokidar>glob-parent": true, "chokidar>is-binary-path": true, "chokidar>normalize-path": true, @@ -1840,12 +1839,6 @@ "chokidar>braces>fill-range>to-regex-range>is-number": true } }, - "chokidar>fsevents": { - "globals": { - "process.platform": true - }, - "native": true - }, "chokidar>glob-parent": { "builtin": { "os.platform": true, @@ -4191,7 +4184,6 @@ "gulp-watch>chokidar>anymatch": true, "gulp-watch>chokidar>async-each": true, "gulp-watch>chokidar>braces": true, - "gulp-watch>chokidar>fsevents": true, "gulp-watch>chokidar>is-binary-path": true, "gulp-watch>chokidar>normalize-path": true, "gulp-watch>chokidar>readdirp": true, @@ -4340,1319 +4332,552 @@ "webpack>micromatch>braces>fill-range>repeat-string": true } }, - "gulp-watch>chokidar>fsevents": { + "gulp-watch>chokidar>is-binary-path": { "builtin": { - "events.EventEmitter": true, - "fs.stat": true, - "path.join": true, - "util.inherits": true - }, - "globals": { - "__dirname": true, - "process.nextTick": true, - "process.platform": true, - "setImmediate": true + "path.extname": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp": true + "gulp-watch>chokidar>is-binary-path>binary-extensions": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp": { + "gulp-watch>chokidar>readdirp": { "builtin": { - "events.EventEmitter": true, - "fs.existsSync": true, - "fs.readFileSync": true, - "fs.renameSync": true, - "path.dirname": true, - "path.existsSync": true, "path.join": true, - "path.resolve": true, - "url.parse": true, - "url.resolve": true, + "path.relative": true, "util.inherits": true }, "globals": { - "__dirname": true, - "console.log": true, - "process.arch": true, - "process.cwd": true, - "process.env": true, - "process.platform": true, - "process.version.substr": true, - "process.versions": true + "setImmediate": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>detect-libc": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>semver": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>detect-libc": { - "builtin": { - "child_process.spawnSync": true, - "fs.readdirSync": true, - "os.platform": true - }, - "globals": { - "process.env": true + "fs-extra>graceful-fs": true, + "gulp-watch>chokidar>readdirp>micromatch": true, + "readable-stream": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt": { + "gulp-watch>chokidar>readdirp>micromatch": { "builtin": { - "path": true, - "stream.Stream": true, - "url": true + "path.basename": true, + "path.sep": true, + "util.inspect": true }, "globals": { - "console": true, - "process.argv": true, - "process.env.DEBUG_NOPT": true, - "process.env.NOPT_DEBUG": true, "process.platform": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>abbrev": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv": true + "gulp-watch>chokidar>braces": true, + "gulp-watch>chokidar>readdirp>micromatch>arr-diff": true, + "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, + "gulp-watch>chokidar>readdirp>micromatch>define-property": true, + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob": true, + "gulp-watch>chokidar>readdirp>micromatch>kind-of": true, + "webpack>micromatch>fragment-cache": true, + "webpack>micromatch>nanomatch": true, + "webpack>micromatch>object.pick": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>define-property": { + "packages": { + "gulp>gulp-cli>isobject": true, + "webpack>micromatch>define-property>is-descriptor": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv": { - "builtin": { - "child_process.exec": true, - "path": true - }, - "globals": { - "process.env.COMPUTERNAME": true, - "process.env.ComSpec": true, - "process.env.EDITOR": true, - "process.env.HOSTNAME": true, - "process.env.PATH": true, - "process.env.PROMPT": true, - "process.env.PS1": true, - "process.env.Path": true, - "process.env.SHELL": true, - "process.env.USER": true, - "process.env.USERDOMAIN": true, - "process.env.USERNAME": true, - "process.env.VISUAL": true, - "process.env.path": true, - "process.nextTick": true, - "process.platform": true - }, + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": { "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": true + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": true, + "webpack>micromatch>extend-shallow>assign-symbols": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": { - "builtin": { - "os.homedir": true - }, - "globals": { - "process.env": true, - "process.getuid": true, - "process.platform": true + "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": { + "packages": { + "@babel/register>clone-deep>is-plain-object": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": { - "globals": { - "process.env.SystemRoot": true, - "process.env.TEMP": true, - "process.env.TMP": true, - "process.env.TMPDIR": true, - "process.env.windir": true, - "process.platform": true + "gulp-watch>chokidar>readdirp>micromatch>extglob": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": true, + "webpack>micromatch>fragment-cache": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog": { - "builtin": { - "events.EventEmitter": true, - "util": true - }, - "globals": { - "process.nextTick": true, - "process.stderr": true - }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": { "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": true + "webpack>micromatch>define-property>is-descriptor": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": { - "builtin": { - "events.EventEmitter": true, - "util.inherits": true + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": { + "globals": { + "__filename": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>delegates": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": true + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": true, + "webpack>micromatch>extglob>expand-brackets>posix-character-classes": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": { "builtin": { - "events.EventEmitter": true, - "stream": true, + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, "util": true }, "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>isarray": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug>ms": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": { - "globals": { - "Buffer.isBuffer": true + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": { - "globals": { - "process": true + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": true, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>kind-of": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": { "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true + "gulp-watch>anymatch>micromatch>kind-of": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": { - "builtin": { - "util.deprecate": true + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": { + "packages": { + "gulp-watch>anymatch>micromatch>kind-of": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow>is-extendable": true + } + }, + "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": { + "packages": { + "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow>is-extendable": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge": { + "gulp-watch>chokidar>upath": { "builtin": { - "util.format": true - }, + "path": true + } + }, + "gulp-watch>fancy-log": { "globals": { - "clearInterval": true, - "process": true, - "setImmediate": true, - "setInterval": true + "console": true, + "process.argv.indexOf": true, + "process.stderr.write": true, + "process.stdout.write": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>aproba": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>object-assign": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": true + "fancy-log>ansi-gray": true, + "fancy-log>color-support": true, + "fancy-log>time-stamp": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": { + "gulp-watch>glob-parent": { "builtin": { - "os.type": true + "os.platform": true, + "path": true }, - "globals": { - "process.env.LANG": true, - "process.env.LC_ALL": true, - "process.env.LC_CTYPE": true + "packages": { + "gulp-watch>glob-parent>is-glob": true, + "gulp-watch>glob-parent>path-dirname": true + } + }, + "gulp-watch>glob-parent>is-glob": { + "packages": { + "gulp-watch>glob-parent>is-glob>is-extglob": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": { + "gulp-watch>glob-parent>path-dirname": { "builtin": { - "assert.equal": true, - "events": true + "path": true, + "util.inspect": true }, "globals": { - "process": true + "process.platform": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": { - "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>code-point-at": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true + "gulp-watch>path-is-absolute": { + "globals": { + "process.platform": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": { + "gulp-watch>vinyl-file": { + "builtin": { + "path.resolve": true + }, + "globals": { + "process.cwd": true + }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point>number-is-nan": true + "del>globby>pinkie-promise": true, + "fs-extra>graceful-fs": true, + "gulp-watch>vinyl-file>pify": true, + "gulp-watch>vinyl-file>strip-bom": true, + "gulp-watch>vinyl-file>strip-bom-stream": true, + "gulp-watch>vinyl-file>vinyl": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": { + "gulp-watch>vinyl-file>strip-bom": { + "globals": { + "Buffer.isBuffer": true + }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi>ansi-regex": true + "gulp>vinyl-fs>remove-bom-buffer>is-utf8": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": { + "gulp-watch>vinyl-file>strip-bom-stream": { "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": { - "globals": { - "process.stderr": true, - "process.stdout": true + "gulp-watch>vinyl-file>strip-bom": true, + "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf": { + "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": { "builtin": { - "assert": true, - "fs": true, - "path.join": true + "util.inherits": true }, "globals": { - "process.platform": true, - "setTimeout": true + "Buffer.concat": true, + "setImmediate": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": true + "readable-stream": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": { + "gulp-watch>vinyl-file>vinyl": { "builtin": { - "assert": true, - "events.EventEmitter": true, - "fs.lstat": true, - "fs.lstatSync": true, - "fs.readdir": true, - "fs.readdirSync": true, - "fs.stat": true, - "fs.statSync": true, - "path.join": true, - "path.resolve": true, - "util": true - }, - "globals": { - "console.error": true, - "process.cwd": true, - "process.nextTick": true, - "process.platform": true - }, - "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": { - "builtin": { - "fs.lstat": true, - "fs.lstatSync": true, - "fs.readlink": true, - "fs.readlinkSync": true, - "fs.realpath": true, - "fs.realpathSync": true, - "fs.stat": true, - "fs.statSync": true, - "path.normalize": true, - "path.resolve": true - }, - "globals": { - "console.error": true, - "console.trace": true, - "process.env.NODE_DEBUG": true, - "process.nextTick": true, - "process.noDeprecation": true, - "process.platform": true, - "process.throwDeprecation": true, - "process.traceDeprecation": true, - "process.version": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": { - "globals": { - "process.nextTick": true - }, - "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": { - "builtin": { - "util.inherits": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": { - "builtin": { - "path": true - }, - "globals": { - "console.error": true - }, - "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": { - "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>balanced-match": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>concat-map": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": { - "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": { - "globals": { - "process.platform": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>semver": { - "globals": { - "console": true, - "process": true - } - }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "gulp-watch>chokidar>is-binary-path": { - "builtin": { - "path.extname": true - }, - "packages": { - "gulp-watch>chokidar>is-binary-path>binary-extensions": true - } - }, - "gulp-watch>chokidar>readdirp": { - "builtin": { - "path.join": true, - "path.relative": true, - "util.inherits": true - }, - "globals": { - "setImmediate": true - }, - "packages": { - "fs-extra>graceful-fs": true, - "gulp-watch>chokidar>readdirp>micromatch": true, - "readable-stream": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch": { - "builtin": { - "path.basename": true, - "path.sep": true, - "util.inspect": true - }, - "globals": { - "process.platform": true - }, - "packages": { - "gulp-watch>chokidar>braces": true, - "gulp-watch>chokidar>readdirp>micromatch>arr-diff": true, - "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, - "gulp-watch>chokidar>readdirp>micromatch>define-property": true, - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob": true, - "gulp-watch>chokidar>readdirp>micromatch>kind-of": true, - "webpack>micromatch>fragment-cache": true, - "webpack>micromatch>nanomatch": true, - "webpack>micromatch>object.pick": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>define-property": { - "packages": { - "gulp>gulp-cli>isobject": true, - "webpack>micromatch>define-property>is-descriptor": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": true, - "webpack>micromatch>extend-shallow>assign-symbols": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extend-shallow>is-extendable": { - "packages": { - "@babel/register>clone-deep>is-plain-object": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>array-unique": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": true, - "webpack>micromatch>fragment-cache": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>define-property": { - "packages": { - "webpack>micromatch>define-property>is-descriptor": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets": { - "globals": { - "__filename": true - }, - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": true, - "webpack>micromatch>extglob>expand-brackets>posix-character-classes": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug": { - "builtin": { - "fs.SyncWriteStream": true, - "net.Socket": true, - "tty.WriteStream": true, - "tty.isatty": true, - "util": true - }, - "globals": { - "chrome": true, - "console": true, - "document": true, - "localStorage": true, - "navigator": true, - "process": true - }, - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>debug>ms": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": true, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>kind-of": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-accessor-descriptor": { - "packages": { - "gulp-watch>anymatch>micromatch>kind-of": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>define-property>is-descriptor>is-data-descriptor": { - "packages": { - "gulp-watch>anymatch>micromatch>kind-of": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>expand-brackets>extend-shallow>is-extendable": true - } - }, - "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow": { - "packages": { - "gulp-watch>chokidar>readdirp>micromatch>extglob>extend-shallow>is-extendable": true - } - }, - "gulp-watch>chokidar>upath": { - "builtin": { - "path": true - } - }, - "gulp-watch>fancy-log": { - "globals": { - "console": true, - "process.argv.indexOf": true, - "process.stderr.write": true, - "process.stdout.write": true - }, - "packages": { - "fancy-log>ansi-gray": true, - "fancy-log>color-support": true, - "fancy-log>time-stamp": true - } - }, - "gulp-watch>glob-parent": { - "builtin": { - "os.platform": true, - "path": true - }, - "packages": { - "gulp-watch>glob-parent>is-glob": true, - "gulp-watch>glob-parent>path-dirname": true - } - }, - "gulp-watch>glob-parent>is-glob": { - "packages": { - "gulp-watch>glob-parent>is-glob>is-extglob": true - } - }, - "gulp-watch>glob-parent>path-dirname": { - "builtin": { - "path": true, - "util.inspect": true - }, - "globals": { - "process.platform": true - } - }, - "gulp-watch>path-is-absolute": { - "globals": { - "process.platform": true - } - }, - "gulp-watch>vinyl-file": { - "builtin": { - "path.resolve": true - }, - "globals": { - "process.cwd": true - }, - "packages": { - "del>globby>pinkie-promise": true, - "fs-extra>graceful-fs": true, - "gulp-watch>vinyl-file>pify": true, - "gulp-watch>vinyl-file>strip-bom": true, - "gulp-watch>vinyl-file>strip-bom-stream": true, - "gulp-watch>vinyl-file>vinyl": true - } - }, - "gulp-watch>vinyl-file>strip-bom": { - "globals": { - "Buffer.isBuffer": true - }, - "packages": { - "gulp>vinyl-fs>remove-bom-buffer>is-utf8": true - } - }, - "gulp-watch>vinyl-file>strip-bom-stream": { - "packages": { - "gulp-watch>vinyl-file>strip-bom": true, - "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": true - } - }, - "gulp-watch>vinyl-file>strip-bom-stream>first-chunk-stream": { - "builtin": { - "util.inherits": true - }, - "globals": { - "Buffer.concat": true, - "setImmediate": true - }, - "packages": { - "readable-stream": true - } - }, - "gulp-watch>vinyl-file>vinyl": { - "builtin": { - "buffer.Buffer": true, - "path.basename": true, - "path.dirname": true, - "path.extname": true, - "path.join": true, - "path.relative": true, - "stream.PassThrough": true, - "stream.Stream": true - }, - "globals": { - "process.cwd": true - }, - "packages": { - "gulp-watch>vinyl-file>vinyl>clone": true, - "gulp-watch>vinyl-file>vinyl>clone-stats": true, - "gulp-watch>vinyl-file>vinyl>replace-ext": true - } - }, - "gulp-watch>vinyl-file>vinyl>clone": { - "globals": { - "Buffer": true - } - }, - "gulp-watch>vinyl-file>vinyl>clone-stats": { - "builtin": { - "fs.Stats": true - } - }, - "gulp-watch>vinyl-file>vinyl>replace-ext": { - "builtin": { - "path.basename": true, - "path.dirname": true, - "path.extname": true, - "path.join": true - } - }, - "gulp-zip": { - "builtin": { - "buffer.constants.MAX_LENGTH": true, - "path.join": true - }, - "packages": { - "gulp-zip>get-stream": true, - "gulp-zip>plugin-error": true, - "gulp-zip>through2": true, - "gulp-zip>yazl": true, - "vinyl": true - } - }, - "gulp-zip>get-stream": { - "builtin": { - "buffer.constants.MAX_LENGTH": true, - "stream.PassThrough": true - }, - "globals": { - "Buffer.concat": true - }, - "packages": { - "pump": true - } - }, - "gulp-zip>plugin-error": { - "builtin": { - "util.inherits": true - }, - "packages": { - "gulp-watch>ansi-colors": true, - "gulp-zip>plugin-error>arr-union": true, - "gulp-zip>plugin-error>extend-shallow": true, - "webpack>micromatch>arr-diff": true - } - }, - "gulp-zip>plugin-error>extend-shallow": { - "packages": { - "gulp-zip>plugin-error>extend-shallow>is-extendable": true, - "webpack>micromatch>extend-shallow>assign-symbols": true - } - }, - "gulp-zip>plugin-error>extend-shallow>is-extendable": { - "packages": { - "@babel/register>clone-deep>is-plain-object": true - } - }, - "gulp-zip>through2": { - "builtin": { - "util.inherits": true - }, - "globals": { - "process.nextTick": true - }, - "packages": { - "gulp-zip>through2>readable-stream": true - } - }, - "gulp-zip>through2>readable-stream": { - "builtin": { - "buffer.Buffer": true, - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.env.READABLE_STREAM": true, - "process.nextTick": true, - "process.stderr": true, - "process.stdout": true - }, - "packages": { - "@storybook/api>util-deprecate": true, - "browserify>string_decoder": true, - "pumpify>inherits": true - } - }, - "gulp-zip>yazl": { - "builtin": { - "events.EventEmitter": true, - "fs.createReadStream": true, - "fs.stat": true, - "stream.PassThrough": true, - "stream.Transform": true, - "util.inherits": true, - "zlib.DeflateRaw": true, - "zlib.deflateRaw": true - }, - "globals": { - "Buffer": true, - "setImmediate": true, - "utf8FileName.length": true - }, - "packages": { - "gulp-zip>yazl>buffer-crc32": true - } - }, - "gulp-zip>yazl>buffer-crc32": { - "builtin": { - "buffer.Buffer": true - } - }, - "gulp>glob-watcher": { - "packages": { - "gulp>glob-watcher>anymatch": true, - "gulp>glob-watcher>async-done": true, - "gulp>glob-watcher>chokidar": true, - "gulp>glob-watcher>is-negated-glob": true, - "gulp>glob-watcher>just-debounce": true, - "gulp>undertaker>object.defaults": true - } - }, - "gulp>glob-watcher>anymatch": { - "builtin": { - "path.sep": true - }, - "packages": { - "gulp>glob-watcher>anymatch>micromatch": true, - "gulp>glob-watcher>anymatch>normalize-path": true - } - }, - "gulp>glob-watcher>anymatch>micromatch": { - "builtin": { - "path.basename": true, - "path.sep": true, - "util.inspect": true - }, - "globals": { - "process.platform": true - }, - "packages": { - "gulp>glob-watcher>anymatch>micromatch>define-property": true, - "gulp>glob-watcher>anymatch>micromatch>extend-shallow": true, - "gulp>glob-watcher>chokidar>braces": true, - "webpack>micromatch>arr-diff": true, - "webpack>micromatch>array-unique": true, - "webpack>micromatch>extglob": true, - "webpack>micromatch>fragment-cache": true, - "webpack>micromatch>kind-of": true, - "webpack>micromatch>nanomatch": true, - "webpack>micromatch>object.pick": true, - "webpack>micromatch>regex-not": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true - } - }, - "gulp>glob-watcher>anymatch>micromatch>define-property": { - "packages": { - "gulp>gulp-cli>isobject": true, - "webpack>micromatch>define-property>is-descriptor": true - } - }, - "gulp>glob-watcher>anymatch>micromatch>extend-shallow": { - "packages": { - "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": true, - "webpack>micromatch>extend-shallow>assign-symbols": true - } - }, - "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": { - "packages": { - "@babel/register>clone-deep>is-plain-object": true - } - }, - "gulp>glob-watcher>anymatch>normalize-path": { - "packages": { - "vinyl>remove-trailing-separator": true - } - }, - "gulp>glob-watcher>async-done": { - "builtin": { - "domain.create": true - }, - "globals": { - "process.nextTick": true - }, - "packages": { - "end-of-stream": true, - "gulp>glob-watcher>async-done>process-nextick-args": true, - "gulp>glob-watcher>async-done>stream-exhaust": true, - "pump>once": true - } - }, - "gulp>glob-watcher>async-done>process-nextick-args": { - "globals": { - "process": true - } - }, - "gulp>glob-watcher>async-done>stream-exhaust": { - "builtin": { - "stream.Writable": true, - "util.inherits": true - }, - "globals": { - "setImmediate": true - } - }, - "gulp>glob-watcher>chokidar": { - "builtin": { - "events.EventEmitter": true, - "fs": true, + "buffer.Buffer": true, "path.basename": true, "path.dirname": true, "path.extname": true, "path.join": true, "path.relative": true, - "path.resolve": true, - "path.sep": true + "stream.PassThrough": true, + "stream.Stream": true }, "globals": { - "clearTimeout": true, - "console.error": true, - "process.env.CHOKIDAR_INTERVAL": true, - "process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR": true, - "process.env.CHOKIDAR_USEPOLLING": true, - "process.nextTick": true, - "process.platform": true, - "setTimeout": true - }, - "packages": { - "eslint>is-glob": true, - "gulp-watch>chokidar>async-each": true, - "gulp-watch>glob-parent": true, - "gulp-watch>path-is-absolute": true, - "gulp>glob-watcher>anymatch": true, - "gulp>glob-watcher>chokidar>braces": true, - "gulp>glob-watcher>chokidar>fsevents": true, - "gulp>glob-watcher>chokidar>is-binary-path": true, - "gulp>glob-watcher>chokidar>normalize-path": true, - "gulp>glob-watcher>chokidar>readdirp": true, - "gulp>glob-watcher>chokidar>upath": true, - "pumpify>inherits": true - } - }, - "gulp>glob-watcher>chokidar>braces": { - "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range": true, - "gulp>gulp-cli>isobject": true, - "gulp>undertaker>arr-flatten": true, - "webpack>micromatch>array-unique": true, - "webpack>micromatch>braces>repeat-element": true, - "webpack>micromatch>braces>snapdragon-node": true, - "webpack>micromatch>braces>split-string": true, - "webpack>micromatch>extglob>extend-shallow": true, - "webpack>micromatch>snapdragon": true, - "webpack>micromatch>to-regex": true - } - }, - "gulp>glob-watcher>chokidar>braces>fill-range": { - "builtin": { - "util.inspect": true + "process.cwd": true }, "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, - "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": true, - "webpack>micromatch>braces>fill-range>repeat-string": true, - "webpack>micromatch>extglob>extend-shallow": true - } - }, - "gulp>glob-watcher>chokidar>braces>fill-range>is-number": { - "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": true - } - }, - "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": { - "packages": { - "browserify>insert-module-globals>is-buffer": true - } - }, - "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": { - "packages": { - "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, - "webpack>micromatch>braces>fill-range>repeat-string": true + "gulp-watch>vinyl-file>vinyl>clone": true, + "gulp-watch>vinyl-file>vinyl>clone-stats": true, + "gulp-watch>vinyl-file>vinyl>replace-ext": true } }, - "gulp>glob-watcher>chokidar>fsevents": { - "builtin": { - "events.EventEmitter": true, - "fs.stat": true, - "path.join": true, - "util.inherits": true - }, + "gulp-watch>vinyl-file>vinyl>clone": { "globals": { - "__dirname": true, - "process.nextTick": true, - "process.platform": true, - "setImmediate": true - }, - "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp": true + "Buffer": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp": { + "gulp-watch>vinyl-file>vinyl>clone-stats": { "builtin": { - "events.EventEmitter": true, - "fs.existsSync": true, - "fs.readFileSync": true, - "fs.renameSync": true, - "path.dirname": true, - "path.existsSync": true, - "path.join": true, - "path.resolve": true, - "url.parse": true, - "url.resolve": true, - "util.inherits": true - }, - "globals": { - "__dirname": true, - "console.log": true, - "process.arch": true, - "process.cwd": true, - "process.env": true, - "process.platform": true, - "process.version.substr": true, - "process.versions": true - }, - "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>detect-libc": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>semver": true + "fs.Stats": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>detect-libc": { + "gulp-watch>vinyl-file>vinyl>replace-ext": { "builtin": { - "child_process.spawnSync": true, - "fs.readdirSync": true, - "os.platform": true - }, - "globals": { - "process.env": true + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.join": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt": { + "gulp-zip": { "builtin": { - "path": true, - "stream.Stream": true, - "url": true - }, - "globals": { - "console": true, - "process.argv": true, - "process.env.DEBUG_NOPT": true, - "process.env.NOPT_DEBUG": true, - "process.platform": true + "buffer.constants.MAX_LENGTH": true, + "path.join": true }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>abbrev": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv": true + "gulp-zip>get-stream": true, + "gulp-zip>plugin-error": true, + "gulp-zip>through2": true, + "gulp-zip>yazl": true, + "vinyl": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv": { + "gulp-zip>get-stream": { "builtin": { - "child_process.exec": true, - "path": true + "buffer.constants.MAX_LENGTH": true, + "stream.PassThrough": true }, "globals": { - "process.env.COMPUTERNAME": true, - "process.env.ComSpec": true, - "process.env.EDITOR": true, - "process.env.HOSTNAME": true, - "process.env.PATH": true, - "process.env.PROMPT": true, - "process.env.PS1": true, - "process.env.Path": true, - "process.env.SHELL": true, - "process.env.USER": true, - "process.env.USERDOMAIN": true, - "process.env.USERNAME": true, - "process.env.VISUAL": true, - "process.env.path": true, - "process.nextTick": true, - "process.platform": true + "Buffer.concat": true }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": true + "pump": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": { + "gulp-zip>plugin-error": { "builtin": { - "os.homedir": true + "util.inherits": true }, - "globals": { - "process.env": true, - "process.getuid": true, - "process.platform": true + "packages": { + "gulp-watch>ansi-colors": true, + "gulp-zip>plugin-error>arr-union": true, + "gulp-zip>plugin-error>extend-shallow": true, + "webpack>micromatch>arr-diff": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": { - "globals": { - "process.env.SystemRoot": true, - "process.env.TEMP": true, - "process.env.TMP": true, - "process.env.TMPDIR": true, - "process.env.windir": true, - "process.platform": true + "gulp-zip>plugin-error>extend-shallow": { + "packages": { + "gulp-zip>plugin-error>extend-shallow>is-extendable": true, + "webpack>micromatch>extend-shallow>assign-symbols": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog": { - "builtin": { - "events.EventEmitter": true, - "util": true - }, - "globals": { - "process.nextTick": true, - "process.stderr": true - }, + "gulp-zip>plugin-error>extend-shallow>is-extendable": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": true + "@babel/register>clone-deep>is-plain-object": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet": { + "gulp-zip>through2": { "builtin": { - "events.EventEmitter": true, "util.inherits": true }, + "globals": { + "process.nextTick": true + }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>delegates": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": true + "gulp-zip>through2>readable-stream": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream": { + "gulp-zip>through2>readable-stream": { "builtin": { + "buffer.Buffer": true, "events.EventEmitter": true, "stream": true, "util": true }, "globals": { - "process.browser": true, "process.env.READABLE_STREAM": true, + "process.nextTick": true, "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true + "process.stdout": true }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>isarray": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true - } - }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>core-util-is": { - "globals": { - "Buffer.isBuffer": true + "@storybook/api>util-deprecate": true, + "browserify>string_decoder": true, + "pumpify>inherits": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>process-nextick-args": { + "gulp-zip>yazl": { + "builtin": { + "events.EventEmitter": true, + "fs.createReadStream": true, + "fs.stat": true, + "stream.PassThrough": true, + "stream.Transform": true, + "util.inherits": true, + "zlib.DeflateRaw": true, + "zlib.deflateRaw": true + }, "globals": { - "process": true - } - }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>string_decoder": { + "Buffer": true, + "setImmediate": true, + "utf8FileName.length": true + }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": true + "gulp-zip>yazl>buffer-crc32": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>are-we-there-yet>readable-stream>util-deprecate": { + "gulp-zip>yazl>buffer-crc32": { "builtin": { - "util.deprecate": true + "buffer.Buffer": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge": { - "builtin": { - "util.format": true - }, - "globals": { - "clearInterval": true, - "process": true, - "setImmediate": true, - "setInterval": true - }, + "gulp>glob-watcher": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>console-control-strings": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>aproba": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>object-assign": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": true + "gulp>glob-watcher>anymatch": true, + "gulp>glob-watcher>async-done": true, + "gulp>glob-watcher>chokidar": true, + "gulp>glob-watcher>is-negated-glob": true, + "gulp>glob-watcher>just-debounce": true, + "gulp>undertaker>object.defaults": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>has-unicode": { + "gulp>glob-watcher>anymatch": { "builtin": { - "os.type": true + "path.sep": true }, - "globals": { - "process.env.LANG": true, - "process.env.LC_ALL": true, - "process.env.LC_CTYPE": true + "packages": { + "gulp>glob-watcher>anymatch>micromatch": true, + "gulp>glob-watcher>anymatch>normalize-path": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>signal-exit": { + "gulp>glob-watcher>anymatch>micromatch": { "builtin": { - "assert.equal": true, - "events": true + "path.basename": true, + "path.sep": true, + "util.inspect": true }, "globals": { - "process": true - } - }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": { + "process.platform": true + }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>code-point-at": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": true + "gulp>glob-watcher>anymatch>micromatch>define-property": true, + "gulp>glob-watcher>anymatch>micromatch>extend-shallow": true, + "gulp>glob-watcher>chokidar>braces": true, + "webpack>micromatch>arr-diff": true, + "webpack>micromatch>array-unique": true, + "webpack>micromatch>extglob": true, + "webpack>micromatch>fragment-cache": true, + "webpack>micromatch>kind-of": true, + "webpack>micromatch>nanomatch": true, + "webpack>micromatch>object.pick": true, + "webpack>micromatch>regex-not": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point": { + "gulp>glob-watcher>anymatch>micromatch>define-property": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width>is-fullwidth-code-point>number-is-nan": true + "gulp>gulp-cli>isobject": true, + "webpack>micromatch>define-property>is-descriptor": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi": { + "gulp>glob-watcher>anymatch>micromatch>extend-shallow": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>strip-ansi>ansi-regex": true + "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": true, + "webpack>micromatch>extend-shallow>assign-symbols": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>wide-align": { + "gulp>glob-watcher>anymatch>micromatch>extend-shallow>is-extendable": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>gauge>string-width": true + "@babel/register>clone-deep>is-plain-object": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>npmlog>set-blocking": { - "globals": { - "process.stderr": true, - "process.stdout": true + "gulp>glob-watcher>anymatch>normalize-path": { + "packages": { + "vinyl>remove-trailing-separator": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf": { + "gulp>glob-watcher>async-done": { "builtin": { - "assert": true, - "fs": true, - "path.join": true + "domain.create": true }, "globals": { - "process.platform": true, - "setTimeout": true + "process.nextTick": true }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob": true + "end-of-stream": true, + "gulp>glob-watcher>async-done>process-nextick-args": true, + "gulp>glob-watcher>async-done>stream-exhaust": true, + "pump>once": true + } + }, + "gulp>glob-watcher>async-done>process-nextick-args": { + "globals": { + "process": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob": { + "gulp>glob-watcher>async-done>stream-exhaust": { "builtin": { - "assert": true, - "events.EventEmitter": true, - "fs.lstat": true, - "fs.lstatSync": true, - "fs.readdir": true, - "fs.readdirSync": true, - "fs.stat": true, - "fs.statSync": true, - "path.join": true, - "path.resolve": true, - "util": true + "stream.Writable": true, + "util.inherits": true }, "globals": { - "console.error": true, - "process.cwd": true, - "process.nextTick": true, - "process.platform": true - }, - "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": true + "setImmediate": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>fs.realpath": { + "gulp>glob-watcher>chokidar": { "builtin": { - "fs.lstat": true, - "fs.lstatSync": true, - "fs.readlink": true, - "fs.readlinkSync": true, - "fs.realpath": true, - "fs.realpathSync": true, - "fs.stat": true, - "fs.statSync": true, - "path.normalize": true, - "path.resolve": true + "events.EventEmitter": true, + "fs": true, + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.join": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true }, "globals": { + "clearTimeout": true, "console.error": true, - "console.trace": true, - "process.env.NODE_DEBUG": true, + "process.env.CHOKIDAR_INTERVAL": true, + "process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR": true, + "process.env.CHOKIDAR_USEPOLLING": true, "process.nextTick": true, - "process.noDeprecation": true, "process.platform": true, - "process.throwDeprecation": true, - "process.traceDeprecation": true, - "process.version": true - } - }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inflight": { - "globals": { - "process.nextTick": true + "setTimeout": true }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true + "eslint>is-glob": true, + "gulp-watch>chokidar>async-each": true, + "gulp-watch>glob-parent": true, + "gulp-watch>path-is-absolute": true, + "gulp>glob-watcher>anymatch": true, + "gulp>glob-watcher>chokidar>braces": true, + "gulp>glob-watcher>chokidar>is-binary-path": true, + "gulp>glob-watcher>chokidar>normalize-path": true, + "gulp>glob-watcher>chokidar>readdirp": true, + "gulp>glob-watcher>chokidar>upath": true, + "pumpify>inherits": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>inherits": { - "builtin": { - "util.inherits": true + "gulp>glob-watcher>chokidar>braces": { + "packages": { + "gulp>glob-watcher>chokidar>braces>fill-range": true, + "gulp>gulp-cli>isobject": true, + "gulp>undertaker>arr-flatten": true, + "webpack>micromatch>array-unique": true, + "webpack>micromatch>braces>repeat-element": true, + "webpack>micromatch>braces>snapdragon-node": true, + "webpack>micromatch>braces>split-string": true, + "webpack>micromatch>extglob>extend-shallow": true, + "webpack>micromatch>snapdragon": true, + "webpack>micromatch>to-regex": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch": { + "gulp>glob-watcher>chokidar>braces>fill-range": { "builtin": { - "path": true - }, - "globals": { - "console.error": true + "util.inspect": true }, "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": true + "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, + "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": true, + "webpack>micromatch>braces>fill-range>repeat-string": true, + "webpack>micromatch>extglob>extend-shallow": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>balanced-match": true, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>minimatch>brace-expansion>concat-map": true + "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number>kind-of": { "packages": { - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>once>wrappy": true - } - }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>rimraf>glob>path-is-absolute": { - "globals": { - "process.platform": true - } - }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>semver": { - "globals": { - "console": true, - "process": true + "browserify>insert-module-globals>is-buffer": true } }, - "gulp>glob-watcher>chokidar>fsevents>node-pre-gyp>tar>safe-buffer": { - "builtin": { - "buffer": true + "gulp>glob-watcher>chokidar>braces>fill-range>to-regex-range": { + "packages": { + "gulp>glob-watcher>chokidar>braces>fill-range>is-number": true, + "webpack>micromatch>braces>fill-range>repeat-string": true } }, "gulp>glob-watcher>chokidar>is-binary-path": { From 9bec3858762d5501912eef3ec2521a585d4346eb Mon Sep 17 00:00:00 2001 From: bowensanders Date: Wed, 16 Nov 2022 11:46:37 -0800 Subject: [PATCH 23/23] added logic to test-snap-error --- test/e2e/snaps/test-snap-error.spec.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/e2e/snaps/test-snap-error.spec.js b/test/e2e/snaps/test-snap-error.spec.js index 393750f4620a..3ac9a47b4b20 100644 --- a/test/e2e/snaps/test-snap-error.spec.js +++ b/test/e2e/snaps/test-snap-error.spec.js @@ -1,3 +1,4 @@ +const { strict: assert } = require('assert'); const { withFixtures } = require('../helpers'); const FixtureBuilder = require('../fixture-builder'); const { TEST_SNAPS_WEBSITE_URL } = require('./enums'); @@ -75,6 +76,18 @@ describe('Test Snap Error', function () { await driver.switchToWindow(extensionPage); await driver.delay(1000); + // look for the actual error and check if it is correct + const error = await driver.findElement( + '.home-notification__content-container', + ); + const text = await error.getText(); + assert.equal( + text.includes( + "Snap Error: 'random error inside'. Error Code: '-32603'", + ), + true, + ); + // try to click on the dismiss button and pass test if it works await driver.clickElement({ text: 'Dismiss',