From 1106021a3dc8f48e146ef94b0bdfbe5979507708 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 15:26:43 -0500 Subject: [PATCH 01/22] build: add madge configuration for TypeScript circular dependency detection --- .madgerc | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .madgerc diff --git a/.madgerc b/.madgerc new file mode 100644 index 000000000000..0646516fd475 --- /dev/null +++ b/.madgerc @@ -0,0 +1,7 @@ +{ + "detectiveOptions": { + "ts": { + "skipTypeImports": true + } + } +} \ No newline at end of file From b727bf32660242321a1bfc0184ec64516876455a Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 15:26:56 -0500 Subject: [PATCH 02/22] feat: add circular dependency detection script --- development/circular-deps.ts | 174 +++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 development/circular-deps.ts diff --git a/development/circular-deps.ts b/development/circular-deps.ts new file mode 100644 index 000000000000..d02f8751c7d4 --- /dev/null +++ b/development/circular-deps.ts @@ -0,0 +1,174 @@ +#!/usr/bin/env tsx + +import fs from 'fs'; +import madge from '@lgbot/madge'; +import fg from 'fast-glob'; + +const TARGET_FILE = 'circular-deps.json'; + +/** + * Patterns for files and directories to ignore when checking for circular dependencies: + * - test files and directories + * - storybook files and directories + * - any file with .test., .spec., or .stories. in its name + */ +const IGNORE_PATTERNS = [ + // Test files and directories + '**/test/**', + '**/tests/**', + '**/*.test.*', + '**/*.spec.*', + + // Storybook files and directories + '**/stories/**', + '**/storybook/**', + '**/*.stories.*', +]; + +/** + * Source code directories to check for circular dependencies. + * These are the main app directories containing production code. + */ +const ENTRYPOINT_PATTERNS = [ + 'app/**/*', // Main application code + 'shared/**/*', // Shared utilities and components + 'ui/**/*', // UI components and styles +]; + +// Converts a glob pattern to a RegExp patter +function globToRegExp(pattern: string): RegExp { + return new RegExp( + pattern + // Convert '**' to '.*' to match any characters. + .replace(/\*\*/gu, '.*') + // Convert '*' to '[^/]*' to match any characters except directory separators. + .replace(/\*/gu, '[^/]*'), + 'u', + ); +} + +/** + * Circular dependencies are represented as an array of arrays, where each + * inner array represents a cycle of dependencies. + */ +type CircularDeps = string[][]; + +/** + * Normalizes JSON output by sorting both the individual cycles and the array + * of cycles. This ensures consistent output regardless of cycle starting point. + * + * Example: + * Input cycle: B -> C -> A -> B + * Output cycle: A -> B -> C -> A + * + * The normalization allows for reliable diff comparisons by eliminating + * ordering variations. + *… + * + * @param cycles + */ +function normalizeJson(cycles: CircularDeps): CircularDeps { + return cycles.map((cycle) => [...cycle].sort()).sort(); +} + +// Common madge configuration +const MADGE_CONFIG = { + circular: true, + extensions: ['js', 'jsx', 'ts', 'tsx'], + excludeRegExp: IGNORE_PATTERNS.map(globToRegExp), + tsConfig: 'tsconfig.json', + webpackConfig: 'webpack.config.js', +}; + +async function getMadgeCircularDeps(): Promise { + console.log('Running madge to detect circular dependencies...'); + try { + const entrypoints = ( + await Promise.all( + ENTRYPOINT_PATTERNS.map((pattern) => + fg(pattern, { ignore: IGNORE_PATTERNS }), + ), + ) + ).flat(); + console.log( + `Analyzing ${entrypoints.length} entry points for circular dependencies...`, + ); + const result = await madge(entrypoints, MADGE_CONFIG); + const circularDeps = result.circular(); + console.log(`Found ${circularDeps.length} circular dependencies`); + return normalizeJson(circularDeps); + } catch (error) { + console.error('Error while running madge:', error); + throw error; + } +} + +async function fix(): Promise { + try { + console.log('Generating circular dependencies...'); + const circularDeps = await getMadgeCircularDeps(); + fs.writeFileSync(TARGET_FILE, JSON.stringify(circularDeps, null, 2)); + console.log(`Wrote circular dependencies to ${TARGET_FILE}`); + } catch (error) { + console.error('Error while fixing circular dependencies:', error); + process.exit(1); + } +} + +async function check(): Promise { + const resolutionSteps = + 'To resolve this issue, run `yarn circular-deps:fix` locally and commit the changes.'; + + try { + // Check if target file exists + if (!fs.existsSync(TARGET_FILE)) { + console.error(`Error: ${TARGET_FILE} does not exist.`); + console.log(resolutionSteps); + process.exit(1); + } + + // Get current circular dependencies + const currentDeps = await getMadgeCircularDeps(); + + // Read existing file + const existingDeps = JSON.parse(fs.readFileSync(TARGET_FILE, 'utf-8')); + + // Compare dependencies + const currentStr = JSON.stringify(currentDeps); + const existingStr = JSON.stringify(existingDeps); + + if (currentStr !== existingStr) { + console.error( + `Error: Codebase circular dependencies are out of sync in ${TARGET_FILE}`, + ); + console.log(resolutionSteps); + process.exit(1); + } + + console.log('Circular dependencies check passed.'); + } catch (error) { + console.error('Error while checking circular dependencies:', error); + process.exit(1); + } +} + +// Main execution +async function main(): Promise { + const command = process.argv[2]; + + if (command !== 'check' && command !== 'fix') { + console.error('Usage: circular-deps.ts [check|fix]'); + process.exit(1); + } + + if (command === 'fix') { + await fix(); + } else { + await check(); + } +} + +main().catch((error) => { + console.error('Unexpected error:', error); + process.exit(1); +}); From aac45a3cdd71ff8e3acf7c12e68bee4ecedca73b Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 15:27:15 -0500 Subject: [PATCH 03/22] chore: add baseline circular dependencies --- circular-deps.json | 394 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 394 insertions(+) create mode 100644 circular-deps.json diff --git a/circular-deps.json b/circular-deps.json new file mode 100644 index 000000000000..59af1369b5b1 --- /dev/null +++ b/circular-deps.json @@ -0,0 +1,394 @@ +[ + [ + "app/scripts/controllers/bridge-status/bridge-status-controller.ts", + "app/scripts/controllers/bridge-status/types.ts" + ], + [ + "app/scripts/controllers/bridge-status/utils.ts", + "app/scripts/controllers/bridge-status/validators.ts" + ], + [ + "app/scripts/controllers/bridge/bridge-controller.ts", + "app/scripts/controllers/bridge/types.ts" + ], + [ + "app/scripts/controllers/swaps/index.ts", + "app/scripts/controllers/swaps/swaps.constants.ts", + "app/scripts/controllers/swaps/swaps.types.ts" + ], + [ + "app/scripts/controllers/swaps/swaps.constants.ts", + "app/scripts/controllers/swaps/swaps.types.ts" + ], + [ + "app/scripts/lib/transaction/metrics.ts", + "shared/modules/metametrics.ts" + ], + [ + "ui/components/app/alert-system/confirm-alert-modal/confirm-alert-modal.tsx", + "ui/components/app/alert-system/confirm-alert-modal/index.tsx", + "ui/pages/confirmations/components/confirm/footer/footer.tsx" + ], + [ + "ui/components/app/assets/asset-list/asset-list-control-bar/asset-list-control-bar.tsx", + "ui/components/app/assets/asset-list/asset-list-control-bar/index.ts", + "ui/components/app/assets/asset-list/asset-list.tsx", + "ui/components/app/assets/asset-list/network-filter/index.ts", + "ui/components/app/assets/asset-list/network-filter/network-filter.tsx", + "ui/hooks/useAccountTotalCrossChainFiatBalance.ts" + ], + [ + "ui/components/app/assets/asset-list/asset-list.tsx", + "ui/components/app/assets/asset-list/native-token/index.ts", + "ui/components/app/assets/asset-list/native-token/native-token.tsx" + ], + [ + "ui/components/app/assets/asset-list/asset-list.tsx", + "ui/components/app/assets/asset-list/native-token/index.ts", + "ui/components/app/assets/asset-list/native-token/native-token.tsx", + "ui/components/app/assets/asset-list/native-token/use-native-token-balance.ts" + ], + [ + "ui/components/app/assets/token-list/token-list.tsx", + "ui/components/app/assets/util/calculateTokenBalance.ts" + ], + [ + "ui/components/app/assets/token-list/token-list.tsx", + "ui/components/app/assets/util/calculateTokenFiatAmount.ts" + ], + [ + "ui/components/app/name/name-details/name-details.tsx", + "ui/components/app/name/name.tsx" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/banner.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/bold.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/box.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/button.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/card.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/container.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/field.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/selector.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/field.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/form.ts", + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/italic.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/link.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/row.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/text.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/tooltip.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/value.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], + [ + "ui/components/component-library/avatar-account/avatar-account.tsx", + "ui/components/component-library/avatar-account/avatar-account.types.ts", + "ui/components/component-library/avatar-account/index.ts", + "ui/components/component-library/avatar-base/avatar-base.types.ts", + "ui/components/component-library/index.ts", + "ui/components/component-library/text/index.ts", + "ui/components/component-library/text/text.tsx" + ], + [ + "ui/components/component-library/badge-wrapper/badge-wrapper.tsx", + "ui/components/component-library/badge-wrapper/badge-wrapper.types.ts", + "ui/components/component-library/badge-wrapper/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/badge-wrapper/badge-wrapper.tsx", + "ui/components/component-library/badge-wrapper/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/banner-alert/banner-alert.tsx", + "ui/components/component-library/banner-alert/banner-alert.types.ts", + "ui/components/component-library/banner-alert/index.ts", + "ui/components/component-library/banner-base/banner-base.types.ts", + "ui/components/component-library/button-base/button-base.tsx", + "ui/components/component-library/button-base/index.ts", + "ui/components/component-library/button-link/button-link.tsx", + "ui/components/component-library/button-link/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/banner-alert/banner-alert.tsx", + "ui/components/component-library/banner-alert/banner-alert.types.ts", + "ui/components/component-library/banner-alert/index.ts", + "ui/components/component-library/banner-base/banner-base.types.ts", + "ui/components/component-library/button-icon/button-icon.tsx", + "ui/components/component-library/button-icon/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/banner-alert/banner-alert.tsx", + "ui/components/component-library/banner-alert/banner-alert.types.ts", + "ui/components/component-library/banner-alert/index.ts", + "ui/components/component-library/banner-base/banner-base.types.ts", + "ui/components/component-library/button-link/button-link.tsx", + "ui/components/component-library/button-link/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/banner-alert/banner-alert.tsx", + "ui/components/component-library/banner-alert/index.ts", + "ui/components/component-library/banner-base/banner-base.tsx", + "ui/components/component-library/banner-base/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/banner-alert/banner-alert.tsx", + "ui/components/component-library/banner-alert/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/banner-tip/banner-tip.tsx", + "ui/components/component-library/banner-tip/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/checkbox/checkbox.tsx", + "ui/components/component-library/checkbox/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/container/container.tsx", + "ui/components/component-library/container/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/form-text-field/form-text-field.tsx", + "ui/components/component-library/form-text-field/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/header-base/header-base.tsx", + "ui/components/component-library/header-base/index.ts", + "ui/components/component-library/index.ts" + ], + [ + "ui/components/component-library/help-text/help-text.tsx", + "ui/components/component-library/help-text/index.ts" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/modal-body/index.ts", + "ui/components/component-library/modal-body/modal-body.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/modal-content/index.ts", + "ui/components/component-library/modal-content/modal-content.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/modal-footer/index.ts", + "ui/components/component-library/modal-footer/modal-footer.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/modal-header/index.ts", + "ui/components/component-library/modal-header/modal-header.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/picker-network/index.ts", + "ui/components/component-library/picker-network/picker-network.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/picker-network/index.ts", + "ui/components/component-library/picker-network/picker-network.tsx", + "ui/components/component-library/picker-network/picker-network.types.ts", + "ui/components/multichain/avatar-group/avatar-group.types.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/picker-network/index.ts", + "ui/components/component-library/picker-network/picker-network.tsx", + "ui/components/multichain/avatar-group/avatar-group.tsx", + "ui/components/multichain/avatar-group/index.ts" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/popover-header/index.ts", + "ui/components/component-library/popover-header/popover-header.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/popover/index.ts", + "ui/components/component-library/popover/popover.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/select-button/index.ts", + "ui/components/component-library/select-button/select-button.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/select-button/index.ts", + "ui/components/component-library/select-button/select-button.tsx", + "ui/components/component-library/select-wrapper/index.ts", + "ui/components/component-library/select-wrapper/select-wrapper.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/select-option/index.ts", + "ui/components/component-library/select-option/select-option.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/tag-url/index.ts", + "ui/components/component-library/tag-url/tag-url.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/tag/index.ts", + "ui/components/component-library/tag/tag.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/text-field-search/index.ts", + "ui/components/component-library/text-field-search/text-field-search.tsx" + ], + [ + "ui/components/component-library/index.ts", + "ui/components/component-library/text-field/index.ts", + "ui/components/component-library/text-field/text-field.tsx" + ], + [ + "ui/components/component-library/modal-header/deprecated/index.ts", + "ui/components/component-library/modal-header/deprecated/modal-header.tsx" + ], + [ + "ui/components/component-library/modal-header/index.ts", + "ui/components/component-library/modal-header/modal-header.tsx" + ], + [ + "ui/components/component-library/popover-header/index.ts", + "ui/components/component-library/popover-header/popover-header.tsx" + ], + [ + "ui/components/institutional/custody-labels/custody-labels.tsx", + "ui/components/institutional/custody-labels/index.ts", + "ui/pages/institutional/account-list/account-list.tsx", + "ui/pages/institutional/account-list/index.ts", + "ui/pages/institutional/custody/custody.tsx" + ], + [ + "ui/components/multichain/pages/send/components/account-picker.tsx", + "ui/components/multichain/pages/send/components/index.ts" + ], + [ + "ui/components/multichain/pages/send/components/address-book.tsx", + "ui/components/multichain/pages/send/components/index.ts" + ], + [ + "ui/components/multichain/pages/send/components/hex.tsx", + "ui/components/multichain/pages/send/components/index.ts" + ], + [ + "ui/components/multichain/pages/send/components/index.ts", + "ui/components/multichain/pages/send/components/network-picker.tsx" + ], + [ + "ui/components/multichain/pages/send/components/index.ts", + "ui/components/multichain/pages/send/components/recipient-content.tsx" + ], + [ + "ui/components/multichain/pages/send/components/index.ts", + "ui/components/multichain/pages/send/components/recipient-input.tsx" + ], + [ + "ui/components/multichain/pages/send/components/index.ts", + "ui/components/multichain/pages/send/components/recipient.tsx" + ], + [ + "ui/components/multichain/pages/send/components/index.ts", + "ui/components/multichain/pages/send/components/your-accounts.tsx" + ], + [ + "ui/pages/asset/components/asset-page.tsx", + "ui/pages/asset/components/token-buttons.tsx" + ], + [ + "ui/pages/institutional/custody/custody.tsx", + "ui/pages/institutional/manual-connect-custodian/index.ts", + "ui/pages/institutional/manual-connect-custodian/manual-connect-custodian.tsx" + ], + [ + "ui/pages/notifications/notifications-list.tsx", + "ui/pages/notifications/notifications.tsx" + ], + [ + "ui/pages/snap-account-redirect/components/index.ts", + "ui/pages/snap-account-redirect/components/snap-account-redirect-context.tsx", + "ui/pages/snap-account-redirect/components/snap-account-redirect-message.tsx", + "ui/pages/snap-account-redirect/components/url-display-box.tsx", + "ui/pages/snap-account-redirect/snap-account-redirect.tsx" + ], + [ + "ui/pages/swaps/swaps.util.ts", + "ui/store/actions.ts" + ], + [ + "ui/store/actions.ts", + "ui/store/institutional/institution-actions.ts" + ] +] \ No newline at end of file From 7d6639eb90331c14fb159195b0ec7ce8d6b41efc Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 15:27:26 -0500 Subject: [PATCH 04/22] ci: integrate circular dependency checks into CI pipeline --- .github/workflows/test-lint.yml | 3 +++ package.json | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-lint.yml b/.github/workflows/test-lint.yml index df40a3a7ef27..04f5e9eb5629 100644 --- a/.github/workflows/test-lint.yml +++ b/.github/workflows/test-lint.yml @@ -19,3 +19,6 @@ jobs: - name: Verify locales run: yarn verify-locales --quiet + + - name: Check circular dependencies + run: yarn circular-deps:check diff --git a/package.json b/package.json index 2bc95e4595fb..2bed375e2b6d 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,8 @@ "dist:mmi:debug": "yarn dist --build-type mmi --apply-lavamoat=false --snow=false", "build": "yarn lavamoat:build", "build:dev": "node development/build/index.js", + "circular-deps:check": "tsx development/circular-deps.ts check", + "circular-deps:fix": "tsx development/circular-deps.ts fix", "start:test": "yarn env:e2e build:dev testDev --apply-lavamoat=false", "start:test:flask": "yarn start:test --build-type flask --apply-lavamoat=false", "start:test:mv2:flask": "ENABLE_MV3=false yarn start:test:flask --apply-lavamoat=false --snow=false", @@ -768,4 +770,4 @@ } }, "packageManager": "yarn@4.5.1" -} +} \ No newline at end of file From 15d01cade51b2394a9cf4ad117dc3c2d2e0cd0d7 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 16:00:11 -0500 Subject: [PATCH 05/22] fix lint --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f739462b930..0cb2b91c2183 100644 --- a/package.json +++ b/package.json @@ -776,4 +776,4 @@ } }, "packageManager": "yarn@4.5.1" -} \ No newline at end of file +} From e9fc06d1d36a2c6fe6961caff800ed3e12e353eb Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 16:00:49 -0500 Subject: [PATCH 06/22] add file header comment to circular-deps.json and rename to .jsonc --- circular-deps.json => circular-deps.jsonc | 10 +++++++++- development/circular-deps.ts | 17 +++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) rename circular-deps.json => circular-deps.jsonc (97%) diff --git a/circular-deps.json b/circular-deps.jsonc similarity index 97% rename from circular-deps.json rename to circular-deps.jsonc index 59af1369b5b1..40c9c27ed98b 100644 --- a/circular-deps.json +++ b/circular-deps.jsonc @@ -1,3 +1,11 @@ +// This is a machine-generated file that tracks circular dependencies in the codebase. +// To understand changes in this file: +// - Each array represents a cycle of imports where the last file imports the first +// - The cycles are sorted alphabetically for consistent diffs +// - To update this file, run: yarn circular-deps:fix +// - To prevent new circular dependencies, ensure your changes don't add new cycles +// - For more information contact the Extension Platform team. + [ [ "app/scripts/controllers/bridge-status/bridge-status-controller.ts", @@ -391,4 +399,4 @@ "ui/store/actions.ts", "ui/store/institutional/institution-actions.ts" ] -] \ No newline at end of file +] diff --git a/development/circular-deps.ts b/development/circular-deps.ts index d02f8751c7d4..f3b5d24623c3 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -4,7 +4,17 @@ import fs from 'fs'; import madge from '@lgbot/madge'; import fg from 'fast-glob'; -const TARGET_FILE = 'circular-deps.json'; +const TARGET_FILE = 'circular-deps.jsonc'; + +const FILE_HEADER = `// This is a machine-generated file that tracks circular dependencies in the codebase. +// To understand changes in this file: +// - Each array represents a cycle of imports where the last file imports the first +// - The cycles are sorted alphabetically for consistent diffs +// - To update this file, run: yarn circular-deps:fix +// - To prevent new circular dependencies, ensure your changes don't add new cycles +// - For more information contact the Extension Platform team. + +`; /** * Patterns for files and directories to ignore when checking for circular dependencies: @@ -107,7 +117,10 @@ async function fix(): Promise { try { console.log('Generating circular dependencies...'); const circularDeps = await getMadgeCircularDeps(); - fs.writeFileSync(TARGET_FILE, JSON.stringify(circularDeps, null, 2)); + fs.writeFileSync( + TARGET_FILE, + `${FILE_HEADER + JSON.stringify(circularDeps, null, 2)}\n`, + ); console.log(`Wrote circular dependencies to ${TARGET_FILE}`); } catch (error) { console.error('Error while fixing circular dependencies:', error); From 171032a988bddfc0ae92576421a52969c89e40f8 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Mon, 20 Jan 2025 16:24:24 -0500 Subject: [PATCH 07/22] strip comments from jsonc --- development/circular-deps.ts | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/development/circular-deps.ts b/development/circular-deps.ts index f3b5d24623c3..37d81958b33c 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -128,6 +128,19 @@ async function fix(): Promise { } } +/** + * Simplified version of stripJsonComments that removes any line that + * starts with // (ignoring whitespace). + * + * @param jsonc + */ +function stripJsonComments(jsonc: string): string { + return jsonc + .split('\n') + .filter((line) => !line.trim().startsWith('//')) + .join('\n'); +} + async function check(): Promise { const resolutionSteps = 'To resolve this issue, run `yarn circular-deps:fix` locally and commit the changes.'; @@ -140,17 +153,18 @@ async function check(): Promise { process.exit(1); } - // Get current circular dependencies - const currentDeps = await getMadgeCircularDeps(); + // Determine actual circular dependencies in the codebase + const actualDeps = await getMadgeCircularDeps(); - // Read existing file - const existingDeps = JSON.parse(fs.readFileSync(TARGET_FILE, 'utf-8')); + // Read existing file and strip comments + const fileContents = fs.readFileSync(TARGET_FILE, 'utf-8'); + const baselineDeps = JSON.parse(stripJsonComments(fileContents)); // Compare dependencies - const currentStr = JSON.stringify(currentDeps); - const existingStr = JSON.stringify(existingDeps); + const actualStr = JSON.stringify(actualDeps); + const baselineStr = JSON.stringify(baselineDeps); - if (currentStr !== existingStr) { + if (actualStr !== baselineStr) { console.error( `Error: Codebase circular dependencies are out of sync in ${TARGET_FILE}`, ); From 0c20e958c30f34f091336fda9ef17ff442db5690 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 13:57:16 -0500 Subject: [PATCH 08/22] move circular-deps.jsonc under the development folder --- circular-deps.jsonc => development/circular-deps.jsonc | 0 development/circular-deps.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename circular-deps.jsonc => development/circular-deps.jsonc (100%) diff --git a/circular-deps.jsonc b/development/circular-deps.jsonc similarity index 100% rename from circular-deps.jsonc rename to development/circular-deps.jsonc diff --git a/development/circular-deps.ts b/development/circular-deps.ts index 37d81958b33c..1056824a9090 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -4,7 +4,7 @@ import fs from 'fs'; import madge from '@lgbot/madge'; import fg from 'fast-glob'; -const TARGET_FILE = 'circular-deps.jsonc'; +const TARGET_FILE = 'development/circular-deps.jsonc'; const FILE_HEADER = `// This is a machine-generated file that tracks circular dependencies in the codebase. // To understand changes in this file: From d2992e0d456f1f81982ea0ab9d01d137da2ce346 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 14:07:27 -0500 Subject: [PATCH 09/22] rename "fix" to "update" and move RESOLUTION_STEPS to top of file --- development/circular-deps.ts | 27 +++++++++++++++------------ package.json | 4 ++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/development/circular-deps.ts b/development/circular-deps.ts index 1056824a9090..c0aaaa3f237c 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -10,12 +10,18 @@ const FILE_HEADER = `// This is a machine-generated file that tracks circular de // To understand changes in this file: // - Each array represents a cycle of imports where the last file imports the first // - The cycles are sorted alphabetically for consistent diffs -// - To update this file, run: yarn circular-deps:fix +// - To update this file, run: yarn circular-deps:update // - To prevent new circular dependencies, ensure your changes don't add new cycles // - For more information contact the Extension Platform team. `; +/** + * Message displayed when circular dependency checks fail and need resolution. + */ +const RESOLUTION_STEPS = + 'To resolve this issue, run `yarn circular-deps:update` locally and commit the changes.'; + /** * Patterns for files and directories to ignore when checking for circular dependencies: * - test files and directories @@ -113,7 +119,7 @@ async function getMadgeCircularDeps(): Promise { } } -async function fix(): Promise { +async function update(): Promise { try { console.log('Generating circular dependencies...'); const circularDeps = await getMadgeCircularDeps(); @@ -123,7 +129,7 @@ async function fix(): Promise { ); console.log(`Wrote circular dependencies to ${TARGET_FILE}`); } catch (error) { - console.error('Error while fixing circular dependencies:', error); + console.error('Error while updating circular dependencies:', error); process.exit(1); } } @@ -142,14 +148,11 @@ function stripJsonComments(jsonc: string): string { } async function check(): Promise { - const resolutionSteps = - 'To resolve this issue, run `yarn circular-deps:fix` locally and commit the changes.'; - try { // Check if target file exists if (!fs.existsSync(TARGET_FILE)) { console.error(`Error: ${TARGET_FILE} does not exist.`); - console.log(resolutionSteps); + console.log(RESOLUTION_STEPS); process.exit(1); } @@ -168,7 +171,7 @@ async function check(): Promise { console.error( `Error: Codebase circular dependencies are out of sync in ${TARGET_FILE}`, ); - console.log(resolutionSteps); + console.log(RESOLUTION_STEPS); process.exit(1); } @@ -183,13 +186,13 @@ async function check(): Promise { async function main(): Promise { const command = process.argv[2]; - if (command !== 'check' && command !== 'fix') { - console.error('Usage: circular-deps.ts [check|fix]'); + if (command !== 'check' && command !== 'update') { + console.error('Usage: circular-deps.ts [check|update]'); process.exit(1); } - if (command === 'fix') { - await fix(); + if (command === 'update') { + await update(); } else { await check(); } diff --git a/package.json b/package.json index 0cb2b91c2183..ace0bd59aa29 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "build": "yarn lavamoat:build", "build:dev": "node development/build/index.js", "circular-deps:check": "tsx development/circular-deps.ts check", - "circular-deps:fix": "tsx development/circular-deps.ts fix", + "circular-deps:update": "tsx development/circular-deps.ts update", "start:test": "yarn env:e2e build:dev testDev --apply-lavamoat=false", "start:test:flask": "yarn start:test --build-type flask --apply-lavamoat=false", "start:test:mv2:flask": "ENABLE_MV3=false yarn start:test:flask --apply-lavamoat=false --snow=false", @@ -73,7 +73,7 @@ "ganache:start": "./development/run-ganache.sh", "sentry:publish": "node ./development/sentry-publish.js", "lint": "yarn lint:prettier && yarn lint:eslint && yarn lint:tsc && yarn lint:styles", - "lint:fix": "yarn lint:prettier:fix && yarn lint:eslint:fix && yarn lint:styles:fix", + "lint:fix": "yarn lint:prettier:fix && yarn lint:eslint:fix && yarn lint:styles:fix && yarn circular-deps:update", "lint:prettier": "prettier --check --cache -- '**/*.json'", "lint:prettier:fix": "prettier --write --cache -- '**/*.json'", "lint:changed": "./development/get-changed-file-names.sh | grep -E --regexp='[.](js|ts|tsx)$' | tr '\\n' '\\0' | xargs -0 eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache", From 6a76a710b4a919cf64b3386c8f1cfcd874c61580 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 14:08:01 -0500 Subject: [PATCH 10/22] move test-circular-deps check into its own github workflow --- .github/workflows/test-circular-deps.yml | 18 ++++++++++++++++++ .github/workflows/test-lint.yml | 3 --- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/test-circular-deps.yml diff --git a/.github/workflows/test-circular-deps.yml b/.github/workflows/test-circular-deps.yml new file mode 100644 index 000000000000..5f3024c3f81a --- /dev/null +++ b/.github/workflows/test-circular-deps.yml @@ -0,0 +1,18 @@ +name: Test Circular Dependencies + +on: + workflow_call: + +jobs: + test-circular-deps: + name: Test circular dependencies + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup environment + uses: metamask/github-tools/.github/actions/setup-environment@main + + - name: Check circular dependencies + run: yarn circular-deps:check \ No newline at end of file diff --git a/.github/workflows/test-lint.yml b/.github/workflows/test-lint.yml index 04f5e9eb5629..df40a3a7ef27 100644 --- a/.github/workflows/test-lint.yml +++ b/.github/workflows/test-lint.yml @@ -19,6 +19,3 @@ jobs: - name: Verify locales run: yarn verify-locales --quiet - - - name: Check circular dependencies - run: yarn circular-deps:check From ecec156f246d69fd9d1ea0940857e0170b01da1d Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 14:08:15 -0500 Subject: [PATCH 11/22] update .madgerc --- .madgerc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.madgerc b/.madgerc index 0646516fd475..6e07898680db 100644 --- a/.madgerc +++ b/.madgerc @@ -1,7 +1,15 @@ { "detectiveOptions": { - "ts": { + "es6": { "skipTypeImports": true + }, + "ts": { + "skipTypeImports": true, + "skipAsyncImports": true + }, + "tsx": { + "skipTypeImports": true, + "skipAsyncImports": true } } } \ No newline at end of file From 2c594bfcb23ae56381bfd918184045300a7ad8f9 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 14:14:02 -0500 Subject: [PATCH 12/22] Update madge dependency to latest version --- package.json | 2 +- yarn.lock | 589 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 553 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index ace0bd59aa29..915f46399ab7 100644 --- a/package.json +++ b/package.json @@ -464,7 +464,6 @@ "@lavamoat/allow-scripts": "^3.3.1", "@lavamoat/lavadome-core": "0.0.10", "@lavamoat/lavapack": "^7.0.5", - "@lgbot/madge": "^6.2.0", "@lydell/node-pty": "^1.0.1", "@metamask/api-specs": "^0.9.3", "@metamask/auto-changelog": "^2.1.0", @@ -626,6 +625,7 @@ "level": "^8.0.1", "lockfile-lint": "^4.10.6", "loose-envify": "^1.4.0", + "madge": "^8.0.0", "mini-css-extract-plugin": "^2.9.1", "mocha": "^10.2.0", "mocha-junit-reporter": "^2.2.1", diff --git a/yarn.lock b/yarn.lock index bb6374affa2d..8f1d18c3e14b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -473,6 +473,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3": + version: 7.26.7 + resolution: "@babel/parser@npm:7.26.7" + dependencies: + "@babel/types": "npm:^7.26.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10/3ccc384366ca9a9b49c54f5b24c9d8cff9a505f2fbdd1cfc04941c8e1897084cc32f100e77900c12bc14a176cf88daa3c155faad680d9a23491b997fd2a59ffc + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" @@ -1646,6 +1657,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/types@npm:7.26.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/2264efd02cc261ca5d1c5bc94497c8995238f28afd2b7483b24ea64dd694cf46b00d51815bf0c87f0d0061ea221569c77893aeecb0d4b4bb254e9c2f938d7669 + languageName: node + linkType: hard + "@base2/pretty-print-object@npm:1.0.1": version: 1.0.1 resolution: "@base2/pretty-print-object@npm:1.0.1" @@ -1744,6 +1765,16 @@ __metadata: languageName: node linkType: hard +"@dependents/detective-less@npm:^5.0.0": + version: 5.0.0 + resolution: "@dependents/detective-less@npm:5.0.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^7.0.0" + checksum: 10/85dfc3142d8f34753ddd411dc434784361f318adc7c4abc529c27cf9e2abad28cfe1cc099f2fd3615b9d7787d1f0bd012ac3ef20881d539bb85b61eb9ad7c78e + languageName: node + linkType: hard + "@discoveryjs/json-ext@npm:^0.5.0, @discoveryjs/json-ext@npm:^0.5.3": version: 0.5.7 resolution: "@discoveryjs/json-ext@npm:0.5.7" @@ -4015,6 +4046,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -4479,34 +4517,6 @@ __metadata: languageName: node linkType: hard -"@lgbot/madge@npm:^6.2.0": - version: 6.2.0 - resolution: "@lgbot/madge@npm:6.2.0" - dependencies: - chalk: "npm:^4.1.2" - commander: "npm:^7.2.0" - commondir: "npm:^1.0.1" - debug: "npm:^4.3.4" - dependency-tree: "npm:^10.0.9" - ora: "npm:^5.4.1" - pluralize: "npm:^8.0.0" - precinct: "npm:^11.0.5" - pretty-ms: "npm:^7.0.1" - rc: "npm:^1.2.8" - stream-to-array: "npm:^2.3.0" - ts-graphviz: "npm:^1.8.1" - walkdir: "npm:^0.4.1" - peerDependencies: - typescript: ^3.9.5 || ^4.9.5 || ^5 - peerDependenciesMeta: - typescript: - optional: true - bin: - madge: bin/cli.js - checksum: 10/e98a634bf0b7338b0164c22abecf8788a3c9127c038cc252212bd5c93fe565a9eda9ed1d7521fd9625d5aa3fb057062101567c9979648810ffca389e8e9da6f8 - languageName: node - linkType: hard - "@lit-labs/react@npm:^1.0.2": version: 1.2.1 resolution: "@lit-labs/react@npm:1.2.1" @@ -10159,6 +10169,41 @@ __metadata: languageName: node linkType: hard +"@ts-graphviz/adapter@npm:^2.0.6": + version: 2.0.6 + resolution: "@ts-graphviz/adapter@npm:2.0.6" + dependencies: + "@ts-graphviz/common": "npm:^2.1.5" + checksum: 10/6f15c14a166126e29dddb13f2ad012d8ac4d883e6fa789263b05ee50e0b47f2c09cf4c7f09b549e711563c30d6a6c2e45b52df0fd2701db2953dff112c0e9ea6 + languageName: node + linkType: hard + +"@ts-graphviz/ast@npm:^2.0.7": + version: 2.0.7 + resolution: "@ts-graphviz/ast@npm:2.0.7" + dependencies: + "@ts-graphviz/common": "npm:^2.1.5" + checksum: 10/ca2e0054cb97106e5993d642b8277b60b29a1d227ff75e576d56704a8364790d3fb535788243ac2ec7bc46f077cd760da61fa4a76ddfda5877d40d77b857c3c5 + languageName: node + linkType: hard + +"@ts-graphviz/common@npm:^2.1.5": + version: 2.1.5 + resolution: "@ts-graphviz/common@npm:2.1.5" + checksum: 10/421ea1a0d32917d6f26bceaf7b8e99db9f405afd3bbbb83bb9d2c759ee4bdcf15d5e611b3590becf55615f0ff35a9766fb19268c8c01c3dee0b02a74d0ef1a27 + languageName: node + linkType: hard + +"@ts-graphviz/core@npm:^2.0.7": + version: 2.0.7 + resolution: "@ts-graphviz/core@npm:2.0.7" + dependencies: + "@ts-graphviz/ast": "npm:^2.0.7" + "@ts-graphviz/common": "npm:^2.1.5" + checksum: 10/a2884db12a822ba0fa22845d382459332add43b8297c78d6e7223d89403aacf83508133a00bbf2122c6097b52351bfc5bcf856539379c6d35c9f1439d39cb89b + languageName: node + linkType: hard + "@tsconfig/node10@npm:^1.0.7": version: 1.0.8 resolution: "@tsconfig/node10@npm:1.0.8" @@ -11625,6 +11670,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 10/0e30c73a3cc3c67dd06360a5a12fd12cee831e4092750eec3d6c031bdc4feafcb0ab1d882910a73e66b451a4f6e1dd015e9e2c4d45bf6bf716a474e5d123ddf0 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.59.1": version: 5.59.1 resolution: "@typescript-eslint/typescript-estree@npm:5.59.1" @@ -11680,6 +11732,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:^7.6.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/b01e66235a91aa4439d02081d4a5f8b4a7cf9cb24f26b334812f657e3c603493e5f41e5c1e89cf4efae7d64509fa1f73affc16afc5e15cb7f83f724577c82036 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:7.11.0": version: 7.11.0 resolution: "@typescript-eslint/utils@npm:7.11.0" @@ -11742,6 +11813,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10/b7cfe6fdeae86c507357ac6b2357813c64fb2fbf1aaf844393ba82f73a16e2599b41981b34200d9fc7765d70bc3a8181d76b503051e53f04bcb7c9afef637eab + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -11762,6 +11843,19 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-core@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/shared": "npm:3.5.13" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10/22f042bb47c8a1edb9d602e24da8092ab542d5640f0459a9b99ecf35f90e96678f870209dd30f774f5340c6d817d3c5a46ca49cefb9659ee5b228bd42d1f076a + languageName: node + linkType: hard + "@vue/compiler-dom@npm:3.1.4": version: 3.1.4 resolution: "@vue/compiler-dom@npm:3.1.4" @@ -11772,6 +11866,16 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-dom@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-dom@npm:3.5.13" + dependencies: + "@vue/compiler-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10/5dc628c52091264a443c2d7326b759d7d3999c7e9c00078c2eb370b778e60b9f2ef258a8decf2fd97c8fa0923f895d449eabc1e5bc3d8a45d3ef99c9eb0599d7 + languageName: node + linkType: hard + "@vue/compiler-sfc@npm:^3.0.5": version: 3.1.4 resolution: "@vue/compiler-sfc@npm:3.1.4" @@ -11799,6 +11903,23 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-sfc@npm:^3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-sfc@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/compiler-core": "npm:3.5.13" + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.11" + postcss: "npm:^8.4.48" + source-map-js: "npm:^1.2.0" + checksum: 10/08d55bbdbe86ad0a1fc0501dbf5f535161d35ecb378adb478dd4a75b97e8d21852516966c0ad8aed1d6da11b0d8280b7848ff142b4181cb8f24eaaecd7827f73 + languageName: node + linkType: hard + "@vue/compiler-ssr@npm:3.1.4": version: 3.1.4 resolution: "@vue/compiler-ssr@npm:3.1.4" @@ -11809,6 +11930,16 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-ssr@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-ssr@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10/09f2706455a7d8a5acc67c98120d28d0105d006184402b045636be7791939f5a77fd1c37657047b0129fa431f03437dcab9befc6baa172367ecdef7618407149 + languageName: node + linkType: hard + "@vue/shared@npm:3.1.4": version: 3.1.4 resolution: "@vue/shared@npm:3.1.4" @@ -11816,6 +11947,13 @@ __metadata: languageName: node linkType: hard +"@vue/shared@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/shared@npm:3.5.13" + checksum: 10/5c0c24f443533392dde08c3e4272ff2e19af9762f90baeaa808850e05106537bbd9e2d2ad2081d979b8c4bc89902395b46036b67f74c60b76025924de37833b1 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": version: 1.12.1 resolution: "@webassemblyjs/ast@npm:1.12.1" @@ -13129,6 +13267,13 @@ __metadata: languageName: node linkType: hard +"ast-module-types@npm:^6.0.0": + version: 6.0.0 + resolution: "ast-module-types@npm:6.0.0" + checksum: 10/72ede4e198e62cf442b444b21126ffefbd89e5155097d91e8c829647b0bd6b32655176b4ae01ebb358fbd41eefbecaf46cbe2f784f82ad7bf6a896de52c5bded + languageName: node + linkType: hard + "ast-types@npm:^0.14.2": version: 0.14.2 resolution: "ast-types@npm:0.14.2" @@ -15496,7 +15641,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^12.1.0": +"commander@npm:^12.0.0, commander@npm:^12.1.0": version: 12.1.0 resolution: "commander@npm:12.1.0" checksum: 10/cdaeb672d979816853a4eed7f1310a9319e8b976172485c2a6b437ed0db0a389a44cfb222bfbde772781efa9f215bdd1b936f80d6b249485b465c6cb906e1f93 @@ -16945,6 +17090,20 @@ __metadata: languageName: node linkType: hard +"dependency-tree@npm:^11.0.0": + version: 11.0.1 + resolution: "dependency-tree@npm:11.0.1" + dependencies: + commander: "npm:^12.0.0" + filing-cabinet: "npm:^5.0.1" + precinct: "npm:^12.0.2" + typescript: "npm:^5.4.5" + bin: + dependency-tree: bin/cli.js + checksum: 10/31c89353f730107717bdcea3b9a4e1558ab0ffe57c5ffecc7915f5265ed2a2d526420767884589bf983ccb65c03309f49d468784ca12fd95ec6453bbb502e4bd + languageName: node + linkType: hard + "deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": version: 2.3.1 resolution: "deprecation@npm:2.3.1" @@ -17091,6 +17250,20 @@ __metadata: languageName: node linkType: hard +"detective-amd@npm:^6.0.0": + version: 6.0.0 + resolution: "detective-amd@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + escodegen: "npm:^2.1.0" + get-amd-module-type: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + bin: + detective-amd: bin/cli.js + checksum: 10/2b48d48f8e93a84326975bc8da16cb16df0e06a5e39776c98c17e1d32722d4bf58c3a826265c781ee970b9bf71513f42b8d541f5b56ec111ea922f62da2da406 + languageName: node + linkType: hard + "detective-cjs@npm:^5.0.1": version: 5.0.1 resolution: "detective-cjs@npm:5.0.1" @@ -17101,6 +17274,16 @@ __metadata: languageName: node linkType: hard +"detective-cjs@npm:^6.0.0": + version: 6.0.0 + resolution: "detective-cjs@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + checksum: 10/9fa6c39122a9b378f4afd76494c23d6913150dfe5ea73d703229a8d0ba7ef5057c4946510a210048b6d78d0171ae6f724c9bba91ea8ec23badec61d232c1b8ba + languageName: node + linkType: hard + "detective-es6@npm:^4.0.1": version: 4.0.1 resolution: "detective-es6@npm:4.0.1" @@ -17110,6 +17293,15 @@ __metadata: languageName: node linkType: hard +"detective-es6@npm:^5.0.0": + version: 5.0.0 + resolution: "detective-es6@npm:5.0.0" + dependencies: + node-source-walk: "npm:^7.0.0" + checksum: 10/cf7d6423e83fb48e3687ddecc6b5437d01a864e80495bd10a02e985f2757957b8c132d1d2b576aef1250d69ee9fc28ce33ac5805f8ef2e42c9772164011af557 + languageName: node + linkType: hard + "detective-postcss@npm:^6.1.3": version: 6.1.3 resolution: "detective-postcss@npm:6.1.3" @@ -17121,6 +17313,18 @@ __metadata: languageName: node linkType: hard +"detective-postcss@npm:^7.0.0": + version: 7.0.0 + resolution: "detective-postcss@npm:7.0.0" + dependencies: + is-url: "npm:^1.2.4" + postcss-values-parser: "npm:^6.0.2" + peerDependencies: + postcss: ^8.4.38 + checksum: 10/987e460169459b16f1fdc42bb508ce63b0ea1ee5c9bba810ba2c3554ded76100b746c02c4d1e8de6c11501c9cd845da98a3f63b62917d8e687f37015bda2baf4 + languageName: node + linkType: hard + "detective-sass@npm:^5.0.3": version: 5.0.3 resolution: "detective-sass@npm:5.0.3" @@ -17131,6 +17335,16 @@ __metadata: languageName: node linkType: hard +"detective-sass@npm:^6.0.0": + version: 6.0.0 + resolution: "detective-sass@npm:6.0.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^7.0.0" + checksum: 10/2a4db6fb383949b9203fea982810ebcf6071f8b0eaf1a173a4c13c6652a7cecf873be386b864fee7a953718fa11a49caa2fa05b137961267e4e771ef39ff1280 + languageName: node + linkType: hard + "detective-scss@npm:^4.0.3": version: 4.0.3 resolution: "detective-scss@npm:4.0.3" @@ -17141,6 +17355,16 @@ __metadata: languageName: node linkType: hard +"detective-scss@npm:^5.0.0": + version: 5.0.0 + resolution: "detective-scss@npm:5.0.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^7.0.0" + checksum: 10/2fad1dcaf4a496cf50fff8777100b014394b90f45df7291c5a47b2e8e9c17a884ccb657b8670c1135b3cb1cddab2960a90cd4513b61c365123ba7518e7b83369 + languageName: node + linkType: hard + "detective-stylus@npm:^4.0.0": version: 4.0.0 resolution: "detective-stylus@npm:4.0.0" @@ -17148,6 +17372,13 @@ __metadata: languageName: node linkType: hard +"detective-stylus@npm:^5.0.0": + version: 5.0.0 + resolution: "detective-stylus@npm:5.0.0" + checksum: 10/e39a48e5d23605a459923896a5c511fff5d94bb1dc993a9b8cd866ee9b337589a314ef653342e3f0440e3233a8a40320e29ee557b6ef2f58e020ad9934c83682 + languageName: node + linkType: hard + "detective-typescript@npm:^11.1.0": version: 11.1.0 resolution: "detective-typescript@npm:11.1.0" @@ -17160,6 +17391,36 @@ __metadata: languageName: node linkType: hard +"detective-typescript@npm:^13.0.0": + version: 13.0.0 + resolution: "detective-typescript@npm:13.0.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:^7.6.0" + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + peerDependencies: + typescript: ^5.4.4 + checksum: 10/09f27c3e379e1300a1a4faafa62d119dddac1aae6b06a17e610a4c0e8d80e0cda34ad7fd2eef770cdd28e13e57a1fb2ded36b94d1e0861e0806e2112417c65b7 + languageName: node + linkType: hard + +"detective-vue2@npm:^2.0.3": + version: 2.1.1 + resolution: "detective-vue2@npm:2.1.1" + dependencies: + "@dependents/detective-less": "npm:^5.0.0" + "@vue/compiler-sfc": "npm:^3.5.13" + detective-es6: "npm:^5.0.0" + detective-sass: "npm:^6.0.0" + detective-scss: "npm:^5.0.0" + detective-stylus: "npm:^5.0.0" + detective-typescript: "npm:^13.0.0" + peerDependencies: + typescript: ^5.4.4 + checksum: 10/8eca36e7ed162e79f7591e14563b89ceb0668bbb0ffcfe5ec47e339bf096eeb99ec589381141aaef87341d1aa2a29bdaa9d1b5daa20972d5ed82abdf77c8461e + languageName: node + linkType: hard + "detective@npm:^5.2.0": version: 5.2.0 resolution: "detective@npm:5.2.0" @@ -17767,6 +18028,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.16.0": + version: 5.18.0 + resolution: "enhanced-resolve@npm:5.18.0" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10/e88463ef97b68d40d0da0cd0c572e23f43dba0be622d6d44eae5cafed05f0c5dac43e463a83a86c4f70186d029357f82b56d9e1e47e8fc91dce3d6602f8bd6ce + languageName: node + linkType: hard + "entities@npm:^1.1.1": version: 1.1.2 resolution: "entities@npm:1.1.2" @@ -17781,7 +18052,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 @@ -18822,7 +19093,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.1": +"estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" checksum: 10/b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2 @@ -19798,6 +20069,27 @@ __metadata: languageName: node linkType: hard +"filing-cabinet@npm:^5.0.1": + version: 5.0.2 + resolution: "filing-cabinet@npm:5.0.2" + dependencies: + app-module-path: "npm:^2.2.0" + commander: "npm:^12.0.0" + enhanced-resolve: "npm:^5.16.0" + module-definition: "npm:^6.0.0" + module-lookup-amd: "npm:^9.0.1" + resolve: "npm:^1.22.8" + resolve-dependency-path: "npm:^4.0.0" + sass-lookup: "npm:^6.0.1" + stylus-lookup: "npm:^6.0.0" + tsconfig-paths: "npm:^4.2.0" + typescript: "npm:^5.4.4" + bin: + filing-cabinet: bin/cli.js + checksum: 10/dc6b5c3553e049c1de9e076b3b625bfc584579e801f5ec7da73cb8d7fa5941713574480190153d32a7a930b0096c25d0f62920425fb7c522f8f3e04c6037825c + languageName: node + linkType: hard + "fill-range@npm:^2.1.0": version: 2.2.4 resolution: "fill-range@npm:2.2.4" @@ -20600,6 +20892,16 @@ __metadata: languageName: node linkType: hard +"get-amd-module-type@npm:^6.0.0": + version: 6.0.0 + resolution: "get-amd-module-type@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + checksum: 10/ebac9fae785fbab313309702278d1574204d5d9ea065f06be91a45512fa268ccd235bdfe62e840d868ff9038afb917b32b535fb609f844a05d4ec680f3f91ee7 + languageName: node + linkType: hard + "get-assigned-identifiers@npm:^1.2.0": version: 1.2.0 resolution: "get-assigned-identifiers@npm:1.2.0" @@ -22805,6 +23107,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10/452b2c2fb7f889cbbf7e54609ef92cf6c24637c568acc7e63d166812a0fb365ae8a504c333a29add8bdb1686704068caa7f4e4b639b650dde4f00a038b8941fb + languageName: node + linkType: hard + "is-data-descriptor@npm:^0.1.4": version: 0.1.4 resolution: "is-data-descriptor@npm:0.1.4" @@ -26042,6 +26353,33 @@ __metadata: languageName: node linkType: hard +"madge@npm:^8.0.0": + version: 8.0.0 + resolution: "madge@npm:8.0.0" + dependencies: + chalk: "npm:^4.1.2" + commander: "npm:^7.2.0" + commondir: "npm:^1.0.1" + debug: "npm:^4.3.4" + dependency-tree: "npm:^11.0.0" + ora: "npm:^5.4.1" + pluralize: "npm:^8.0.0" + pretty-ms: "npm:^7.0.1" + rc: "npm:^1.2.8" + stream-to-array: "npm:^2.3.0" + ts-graphviz: "npm:^2.1.2" + walkdir: "npm:^0.4.1" + peerDependencies: + typescript: ^5.4.4 + peerDependenciesMeta: + typescript: + optional: true + bin: + madge: bin/cli.js + checksum: 10/9adee480224aadb1d24d36f583396053c3cea84359316b601f5bc423c67c87e81ba842425acaa6c764ccc8c00241e2e78700b16f9af546111d1106b70c336174 + languageName: node + linkType: hard + "magic-string@npm:^0.25.7": version: 0.25.7 resolution: "magic-string@npm:0.25.7" @@ -26051,6 +26389,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.11": + version: 0.30.17 + resolution: "magic-string@npm:0.30.17" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10/2f71af2b0afd78c2e9012a29b066d2c8ba45a9cd0c8070f7fd72de982fb1c403b4e3afdb1dae00691d56885ede66b772ef6bedf765e02e3a7066208fe2fec4aa + languageName: node + linkType: hard + "magic-string@npm:^0.30.5": version: 0.30.10 resolution: "magic-string@npm:0.30.10" @@ -26674,7 +27021,6 @@ __metadata: "@lavamoat/lavadome-react": "npm:0.0.17" "@lavamoat/lavapack": "npm:^7.0.5" "@lavamoat/snow": "npm:^2.0.2" - "@lgbot/madge": "npm:^6.2.0" "@lydell/node-pty": "npm:^1.0.1" "@material-ui/core": "npm:^4.11.0" "@metamask-institutional/custody-controller": "npm:^0.3.0" @@ -26963,6 +27309,7 @@ __metadata: loose-envify: "npm:^1.4.0" lottie-web: "npm:^5.12.2" luxon: "npm:^3.2.1" + madge: "npm:^8.0.0" mini-css-extract-plugin: "npm:^2.9.1" mocha: "npm:^10.2.0" mocha-junit-reporter: "npm:^2.2.1" @@ -27913,6 +28260,18 @@ __metadata: languageName: node linkType: hard +"module-definition@npm:^6.0.0": + version: 6.0.0 + resolution: "module-definition@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + bin: + module-definition: bin/cli.js + checksum: 10/525922b0c3eb5dd1bf3751fc8752061bd2ded5c7b2818eee4fdc00d2010088f9779fb35d30c347f9474f2c8037299a55c4be3874d3effab5ad1e7a0634f403a5 + languageName: node + linkType: hard + "module-deps@npm:^6.2.3": version: 6.2.3 resolution: "module-deps@npm:6.2.3" @@ -27959,6 +28318,20 @@ __metadata: languageName: node linkType: hard +"module-lookup-amd@npm:^9.0.1": + version: 9.0.2 + resolution: "module-lookup-amd@npm:9.0.2" + dependencies: + commander: "npm:^12.1.0" + glob: "npm:^7.2.3" + requirejs: "npm:^2.3.7" + requirejs-config-file: "npm:^4.0.0" + bin: + lookup-amd: bin/cli.js + checksum: 10/593d954d8cf5653ff79c5c571b10f45270b3ecba36ad30f07ca459705d23b5392d000f01378118aadbb2d0d7c6fbc2dae02fe112a3769a0ff32282a57fa5fef5 + languageName: node + linkType: hard + "moo-color@npm:^1.0.2": version: 1.0.2 resolution: "moo-color@npm:1.0.2" @@ -28431,6 +28804,15 @@ __metadata: languageName: node linkType: hard +"node-source-walk@npm:^7.0.0": + version: 7.0.0 + resolution: "node-source-walk@npm:7.0.0" + dependencies: + "@babel/parser": "npm:^7.24.4" + checksum: 10/61789f4bf382a3a225db16e1d30af48550bddbfebcf7b4784756247d2f5acb4318440c32f31efb1ef9fbf6c6d71571a355fd9e532c13a90f5703814b60f8a671 + languageName: node + linkType: hard + "nopt@npm:^7.0.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -29681,7 +30063,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -30273,6 +30655,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.40, postcss@npm:^8.4.48": + version: 8.5.1 + resolution: "postcss@npm:8.5.1" + dependencies: + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10/1fbd28753143f7f03e4604813639918182b15343c7ad0f4e72f3875fc2cc0b8494c887f55dc05008fad5fbf1e1e908ce2edbbce364a91f84dcefb71edf7cd31d + languageName: node + linkType: hard + "precinct@npm:^11.0.5": version: 11.0.5 resolution: "precinct@npm:11.0.5" @@ -30295,6 +30688,31 @@ __metadata: languageName: node linkType: hard +"precinct@npm:^12.0.2": + version: 12.1.2 + resolution: "precinct@npm:12.1.2" + dependencies: + "@dependents/detective-less": "npm:^5.0.0" + commander: "npm:^12.1.0" + detective-amd: "npm:^6.0.0" + detective-cjs: "npm:^6.0.0" + detective-es6: "npm:^5.0.0" + detective-postcss: "npm:^7.0.0" + detective-sass: "npm:^6.0.0" + detective-scss: "npm:^5.0.0" + detective-stylus: "npm:^5.0.0" + detective-typescript: "npm:^13.0.0" + detective-vue2: "npm:^2.0.3" + module-definition: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + postcss: "npm:^8.4.40" + typescript: "npm:^5.5.4" + bin: + precinct: bin/cli.js + checksum: 10/2bd14fadd8d3a4384bef426670e9844409c0b194fbeb02713570efa19d585ea5558a17faae9d4e389f21bac76c0b73ddccccdb912d59f1ca388d5e8c1db583d8 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -32401,6 +32819,16 @@ __metadata: languageName: node linkType: hard +"requirejs@npm:^2.3.7": + version: 2.3.7 + resolution: "requirejs@npm:2.3.7" + bin: + r.js: bin/r.js + r_js: bin/r.js + checksum: 10/7f42af10d8af210a2769501004b34f9dad4c39716f008f91faeef36c33b60a5f372ca1025c8f40b262f2522fd1ea0f36fd11e9587cba14311fac0df51a8571b0 + languageName: node + linkType: hard + "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -32445,6 +32873,13 @@ __metadata: languageName: node linkType: hard +"resolve-dependency-path@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-dependency-path@npm:4.0.0" + checksum: 10/b582be091605f767e2abbf1965efb782aa8ccec8a329b065351c39890ca0f278fa1bde2bd959641b6bb06dfc6bfe76515f01e7e9996dd5d9ac491ad14861b1c7 + languageName: node + linkType: hard + "resolve-dir@npm:^0.1.0": version: 0.1.1 resolution: "resolve-dir@npm:0.1.1" @@ -32547,6 +32982,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.22.8": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/0a398b44da5c05e6e421d70108822c327675febb880eebe905587628de401854c61d5df02866ff34fc4cb1173a51c9f0e84a94702738df3611a62e2acdc68181 + languageName: node + linkType: hard + "resolve@npm:^2.0.0-next.3": version: 2.0.0-next.4 resolution: "resolve@npm:2.0.0-next.4" @@ -32574,6 +33022,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/d4d878bfe3702d215ea23e75e0e9caf99468e3db76f5ca100d27ebdc527366fee3877e54bce7d47cc72ca8952fc2782a070d238bfa79a550eeb0082384c3b81a + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^2.0.0-next.3#optional!builtin": version: 2.0.0-next.4 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#optional!builtin::version=2.0.0-next.4&hash=c3c19d" @@ -33213,6 +33674,17 @@ __metadata: languageName: node linkType: hard +"sass-lookup@npm:^6.0.1": + version: 6.0.1 + resolution: "sass-lookup@npm:6.0.1" + dependencies: + commander: "npm:^12.0.0" + bin: + sass-lookup: bin/cli.js + checksum: 10/89fa7139bdd8d74859f758ac2b831e1a7049bdd421a0eff829a8b231001d65137a33591b36cbcee891b6cee2cab8c3e39b2656829734900210f0b4ffe4f08f4f + languageName: node + linkType: hard + "sass@npm:^1.29.0": version: 1.69.7 resolution: "sass@npm:1.69.7" @@ -34002,6 +34474,13 @@ __metadata: languageName: node linkType: hard +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 + languageName: node + linkType: hard + "source-map-resolve@npm:^0.5.0, source-map-resolve@npm:^0.5.2": version: 0.5.3 resolution: "source-map-resolve@npm:0.5.3" @@ -34951,6 +35430,17 @@ __metadata: languageName: node linkType: hard +"stylus-lookup@npm:^6.0.0": + version: 6.0.0 + resolution: "stylus-lookup@npm:6.0.0" + dependencies: + commander: "npm:^12.0.0" + bin: + stylus-lookup: bin/cli.js + checksum: 10/73e8a83550a3367b82f59aa7a317e6098cd20dffbf2006c16f43a2a0c647f2c546f185144448ca8900a451e51a17985253fb69335f493dcd3da165c8cc5c761c + languageName: node + linkType: hard + "subarg@npm:^1.0.0": version: 1.0.0 resolution: "subarg@npm:1.0.0" @@ -35710,10 +36200,15 @@ __metadata: languageName: node linkType: hard -"ts-graphviz@npm:^1.8.1": - version: 1.8.2 - resolution: "ts-graphviz@npm:1.8.2" - checksum: 10/969b06332ca622c148f7b404569af1b972bbe7ee9ba1226350dd0d99bc92c1c95eb6bf9e69aafce51a6c2493a1342b25a8edd6883f27bd516778d401b2a3623f +"ts-graphviz@npm:^2.1.2": + version: 2.1.6 + resolution: "ts-graphviz@npm:2.1.6" + dependencies: + "@ts-graphviz/adapter": "npm:^2.0.6" + "@ts-graphviz/ast": "npm:^2.0.7" + "@ts-graphviz/common": "npm:^2.1.5" + "@ts-graphviz/core": "npm:^2.0.7" + checksum: 10/7490978263c2365b80b687964c13ad622a05b00e307c1ce448317a551fa1ee7fc03f37cd88d606ba23a030dd3baeb5b147d06d5af087b73133ac9276a7d65449 languageName: node linkType: hard @@ -36083,6 +36578,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.4.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4": + version: 5.7.3 + resolution: "typescript@npm:5.7.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/6a7e556de91db3d34dc51cd2600e8e91f4c312acd8e52792f243c7818dfadb27bae677175fad6947f9c81efb6c57eb6b2d0c736f196a6ee2f1f7d57b74fc92fa + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^4.5.4#optional!builtin": version: 4.9.5 resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin::version=4.9.5&hash=289587" @@ -36103,6 +36608,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=cef18b" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/3ac7b7e3e899273d2fbdce6e24b93d4d53a705ad7a7e4cc83b4c57bcb6d25948abcd2a21994f6b9c73ab03960f395aae95f0458de292a66ce0134233261714c3 + languageName: node + linkType: hard + "typeson-registry@npm:^1.0.0-alpha.20": version: 1.0.0-alpha.39 resolution: "typeson-registry@npm:1.0.0-alpha.39" From 89c7d81c99740e4f9cd4ef69d4958778be393eec Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 14:41:36 -0500 Subject: [PATCH 13/22] fix madge imports --- development/circular-deps.ts | 2 +- .../ts-migration-dashboard/common/build-module-partitions.ts | 2 +- .../scripts/write-list-of-files-to-convert.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/development/circular-deps.ts b/development/circular-deps.ts index c0aaaa3f237c..24aca184e3cd 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -1,7 +1,7 @@ #!/usr/bin/env tsx import fs from 'fs'; -import madge from '@lgbot/madge'; +import madge from 'madge'; import fg from 'fast-glob'; const TARGET_FILE = 'development/circular-deps.jsonc'; diff --git a/development/ts-migration-dashboard/common/build-module-partitions.ts b/development/ts-migration-dashboard/common/build-module-partitions.ts index 14fa31900eed..aa58568b3d58 100644 --- a/development/ts-migration-dashboard/common/build-module-partitions.ts +++ b/development/ts-migration-dashboard/common/build-module-partitions.ts @@ -1,7 +1,7 @@ import fs from 'fs'; import path from 'path'; import fg from 'fast-glob'; -import madge from '@lgbot/madge'; +import madge from 'madge'; import { ROOT_DIRECTORY_PATH, ENTRYPOINT_PATTERNS, diff --git a/development/ts-migration-dashboard/scripts/write-list-of-files-to-convert.ts b/development/ts-migration-dashboard/scripts/write-list-of-files-to-convert.ts index 4fd95a8366e3..ead0cb218716 100644 --- a/development/ts-migration-dashboard/scripts/write-list-of-files-to-convert.ts +++ b/development/ts-migration-dashboard/scripts/write-list-of-files-to-convert.ts @@ -1,7 +1,7 @@ import path from 'path'; import fs from 'fs'; import fg from 'fast-glob'; -import madge from '@lgbot/madge'; +import madge from 'madge'; import { ROOT_DIRECTORY_PATH, ENTRYPOINT_PATTERNS, From 9d4d7796c47446d7bf817b0ad6678be0bdc8820a Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 14:42:51 -0500 Subject: [PATCH 14/22] yarn add -D @types/madge --- package.json | 1 + yarn.lock | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/package.json b/package.json index 915f46399ab7..983a3f72b377 100644 --- a/package.json +++ b/package.json @@ -524,6 +524,7 @@ "@types/he": "^1", "@types/jest": "^29.5.12", "@types/luxon": "^3.4.2", + "@types/madge": "^5.0.3", "@types/mocha": "^10.0.3", "@types/node": "^20", "@types/path-browserify": "^1.0.2", diff --git a/yarn.lock b/yarn.lock index 8f1d18c3e14b..8c685f717f59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10904,6 +10904,15 @@ __metadata: languageName: node linkType: hard +"@types/madge@npm:^5.0.3": + version: 5.0.3 + resolution: "@types/madge@npm:5.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10/6f09cd5cc9a4074067d50b387899f967e3f84dbe890d69b007f31c4518df2ffca40823e76ab3d9d6438d32f8304a4d5103182b0159ebfb5bc895541d1215672b + languageName: node + linkType: hard + "@types/mdast@npm:^3.0.0": version: 3.0.10 resolution: "@types/mdast@npm:3.0.10" @@ -27171,6 +27180,7 @@ __metadata: "@types/he": "npm:^1" "@types/jest": "npm:^29.5.12" "@types/luxon": "npm:^3.4.2" + "@types/madge": "npm:^5.0.3" "@types/mocha": "npm:^10.0.3" "@types/node": "npm:^20" "@types/path-browserify": "npm:^1.0.2" From f44e2902b75a00cde59d26aab464a58308de0b92 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Tue, 28 Jan 2025 16:00:00 -0500 Subject: [PATCH 15/22] yarn dedupe --- yarn.lock | 303 +++++++----------------------------------------------- 1 file changed, 37 insertions(+), 266 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8c685f717f59..8358ff4e965a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -462,7 +462,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:7.26.2, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.0, @babel/parser@npm:^7.13.9, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.25.9": +"@babel/parser@npm:7.26.2": version: 7.26.2 resolution: "@babel/parser@npm:7.26.2" dependencies: @@ -473,7 +473,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9": version: 7.26.7 resolution: "@babel/parser@npm:7.26.7" dependencies: @@ -1647,17 +1647,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.0, @babel/types@npm:^7.13.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.26.3 - resolution: "@babel/types@npm:7.26.3" - dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10/c31d0549630a89abfa11410bf82a318b0c87aa846fbf5f9905e47ba5e2aa44f41cc746442f105d622c519e4dc532d35a8d8080460ff4692f9fc7485fbf3a00eb - languageName: node - linkType: hard - -"@babel/types@npm:^7.26.7": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.26.7 resolution: "@babel/types@npm:7.26.7" dependencies: @@ -4039,14 +4029,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.5.0": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": version: 1.5.0 resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd @@ -10557,13 +10540,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^0.0.48": - version: 0.0.48 - resolution: "@types/estree@npm:0.0.48" - checksum: 10/f9869dedb1c074c5e7dbbd8c4a1b38eca178e615be839687a4cc66eea058b953b20277d4345f9f4bc1f5cf8a4b75002ce3c57e8f7066d5f44a1f23fdf7959ada - languageName: node - linkType: hard - "@types/estree@npm:^0.0.51": version: 0.0.51 resolution: "@types/estree@npm:0.0.51" @@ -11839,19 +11815,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.1.4": - version: 3.1.4 - resolution: "@vue/compiler-core@npm:3.1.4" - dependencies: - "@babel/parser": "npm:^7.12.0" - "@babel/types": "npm:^7.12.0" - "@vue/shared": "npm:3.1.4" - estree-walker: "npm:^2.0.1" - source-map: "npm:^0.6.1" - checksum: 10/a27a1caf408c6a57b3f389ef1b351d96392e73d57588f67632cbf9d0779c408216ee8f7e3b7363188c95d68bb034621a01e6f31b91fc2e8b34980ab2dfcf8e8e - languageName: node - linkType: hard - "@vue/compiler-core@npm:3.5.13": version: 3.5.13 resolution: "@vue/compiler-core@npm:3.5.13" @@ -11865,16 +11828,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:3.1.4": - version: 3.1.4 - resolution: "@vue/compiler-dom@npm:3.1.4" - dependencies: - "@vue/compiler-core": "npm:3.1.4" - "@vue/shared": "npm:3.1.4" - checksum: 10/8d9a493bea641045e42ffd4bc6171822b992291c76e80b537ed301d03c4891f8fb6a8b8bd63d1021a50b74f7d0b84f5d40c23e1b2cd175874aa68987ec474a2f - languageName: node - linkType: hard - "@vue/compiler-dom@npm:3.5.13": version: 3.5.13 resolution: "@vue/compiler-dom@npm:3.5.13" @@ -11885,34 +11838,7 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-sfc@npm:^3.0.5": - version: 3.1.4 - resolution: "@vue/compiler-sfc@npm:3.1.4" - dependencies: - "@babel/parser": "npm:^7.13.9" - "@babel/types": "npm:^7.13.0" - "@types/estree": "npm:^0.0.48" - "@vue/compiler-core": "npm:3.1.4" - "@vue/compiler-dom": "npm:3.1.4" - "@vue/compiler-ssr": "npm:3.1.4" - "@vue/shared": "npm:3.1.4" - consolidate: "npm:^0.16.0" - estree-walker: "npm:^2.0.1" - hash-sum: "npm:^2.0.0" - lru-cache: "npm:^5.1.1" - magic-string: "npm:^0.25.7" - merge-source-map: "npm:^1.1.0" - postcss: "npm:^8.1.10" - postcss-modules: "npm:^4.0.0" - postcss-selector-parser: "npm:^6.0.4" - source-map: "npm:^0.6.1" - peerDependencies: - vue: 3.1.4 - checksum: 10/fd23effde5668b78a50acc7607efb7ddf00603c1cc927a416a69119cde8c0986acff6c143419e41f22a80abe812418503c3b04cebee8880f7dee17f5dba5fd0f - languageName: node - linkType: hard - -"@vue/compiler-sfc@npm:^3.5.13": +"@vue/compiler-sfc@npm:^3.0.5, @vue/compiler-sfc@npm:^3.5.13": version: 3.5.13 resolution: "@vue/compiler-sfc@npm:3.5.13" dependencies: @@ -11929,16 +11855,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.1.4": - version: 3.1.4 - resolution: "@vue/compiler-ssr@npm:3.1.4" - dependencies: - "@vue/compiler-dom": "npm:3.1.4" - "@vue/shared": "npm:3.1.4" - checksum: 10/2a21c9049daf84fb6586ed8a5557cfa65a34018643fccce46ae68346c786fe48fe31e19968db3aa736968f5a9a0847f404406f501b49208545918e1707dcfe62 - languageName: node - linkType: hard - "@vue/compiler-ssr@npm:3.5.13": version: 3.5.13 resolution: "@vue/compiler-ssr@npm:3.5.13" @@ -11949,13 +11865,6 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.1.4": - version: 3.1.4 - resolution: "@vue/shared@npm:3.1.4" - checksum: 10/d2dd7f127e7f5fec3f2fb82d8465fbb7c6c2904ae96b36214112fa2f27118ce690b6f10618f7245cb2ff2783e65ae82f2c51be4591d1409668f0388dbc9a91be - languageName: node - linkType: hard - "@vue/shared@npm:3.5.13": version: 3.5.13 resolution: "@vue/shared@npm:3.5.13" @@ -14044,13 +13953,6 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10/007c7bad22c5d799c8dd49c85b47d012a1fe3045be57447721e6afbd1d5be43237af1db62e26cb9b0d9ba812d2e4ca3bac82f6d7e016b6b88de06ee25ceb96e7 - languageName: node - linkType: hard - "bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" @@ -15888,15 +15790,6 @@ __metadata: languageName: node linkType: hard -"consolidate@npm:^0.16.0": - version: 0.16.0 - resolution: "consolidate@npm:0.16.0" - dependencies: - bluebird: "npm:^3.7.2" - checksum: 10/74b9bc2f1c8a6898e062a569e873ad3800490cf0e83f951933895e0a68ebd144de073b15898ba84bf61bffe88eb389998cd3a53b69096c15cc72303f725e1753 - languageName: node - linkType: hard - "constants-browserify@npm:^1.0.0, constants-browserify@npm:~1.0.0": version: 1.0.0 resolution: "constants-browserify@npm:1.0.0" @@ -18027,17 +17920,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:>=5.7.0, enhanced-resolve@npm:^5.14.1, enhanced-resolve@npm:^5.17.1": - version: 5.17.1 - resolution: "enhanced-resolve@npm:5.17.1" - dependencies: - graceful-fs: "npm:^4.2.4" - tapable: "npm:^2.2.0" - checksum: 10/e8e03cb7a4bf3c0250a89afbd29e5ec20e90ba5fcd026066232a0754864d7d0a393fa6fc0e5379314a6529165a1834b36731147080714459d98924520410d8f5 - languageName: node - linkType: hard - -"enhanced-resolve@npm:^5.16.0": +"enhanced-resolve@npm:>=5.7.0, enhanced-resolve@npm:^5.14.1, enhanced-resolve@npm:^5.16.0, enhanced-resolve@npm:^5.17.1": version: 5.18.0 resolution: "enhanced-resolve@npm:5.18.0" dependencies: @@ -19102,7 +18985,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": +"estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" checksum: 10/b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2 @@ -20875,15 +20758,6 @@ __metadata: languageName: node linkType: hard -"generic-names@npm:^2.0.1": - version: 2.0.1 - resolution: "generic-names@npm:2.0.1" - dependencies: - loader-utils: "npm:^1.1.0" - checksum: 10/6c6e95f7765c9490f3ab677494715c7a9227cff42d51f44e3d9af35f58dcf2297e79532f3b378b5885786e366bf7a3e73b19aa3693c9dd4608129f951b4d2f19 - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -22009,13 +21883,6 @@ __metadata: languageName: node linkType: hard -"hash-sum@npm:^2.0.0": - version: 2.0.0 - resolution: "hash-sum@npm:2.0.0" - checksum: 10/efeeacf09ecbd467202865403c3a1991fa15d4f4903c1148ecbe13223fdbf9ec6d7dc661e17e5ce6e776cd70d67b6ee4c82e0171318962435be45c1155175f3f - languageName: node - linkType: hard - "hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": version: 1.1.7 resolution: "hash.js@npm:1.1.7" @@ -22630,13 +22497,6 @@ __metadata: languageName: node linkType: hard -"icss-replace-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "icss-replace-symbols@npm:1.1.0" - checksum: 10/24575b2c2f7e762bfc6f4beee31be9ba98a01cad521b5aa9954090a5de2b5e1bf67814c17e22f9e51b7d798238db8215a173d6c2b4726ce634ce06b68ece8045 - languageName: node - linkType: hard - "icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": version: 5.1.0 resolution: "icss-utils@npm:5.1.0" @@ -23107,16 +22967,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0, is-core-module@npm:^2.4.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10/d53bd0cc24b0a0351fb4b206ee3908f71b9bbf1c47e9c9e14e5f06d292af1663704d2abd7e67700d6487b2b7864e0d0f6f10a1edf1892864bdffcb197d1845a2 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.4.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -26389,16 +26240,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.7": - version: 0.25.7 - resolution: "magic-string@npm:0.25.7" - dependencies: - sourcemap-codec: "npm:^1.4.4" - checksum: 10/252982e4a1b2b9b47bdf6fc7018b53f96908a34a1ee791a290a938795e9ef8bb11b8af336fdf053c82971cf91c5d8fab9d74c6370acba2635839c84b5269511e - languageName: node - linkType: hard - -"magic-string@npm:^0.30.11": +"magic-string@npm:^0.30.11, magic-string@npm:^0.30.5": version: 0.30.17 resolution: "magic-string@npm:0.30.17" dependencies: @@ -26407,15 +26249,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.5": - version: 0.30.10 - resolution: "magic-string@npm:0.30.10" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10/9f8bf6363a14c98a9d9f32ef833b194702a5c98fb931b05ac511b76f0b06fd30ed92beda6ca3261d2d52d21e39e891ef1136fbd032023f6cbb02d0b7d5767201 - languageName: node - linkType: hard - "make-dir@npm:^1.0.0": version: 1.3.0 resolution: "make-dir@npm:1.3.0" @@ -26957,15 +26790,6 @@ __metadata: languageName: node linkType: hard -"merge-source-map@npm:^1.1.0": - version: 1.1.0 - resolution: "merge-source-map@npm:1.1.0" - dependencies: - source-map: "npm:^0.6.1" - checksum: 10/945a83dcc59eff77dde709be1d3d6cb575c11cd7164a7ccdc1c6f0d463aad7c12750a510bdf84af2c05fac4615c4305d97ac90477975348bb901a905c8e92c4b - languageName: node - linkType: hard - "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -28510,7 +28334,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.1.31, nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": +"nanoid@npm:^3.1.31, nanoid@npm:^3.3.8": version: 3.3.8 resolution: "nanoid@npm:3.3.8" bin: @@ -30471,7 +30295,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.4": +"postcss-modules-local-by-default@npm:^4.0.4": version: 4.0.4 resolution: "postcss-modules-local-by-default@npm:4.0.4" dependencies: @@ -30484,7 +30308,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-scope@npm:^3.0.0, postcss-modules-scope@npm:^3.1.1": +"postcss-modules-scope@npm:^3.1.1": version: 3.1.1 resolution: "postcss-modules-scope@npm:3.1.1" dependencies: @@ -30506,24 +30330,6 @@ __metadata: languageName: node linkType: hard -"postcss-modules@npm:^4.0.0": - version: 4.1.3 - resolution: "postcss-modules@npm:4.1.3" - dependencies: - generic-names: "npm:^2.0.1" - icss-replace-symbols: "npm:^1.1.0" - lodash.camelcase: "npm:^4.3.0" - postcss-modules-extract-imports: "npm:^3.0.0" - postcss-modules-local-by-default: "npm:^4.0.0" - postcss-modules-scope: "npm:^3.0.0" - postcss-modules-values: "npm:^4.0.0" - string-hash: "npm:^1.1.1" - peerDependencies: - postcss: ^8.0.0 - checksum: 10/b2777f37e5257147862cc8b3a0af57f1a43bf5213dddf1aeffccb180f7d7e0448809e50d55e717dd1370de98dffe1acc180c70d0a0e991566b835bc5249434ec - languageName: node - linkType: hard - "postcss-reporter@npm:^6.0.1": version: 6.0.1 resolution: "postcss-reporter@npm:6.0.1" @@ -30654,18 +30460,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.1.10, postcss@npm:^8.3.0, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.32, postcss@npm:^8.4.33": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.2.0" - checksum: 10/6e44a7ed835ffa9a2b096e8d3e5dfc6bcf331a25c48aeb862dd54e3aaecadf814fa22be224fd308f87d08adf2299164f88c5fd5ab1c4ef6cbd693ceb295377f4 - languageName: node - linkType: hard - -"postcss@npm:^8.4.40, postcss@npm:^8.4.48": +"postcss@npm:^8.3.0, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.40, postcss@npm:^8.4.48": version: 8.5.1 resolution: "postcss@npm:8.5.1" dependencies: @@ -32819,17 +32614,7 @@ __metadata: languageName: node linkType: hard -"requirejs@npm:^2.3.6": - version: 2.3.6 - resolution: "requirejs@npm:2.3.6" - bin: - r.js: ./bin/r.js - r_js: ./bin/r.js - checksum: 10/808540b0a2374cf19bf00d13036a90f94aac92984a9be0f1fa642266d0ee467db0b1aa9d85d567e0da71b54294f5feb92e13ac62bae7f85a0b3ac3ab393b05d4 - languageName: node - linkType: hard - -"requirejs@npm:^2.3.7": +"requirejs@npm:^2.3.6, requirejs@npm:^2.3.7": version: 2.3.7 resolution: "requirejs@npm:2.3.7" bin: @@ -32979,7 +32764,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.3, resolve@npm:^1.4.0": +"resolve@npm:1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -32992,7 +32777,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.22.8": +"resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.3, resolve@npm:^1.22.8, resolve@npm:^1.4.0": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -33018,8 +32803,7 @@ __metadata: languageName: node linkType: hard -? "resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" -: +"resolve@patch:resolve@npm%3A1.22.8#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -33032,7 +32816,8 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": +? "resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" +: version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -34477,14 +34262,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 10/74f331cfd2d121c50790c8dd6d3c9de6be21926de80583b23b37029b0f37aefc3e019fa91f9a10a5e120c08135297e1ecf312d561459c45908cb1e0e365f49e5 - languageName: node - linkType: hard - -"source-map-js@npm:^1.2.1": +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 @@ -34571,13 +34349,6 @@ __metadata: languageName: node linkType: hard -"sourcemap-codec@npm:^1.4.4": - version: 1.4.8 - resolution: "sourcemap-codec@npm:1.4.8" - checksum: 10/6fc57a151e982b5c9468362690c6d062f3a0d4d8520beb68a82f319c79e7a4d7027eeb1e396de0ecc2cd19491e1d602b2d06fd444feac9b63dd43fea4c55a857 - languageName: node - linkType: hard - "space-separated-tokens@npm:^1.0.0, space-separated-tokens@npm:^1.1.0": version: 1.1.5 resolution: "space-separated-tokens@npm:1.1.5" @@ -34909,7 +34680,7 @@ __metadata: languageName: node linkType: hard -"string-hash@npm:^1.1.1, string-hash@npm:^1.1.3": +"string-hash@npm:^1.1.3": version: 1.1.3 resolution: "string-hash@npm:1.1.3" checksum: 10/104b8667a5e0dc71bfcd29fee09cb88c6102e27bfb07c55f95535d90587d016731d52299380052e514266f4028a7a5172e0d9ac58e2f8f5001be61dc77c0754d @@ -36578,23 +36349,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.0.4, typescript@npm:~5.4.5": - version: 5.4.5 - resolution: "typescript@npm:5.4.5" +"typescript@npm:^5.0.4, typescript@npm:^5.4.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4": + version: 5.7.3 + resolution: "typescript@npm:5.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/d04a9e27e6d83861f2126665aa8d84847e8ebabcea9125b9ebc30370b98cb38b5dff2508d74e2326a744938191a83a69aa9fddab41f193ffa43eabfdf3f190a5 + checksum: 10/6a7e556de91db3d34dc51cd2600e8e91f4c312acd8e52792f243c7818dfadb27bae677175fad6947f9c81efb6c57eb6b2d0c736f196a6ee2f1f7d57b74fc92fa languageName: node linkType: hard -"typescript@npm:^5.4.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4": - version: 5.7.3 - resolution: "typescript@npm:5.7.3" +"typescript@npm:~5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/6a7e556de91db3d34dc51cd2600e8e91f4c312acd8e52792f243c7818dfadb27bae677175fad6947f9c81efb6c57eb6b2d0c736f196a6ee2f1f7d57b74fc92fa + checksum: 10/d04a9e27e6d83861f2126665aa8d84847e8ebabcea9125b9ebc30370b98cb38b5dff2508d74e2326a744938191a83a69aa9fddab41f193ffa43eabfdf3f190a5 languageName: node linkType: hard @@ -36608,23 +36379,23 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.0.4#optional!builtin, typescript@patch:typescript@npm%3A~5.4.5#optional!builtin": - version: 5.4.5 - resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" +"typescript@patch:typescript@npm%3A^5.0.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=cef18b" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/760f7d92fb383dbf7dee2443bf902f4365db2117f96f875cf809167f6103d55064de973db9f78fe8f31ec08fff52b2c969aee0d310939c0a3798ec75d0bca2e1 + checksum: 10/3ac7b7e3e899273d2fbdce6e24b93d4d53a705ad7a7e4cc83b4c57bcb6d25948abcd2a21994f6b9c73ab03960f395aae95f0458de292a66ce0134233261714c3 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.7.3 - resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=cef18b" +"typescript@patch:typescript@npm%3A~5.4.5#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/3ac7b7e3e899273d2fbdce6e24b93d4d53a705ad7a7e4cc83b4c57bcb6d25948abcd2a21994f6b9c73ab03960f395aae95f0458de292a66ce0134233261714c3 + checksum: 10/760f7d92fb383dbf7dee2443bf902f4365db2117f96f875cf809167f6103d55064de973db9f78fe8f31ec08fff52b2c969aee0d310939c0a3798ec75d0bca2e1 languageName: node linkType: hard From 0697a9b4809cfc980dccc036ccc39d676d5fde7e Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Tue, 28 Jan 2025 21:12:46 +0000 Subject: [PATCH 16/22] Update LavaMoat policies --- lavamoat/build-system/policy.json | 64 +++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index 545922814d1f..64d5643791ab 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -975,7 +975,7 @@ "node:path.relative": true }, "packages": { - "depcheck>resolve": true + "lavamoat>@lavamoat/aa>resolve": true } }, "@lavamoat/lavapack": { @@ -2654,7 +2654,7 @@ "nyc>glob": true, "del>is-glob": true, "depcheck>resolve": true, - "eslint-plugin-import>tsconfig-paths": true + "eslint-import-resolver-typescript>tsconfig-paths": true } }, "eslint-plugin-import>eslint-module-utils": { @@ -4106,7 +4106,7 @@ "gulp>gulp-cli>replace-homedir>is-absolute>is-relative>is-unc-path>unc-path-regex": true } }, - "mocha>log-symbols>is-unicode-supported": { + "madge>ora>is-unicode-supported": { "globals": { "process.env.CI": true, "process.env.TERM": true, @@ -4178,6 +4178,11 @@ "console.warn": true } }, + "eslint-import-resolver-typescript>tsconfig-paths>json5": { + "globals": { + "console.warn": true + } + }, "eslint-plugin-import>tsconfig-paths>json5": { "globals": { "console.warn": true @@ -4348,7 +4353,7 @@ "console.log": true }, "packages": { - "@babel/core>@babel/parser": true, + "lavamoat>lavamoat-tofu>@babel/parser": true, "depcheck>@babel/traverse": true } }, @@ -4444,7 +4449,7 @@ "mocha>log-symbols": { "packages": { "chalk": true, - "mocha>log-symbols>is-unicode-supported": true + "madge>ora>is-unicode-supported": true } }, "loose-envify": { @@ -7222,6 +7227,36 @@ "gulp>vinyl-fs>value-or-function": true } }, + "lavamoat>@lavamoat/aa>resolve": { + "builtin": { + "fs.readFileSync": true, + "fs.realpathSync": true, + "fs.statSync": true, + "os.homedir": true, + "path.dirname": true, + "path.join": true, + "path.parse": true, + "path.relative": true, + "path.resolve": true + }, + "globals": { + "process.env.HOME": true, + "process.env.HOMEDRIVE": true, + "process.env.HOMEPATH": true, + "process.env.LNAME": true, + "process.env.LOGNAME": true, + "process.env.USER": true, + "process.env.USERNAME": true, + "process.env.USERPROFILE": true, + "process.getuid": true, + "process.platform": true, + "process.versions.pnp": true + }, + "packages": { + "depcheck>is-core-module": true, + "depcheck>resolve>path-parse": true + } + }, "depcheck>resolve": { "builtin": { "fs.readFile": true, @@ -8642,7 +8677,7 @@ "ts-node>yn": true } }, - "eslint-plugin-import>tsconfig-paths": { + "eslint-import-resolver-typescript>tsconfig-paths": { "builtin": { "fs.existsSync": true, "fs.lstatSync": true, @@ -8664,8 +8699,23 @@ "process.env": true }, "packages": { - "eslint-plugin-import>tsconfig-paths>json5": true, + "eslint-import-resolver-typescript>tsconfig-paths>json5": true, "wait-on>minimist": true, + "eslint-import-resolver-typescript>tsconfig-paths>strip-bom": true + } + }, + "eslint-plugin-import>tsconfig-paths": { + "builtin": { + "fs.existsSync": true, + "fs.lstatSync": true, + "fs.readFileSync": true, + "fs.statSync": true, + "path.dirname": true, + "path.join": true, + "path.resolve": true + }, + "packages": { + "eslint-plugin-import>tsconfig-paths>json5": true, "eslint-plugin-import>tsconfig-paths>strip-bom": true } }, From acd822ad5bb2cc878861618ea53641a00ca1bf20 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Wed, 29 Jan 2025 14:03:47 -0500 Subject: [PATCH 17/22] addressing PR comments --- .github/workflows/main.yml | 4 ++++ development/circular-deps.ts | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3b31cb2c9266..1881277717d7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,6 +26,10 @@ jobs: name: Test lint uses: ./.github/workflows/test-lint.yml + test-circular-deps: + name: Test circular deps + uses: ./.github/workflows/test-circular-deps.yml + test-lint-changelog: name: Test lint changelog uses: ./.github/workflows/test-lint-changelog.yml diff --git a/development/circular-deps.ts b/development/circular-deps.ts index 24aca184e3cd..77848d66ab50 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -51,7 +51,7 @@ const ENTRYPOINT_PATTERNS = [ 'ui/**/*', // UI components and styles ]; -// Converts a glob pattern to a RegExp patter +// Converts a glob pattern to a RegExp pattern function globToRegExp(pattern: string): RegExp { return new RegExp( pattern From 92203916735ee9dcc4c5e7640bae3c4dac26ff6c Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Wed, 29 Jan 2025 14:06:10 -0500 Subject: [PATCH 18/22] rebuilt yarn.lock --- yarn.lock | 257 ++---------------------------------------------------- 1 file changed, 9 insertions(+), 248 deletions(-) diff --git a/yarn.lock b/yarn.lock index e20d18c284d8..da298e88d8c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -473,7 +473,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9": version: 7.26.7 resolution: "@babel/parser@npm:7.26.7" dependencies: @@ -1745,16 +1745,6 @@ __metadata: languageName: node linkType: hard -"@dependents/detective-less@npm:^4.1.0": - version: 4.1.0 - resolution: "@dependents/detective-less@npm:4.1.0" - dependencies: - gonzales-pe: "npm:^4.3.0" - node-source-walk: "npm:^6.0.1" - checksum: 10/5188bc4f0314ea2c7d6390c938904e91ba8aea15c7eb62f633e916db4d90af9e0cf27b6ab30e4b5bf60af9401433825d8d256076ef7ad258c9edb860f37fdb43 - languageName: node - linkType: hard - "@dependents/detective-less@npm:^5.0.0": version: 5.0.0 resolution: "@dependents/detective-less@npm:5.0.0" @@ -11656,7 +11646,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0, @typescript-eslint/typescript-estree@npm:^5.59.5": +"@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" dependencies: @@ -13154,13 +13144,6 @@ __metadata: languageName: node linkType: hard -"ast-module-types@npm:^5.0.0": - version: 5.0.0 - resolution: "ast-module-types@npm:5.0.0" - checksum: 10/188a0c331929962c7ea0d9174b31393d31b0f9d5cc3bb3ad1dcb6f94c611eddfff10194104f247f1cba03f0bb9a2b5c757e619f5a5940333f60b8a12a7db244d - languageName: node - linkType: hard - "ast-module-types@npm:^6.0.0": version: 6.0.0 resolution: "ast-module-types@npm:6.0.0" @@ -16957,20 +16940,6 @@ __metadata: languageName: node linkType: hard -"dependency-tree@npm:^10.0.9": - version: 10.0.9 - resolution: "dependency-tree@npm:10.0.9" - dependencies: - commander: "npm:^10.0.1" - filing-cabinet: "npm:^4.1.6" - precinct: "npm:^11.0.5" - typescript: "npm:^5.0.4" - bin: - dependency-tree: bin/cli.js - checksum: 10/ddfd641f4ff82fe33d0d9578fd71ea9d044b9416191f93e484e7a2b2ed195e02f8dfe7cbb4f00fb25ba37aeca46158fc29782d22bd3a5ef3582c01d15d6705c8 - languageName: node - linkType: hard - "dependency-tree@npm:^11.0.0": version: 11.0.1 resolution: "dependency-tree@npm:11.0.1" @@ -17117,20 +17086,6 @@ __metadata: languageName: node linkType: hard -"detective-amd@npm:^5.0.2": - version: 5.0.2 - resolution: "detective-amd@npm:5.0.2" - dependencies: - ast-module-types: "npm:^5.0.0" - escodegen: "npm:^2.0.0" - get-amd-module-type: "npm:^5.0.1" - node-source-walk: "npm:^6.0.1" - bin: - detective-amd: bin/cli.js - checksum: 10/6117eec09b4908abe74a3c3bc1f037334092e2a9388231c5f1b672a22c48f6e17ade9ecaf8c0cbbef6fcde52da178b0693e9810ef3c824c11c5c64c6c5865ca1 - languageName: node - linkType: hard - "detective-amd@npm:^6.0.0": version: 6.0.0 resolution: "detective-amd@npm:6.0.0" @@ -17145,16 +17100,6 @@ __metadata: languageName: node linkType: hard -"detective-cjs@npm:^5.0.1": - version: 5.0.1 - resolution: "detective-cjs@npm:5.0.1" - dependencies: - ast-module-types: "npm:^5.0.0" - node-source-walk: "npm:^6.0.0" - checksum: 10/c51c27ab10e4c441b26d13e44569c4cd1015268b10537fdfca698996c569ce98e9d69ce635a9680789c9e4fbc6d60c77a752ae64d7532e92678c19fb19ff313b - languageName: node - linkType: hard - "detective-cjs@npm:^6.0.0": version: 6.0.0 resolution: "detective-cjs@npm:6.0.0" @@ -17165,15 +17110,6 @@ __metadata: languageName: node linkType: hard -"detective-es6@npm:^4.0.1": - version: 4.0.1 - resolution: "detective-es6@npm:4.0.1" - dependencies: - node-source-walk: "npm:^6.0.1" - checksum: 10/f9fbcae9399fad5d1c4120d22db97fdab6fc8d9ec8011cec2214b23970b3524d5a8ec30943009543cda99cb6dec2e8b78549b6dd918d7c2bff8f13c0565345c8 - languageName: node - linkType: hard - "detective-es6@npm:^5.0.0": version: 5.0.0 resolution: "detective-es6@npm:5.0.0" @@ -17183,17 +17119,6 @@ __metadata: languageName: node linkType: hard -"detective-postcss@npm:^6.1.3": - version: 6.1.3 - resolution: "detective-postcss@npm:6.1.3" - dependencies: - is-url: "npm:^1.2.4" - postcss: "npm:^8.4.23" - postcss-values-parser: "npm:^6.0.2" - checksum: 10/ee6e07fed20ac93a6ba84736b9c586a942a4a6b2df173f963f95ea753380c99e4a606da22b8d9e8407c50e356f3d893a127eb68cf84c97233a209e9fbbadb026 - languageName: node - linkType: hard - "detective-postcss@npm:^7.0.0": version: 7.0.0 resolution: "detective-postcss@npm:7.0.0" @@ -17206,16 +17131,6 @@ __metadata: languageName: node linkType: hard -"detective-sass@npm:^5.0.3": - version: 5.0.3 - resolution: "detective-sass@npm:5.0.3" - dependencies: - gonzales-pe: "npm:^4.3.0" - node-source-walk: "npm:^6.0.1" - checksum: 10/5b09526931c6d87b8159fd9f10518b546ac2cbbc3cec91db194e67553a64c312bcf53de6950f34236ba7747a4f7855885b662c0e2df42aff7deb9d8aed0ce5e3 - languageName: node - linkType: hard - "detective-sass@npm:^6.0.0": version: 6.0.0 resolution: "detective-sass@npm:6.0.0" @@ -17226,16 +17141,6 @@ __metadata: languageName: node linkType: hard -"detective-scss@npm:^4.0.3": - version: 4.0.3 - resolution: "detective-scss@npm:4.0.3" - dependencies: - gonzales-pe: "npm:^4.3.0" - node-source-walk: "npm:^6.0.1" - checksum: 10/afeda1e45468d23499349bedaece546b63f9269b51faf05b00f8d9a8a092f6961a6f2f366cc7664b8a1e4291454085b57cfa94fc7e1a1eaf16ef63c06782cfa9 - languageName: node - linkType: hard - "detective-scss@npm:^5.0.0": version: 5.0.0 resolution: "detective-scss@npm:5.0.0" @@ -17246,13 +17151,6 @@ __metadata: languageName: node linkType: hard -"detective-stylus@npm:^4.0.0": - version: 4.0.0 - resolution: "detective-stylus@npm:4.0.0" - checksum: 10/50a765f95e95c8204a86122f015dc9b3d32eb1c38d25cba9a71bbcb0441d398185679baa0d15d8cf43ff1c37e071c98b18599adc7ffe6147cc3c7f7f874cf6a3 - languageName: node - linkType: hard - "detective-stylus@npm:^5.0.0": version: 5.0.0 resolution: "detective-stylus@npm:5.0.0" @@ -17260,18 +17158,6 @@ __metadata: languageName: node linkType: hard -"detective-typescript@npm:^11.1.0": - version: 11.1.0 - resolution: "detective-typescript@npm:11.1.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:^5.59.5" - ast-module-types: "npm:^5.0.0" - node-source-walk: "npm:^6.0.1" - typescript: "npm:^5.0.4" - checksum: 10/b9f481b05a85ee71e5c4f0f1eb6892264d12faf287097f730be161fe1a1bc3a21d97f49e7001580084e32e6c59e6339d28d0c66ce2b4db924651f87c09fa253a - languageName: node - linkType: hard - "detective-typescript@npm:^13.0.0": version: 13.0.0 resolution: "detective-typescript@npm:13.0.0" @@ -17899,7 +17785,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:>=5.7.0, enhanced-resolve@npm:^5.14.1, enhanced-resolve@npm:^5.16.0, enhanced-resolve@npm:^5.17.1": +"enhanced-resolve@npm:>=5.7.0, enhanced-resolve@npm:^5.16.0, enhanced-resolve@npm:^5.17.1": version: 5.18.0 resolution: "enhanced-resolve@npm:5.18.0" dependencies: @@ -19925,28 +19811,6 @@ __metadata: languageName: node linkType: hard -"filing-cabinet@npm:^4.1.6": - version: 4.1.6 - resolution: "filing-cabinet@npm:4.1.6" - dependencies: - app-module-path: "npm:^2.2.0" - commander: "npm:^10.0.1" - enhanced-resolve: "npm:^5.14.1" - is-relative-path: "npm:^1.0.2" - module-definition: "npm:^5.0.1" - module-lookup-amd: "npm:^8.0.5" - resolve: "npm:^1.22.3" - resolve-dependency-path: "npm:^3.0.2" - sass-lookup: "npm:^5.0.1" - stylus-lookup: "npm:^5.0.1" - tsconfig-paths: "npm:^4.2.0" - typescript: "npm:^5.0.4" - bin: - filing-cabinet: bin/cli.js - checksum: 10/2a02fa6938eb4ecf7446a19f99befc4b8833eb6f82c9a26e0c7b5e80ff44cbc6a060fc551d41a6b703d2a4949d1fb0d1c84d77e6b586b02408589a855977ef50 - languageName: node - linkType: hard - "filing-cabinet@npm:^5.0.1": version: 5.0.2 resolution: "filing-cabinet@npm:5.0.2" @@ -20751,16 +20615,6 @@ __metadata: languageName: node linkType: hard -"get-amd-module-type@npm:^5.0.1": - version: 5.0.1 - resolution: "get-amd-module-type@npm:5.0.1" - dependencies: - ast-module-types: "npm:^5.0.0" - node-source-walk: "npm:^6.0.1" - checksum: 10/77b6a59b90c54fd2d8adb1555e3939462d7b97c617e74271bbcb8f9741ca6681e831216e9e45f4ab1ab1b249394b89d5c8d9e4afa1497c68d02698775cd2225e - languageName: node - linkType: hard - "get-amd-module-type@npm:^6.0.0": version: 6.0.0 resolution: "get-amd-module-type@npm:6.0.0" @@ -23484,13 +23338,6 @@ __metadata: languageName: node linkType: hard -"is-relative-path@npm:^1.0.2": - version: 1.0.2 - resolution: "is-relative-path@npm:1.0.2" - checksum: 10/6c2ccffd3c0a3e3990535d0571370883d558b825b51940085f3446ec338857f4552f44521dfec3e83b7e067de08c0b0369de290208a91200bcae2c569533e340 - languageName: node - linkType: hard - "is-relative@npm:^1.0.0": version: 1.0.0 resolution: "is-relative@npm:1.0.0" @@ -28067,18 +27914,6 @@ __metadata: languageName: node linkType: hard -"module-definition@npm:^5.0.1": - version: 5.0.1 - resolution: "module-definition@npm:5.0.1" - dependencies: - ast-module-types: "npm:^5.0.0" - node-source-walk: "npm:^6.0.1" - bin: - module-definition: bin/cli.js - checksum: 10/d769181d119af6a80abb14219c6ca60b49689eec6e2dd7f8760a499a2c64646ec619a2e7f71760f777f86af763f61efc431e22693b03500ca3db9d7c73cfcb4c - languageName: node - linkType: hard - "module-definition@npm:^6.0.0": version: 6.0.0 resolution: "module-definition@npm:6.0.0" @@ -28123,20 +27958,6 @@ __metadata: languageName: node linkType: hard -"module-lookup-amd@npm:^8.0.5": - version: 8.0.5 - resolution: "module-lookup-amd@npm:8.0.5" - dependencies: - commander: "npm:^10.0.1" - glob: "npm:^7.2.3" - requirejs: "npm:^2.3.6" - requirejs-config-file: "npm:^4.0.0" - bin: - lookup-amd: bin/cli.js - checksum: 10/2808a5dfff52365dd5f7c9a50c3c5985414dcd13d5b966dad82f61f3274b0bbc246aadcefb0dd0421eb2a43709be0a8d937f0d1a19008e722e81cc361bb10dca - languageName: node - linkType: hard - "module-lookup-amd@npm:^9.0.1": version: 9.0.2 resolution: "module-lookup-amd@npm:9.0.2" @@ -28614,15 +28435,6 @@ __metadata: languageName: node linkType: hard -"node-source-walk@npm:^6.0.0, node-source-walk@npm:^6.0.1, node-source-walk@npm:^6.0.2": - version: 6.0.2 - resolution: "node-source-walk@npm:6.0.2" - dependencies: - "@babel/parser": "npm:^7.21.8" - checksum: 10/eacaaa11fa71fd48da16d75a108d5e1e945b581550112b37c5e909c7f112c1b48acf8648d7fa167e6f482e41f047bceca1ffc5aa3c91fee74406acc003f98190 - languageName: node - linkType: hard - "node-source-walk@npm:^7.0.0": version: 7.0.0 resolution: "node-source-walk@npm:7.0.0" @@ -30445,7 +30257,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.0, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.40, postcss@npm:^8.4.48": +"postcss@npm:^8.3.0, postcss@npm:^8.4.21, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.40, postcss@npm:^8.4.48": version: 8.5.1 resolution: "postcss@npm:8.5.1" dependencies: @@ -30456,28 +30268,6 @@ __metadata: languageName: node linkType: hard -"precinct@npm:^11.0.5": - version: 11.0.5 - resolution: "precinct@npm:11.0.5" - dependencies: - "@dependents/detective-less": "npm:^4.1.0" - commander: "npm:^10.0.1" - detective-amd: "npm:^5.0.2" - detective-cjs: "npm:^5.0.1" - detective-es6: "npm:^4.0.1" - detective-postcss: "npm:^6.1.3" - detective-sass: "npm:^5.0.3" - detective-scss: "npm:^4.0.3" - detective-stylus: "npm:^4.0.0" - detective-typescript: "npm:^11.1.0" - module-definition: "npm:^5.0.1" - node-source-walk: "npm:^6.0.2" - bin: - precinct: bin/cli.js - checksum: 10/8f93c2e171622dfa1ce461ef52427247e4fcd51091480eec62b8d24c9b1098f5b6c2b28c50d57c2ae70a049f7302dfb2164631b59bfd894de97e2a8e11708c54 - languageName: node - linkType: hard - "precinct@npm:^12.0.2": version: 12.1.2 resolution: "precinct@npm:12.1.2" @@ -32608,7 +32398,7 @@ __metadata: languageName: node linkType: hard -"requirejs@npm:^2.3.6, requirejs@npm:^2.3.7": +"requirejs@npm:^2.3.7": version: 2.3.7 resolution: "requirejs@npm:2.3.7" bin: @@ -32655,13 +32445,6 @@ __metadata: languageName: node linkType: hard -"resolve-dependency-path@npm:^3.0.2": - version: 3.0.2 - resolution: "resolve-dependency-path@npm:3.0.2" - checksum: 10/d042bef325ce8dbdbe57f37f93851b2c5651e06378b9f352ceef2c28aa99dc6ae793be7795e8bf4ad18b40769ee06d8e049ce8206f183c9afe9812fd48ef6d8c - languageName: node - linkType: hard - "resolve-dependency-path@npm:^4.0.0": version: 4.0.0 resolution: "resolve-dependency-path@npm:4.0.0" @@ -32771,7 +32554,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.3, resolve@npm:^1.22.8, resolve@npm:^1.4.0": +"resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.8, resolve@npm:^1.4.0": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -32810,7 +32593,7 @@ __metadata: languageName: node linkType: hard -? "resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" +? "resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" : version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" @@ -33452,17 +33235,6 @@ __metadata: languageName: node linkType: hard -"sass-lookup@npm:^5.0.1": - version: 5.0.1 - resolution: "sass-lookup@npm:5.0.1" - dependencies: - commander: "npm:^10.0.1" - bin: - sass-lookup: bin/cli.js - checksum: 10/4d37f16830d31e4bb9804fedddc7d79e82d3d0c74ca307a2b4f77656f58f20f55f55e8321c51fe3d7850e04fe216910611cc0a7a1fa67cf9152929bfa1b9b95b - languageName: node - linkType: hard - "sass-lookup@npm:^6.0.1": version: 6.0.1 resolution: "sass-lookup@npm:6.0.1" @@ -35194,17 +34966,6 @@ __metadata: languageName: node linkType: hard -"stylus-lookup@npm:^5.0.1": - version: 5.0.1 - resolution: "stylus-lookup@npm:5.0.1" - dependencies: - commander: "npm:^10.0.1" - bin: - stylus-lookup: bin/cli.js - checksum: 10/c89ae3e35f578b8a324f96aacabe1ab582741de6d527cf94b64cbcb23702e753f96d43fc519b7e9818a7cb712780fe4aae63c188d1774a3d73b5f5bc173ffc48 - languageName: node - linkType: hard - "stylus-lookup@npm:^6.0.0": version: 6.0.0 resolution: "stylus-lookup@npm:6.0.0" @@ -36343,7 +36104,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.0.4, typescript@npm:^5.4.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4": +"typescript@npm:^5.4.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4": version: 5.7.3 resolution: "typescript@npm:5.7.3" bin: @@ -36373,7 +36134,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.0.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": +"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": version: 5.7.3 resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=cef18b" bin: From 45cf0fb03ac4437998c1cfb4d0d703f8d1115e4d Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Wed, 29 Jan 2025 14:44:13 -0500 Subject: [PATCH 19/22] update circular-deps.jsonc --- development/circular-deps.jsonc | 23 ++++++----------------- development/circular-deps.ts | 2 +- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/development/circular-deps.jsonc b/development/circular-deps.jsonc index 40c9c27ed98b..7ab42272d313 100644 --- a/development/circular-deps.jsonc +++ b/development/circular-deps.jsonc @@ -2,7 +2,7 @@ // To understand changes in this file: // - Each array represents a cycle of imports where the last file imports the first // - The cycles are sorted alphabetically for consistent diffs -// - To update this file, run: yarn circular-deps:fix +// - To update this file, run: yarn circular-deps:update // - To prevent new circular dependencies, ensure your changes don't add new cycles // - For more information contact the Extension Platform team. @@ -129,6 +129,11 @@ "ui/components/app/snaps/snap-ui-renderer/components/row.ts", "ui/components/app/snaps/snap-ui-renderer/utils.ts" ], + [ + "ui/components/app/snaps/snap-ui-renderer/components/index.ts", + "ui/components/app/snaps/snap-ui-renderer/components/skeleton.ts", + "ui/components/app/snaps/snap-ui-renderer/utils.ts" + ], [ "ui/components/app/snaps/snap-ui-renderer/components/index.ts", "ui/components/app/snaps/snap-ui-renderer/components/text.ts", @@ -332,13 +337,6 @@ "ui/components/component-library/popover-header/index.ts", "ui/components/component-library/popover-header/popover-header.tsx" ], - [ - "ui/components/institutional/custody-labels/custody-labels.tsx", - "ui/components/institutional/custody-labels/index.ts", - "ui/pages/institutional/account-list/account-list.tsx", - "ui/pages/institutional/account-list/index.ts", - "ui/pages/institutional/custody/custody.tsx" - ], [ "ui/components/multichain/pages/send/components/account-picker.tsx", "ui/components/multichain/pages/send/components/index.ts" @@ -375,11 +373,6 @@ "ui/pages/asset/components/asset-page.tsx", "ui/pages/asset/components/token-buttons.tsx" ], - [ - "ui/pages/institutional/custody/custody.tsx", - "ui/pages/institutional/manual-connect-custodian/index.ts", - "ui/pages/institutional/manual-connect-custodian/manual-connect-custodian.tsx" - ], [ "ui/pages/notifications/notifications-list.tsx", "ui/pages/notifications/notifications.tsx" @@ -394,9 +387,5 @@ [ "ui/pages/swaps/swaps.util.ts", "ui/store/actions.ts" - ], - [ - "ui/store/actions.ts", - "ui/store/institutional/institution-actions.ts" ] ] diff --git a/development/circular-deps.ts b/development/circular-deps.ts index 77848d66ab50..3796ab82f6bc 100644 --- a/development/circular-deps.ts +++ b/development/circular-deps.ts @@ -169,7 +169,7 @@ async function check(): Promise { if (actualStr !== baselineStr) { console.error( - `Error: Codebase circular dependencies are out of sync in ${TARGET_FILE}`, + `Error: Codebase circular dependencies are out of sync with ${TARGET_FILE}`, ); console.log(RESOLUTION_STEPS); process.exit(1); From dfa5746ef4bad562188f3c15923419a21a4cb2d0 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Wed, 29 Jan 2025 14:48:32 -0500 Subject: [PATCH 20/22] add circular-deps.jsonc to security team CODEOWNERS --- .github/CODEOWNERS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index abb929dfa224..865c5527a238 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -44,6 +44,11 @@ offscreen/scripts/offscreen.ts @MetaMask/snaps-devs # make all such communication opt IN versus opt OUT. privacy-snapshot.json @MetaMask/extension-privacy-reviewers + +# A machine-generated file that tracks circular dependencies in the codebase. +# It is updated using yarn circular-deps.jsonc +development/circular-deps.jsonc @MetaMask/extension-security-team @HowardBraham + # The CODEOWNERS file constitutes an agreement amongst organization # admins and maintainers to restrict approval capabilities to a subset # of contributors. Modifications to this file result in a modification of From f0b3de1f14add0fef034c20db619241f880b9e4e Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Wed, 29 Jan 2025 15:16:22 -0500 Subject: [PATCH 21/22] add @dbrans to circular-deps.jsonc CODEOWNERS --- .github/CODEOWNERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 865c5527a238..80ccc370ffe0 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -46,8 +46,8 @@ privacy-snapshot.json @MetaMask/extension-privacy-reviewers # A machine-generated file that tracks circular dependencies in the codebase. -# It is updated using yarn circular-deps.jsonc -development/circular-deps.jsonc @MetaMask/extension-security-team @HowardBraham +# It is updated using yarn circular-deps:update +development/circular-deps.jsonc @MetaMask/extension-security-team @HowardBraham @dbrans # The CODEOWNERS file constitutes an agreement amongst organization # admins and maintainers to restrict approval capabilities to a subset From 94e3d78c8b15b673c885569c5561d00cd5dcb7c4 Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Thu, 30 Jan 2025 15:47:10 +0000 Subject: [PATCH 22/22] Update LavaMoat policies --- lavamoat/build-system/policy.json | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index 64d5643791ab..9e665e785010 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -2654,7 +2654,7 @@ "nyc>glob": true, "del>is-glob": true, "depcheck>resolve": true, - "eslint-import-resolver-typescript>tsconfig-paths": true + "eslint-plugin-import>tsconfig-paths": true } }, "eslint-plugin-import>eslint-module-utils": { @@ -4178,11 +4178,6 @@ "console.warn": true } }, - "eslint-import-resolver-typescript>tsconfig-paths>json5": { - "globals": { - "console.warn": true - } - }, "eslint-plugin-import>tsconfig-paths>json5": { "globals": { "console.warn": true @@ -8677,7 +8672,7 @@ "ts-node>yn": true } }, - "eslint-import-resolver-typescript>tsconfig-paths": { + "eslint-plugin-import>tsconfig-paths": { "builtin": { "fs.existsSync": true, "fs.lstatSync": true, @@ -8698,24 +8693,9 @@ "process.cwd": true, "process.env": true }, - "packages": { - "eslint-import-resolver-typescript>tsconfig-paths>json5": true, - "wait-on>minimist": true, - "eslint-import-resolver-typescript>tsconfig-paths>strip-bom": true - } - }, - "eslint-plugin-import>tsconfig-paths": { - "builtin": { - "fs.existsSync": true, - "fs.lstatSync": true, - "fs.readFileSync": true, - "fs.statSync": true, - "path.dirname": true, - "path.join": true, - "path.resolve": true - }, "packages": { "eslint-plugin-import>tsconfig-paths>json5": true, + "wait-on>minimist": true, "eslint-plugin-import>tsconfig-paths>strip-bom": true } },