From 5477aa14b5c5f0f27cf6c0adf4b22ef6d9ce8ffa Mon Sep 17 00:00:00 2001 From: Eduardo Date: Thu, 7 Nov 2024 19:47:04 -0500 Subject: [PATCH 01/12] initial move, lint and build pass --- .gitignore | 10 +- .../browser-extension/.eslintignore | 0 .../browser-extension/.eslintrc.js | 0 .../browser-extension/.storybook}/main.js | 0 .../.storybook}/preview-body.html | 0 .../browser-extension/.storybook}/preview.js | 0 .../contrib}/bricks/amazon-search.yaml | 0 .../contrib}/bricks/duckduckgo-search.yaml | 0 .../contrib}/bricks/ebay-search.yaml | 0 .../contrib}/bricks/google-scholar-table.yaml | 0 .../contrib}/bricks/google-search.yaml | 0 .../contrib}/bricks/hackernews.yaml | 0 .../bricks/hubspot-contact-timeline.yaml | 0 .../bricks/hubspot-person-search.yaml | 0 .../contrib}/bricks/linkedin-search.yaml | 0 .../contrib}/bricks/nytimes-org.yaml | 0 .../bricks/pipedrive-person-activity.yaml | 0 .../contrib}/bricks/quora-search.yaml | 0 .../contrib}/bricks/reddit-search.yaml | 0 .../contrib}/bricks/yelp-search.yaml | 0 .../contrib}/bricks/youtube-search.yaml | 0 .../contrib}/bricks/youtube.yaml | 0 .../automation-anywhere-oauth2.yaml | 0 .../integrations/automation-anywhere.yaml | 0 .../integrations/google-bigquery-dataset.yaml | 0 .../contrib}/integrations/google-geocode.yaml | 0 .../integrations/google-oauth2-pkce.yaml | 0 .../contrib}/integrations/google-sheet.yaml | 0 .../contrib}/integrations/greenhouse.yaml | 0 .../contrib}/integrations/hubspot.yaml | 0 .../contrib}/integrations/hunter.yaml | 0 .../integrations/microsoft-oauth2-pkce.yaml | 0 .../contrib}/integrations/nytimes.yaml | 0 .../contrib}/integrations/pipedrive.yaml | 0 .../contrib}/integrations/pixiebrix.yaml | 0 .../contrib}/integrations/rapidapi.yaml | 0 .../contrib}/integrations/salesforce.yaml | 0 .../contrib}/integrations/serpapi.yaml | 0 .../contrib}/integrations/slack-hook.yaml | 0 .../contrib}/integrations/uipath.yaml | 0 .../browser-extension/contrib}/raw/hunter.txt | 0 .../contrib}/readers/apartments-reader.yaml | 0 .../contrib}/readers/empty-jquery-reader.yaml | 0 .../readers/linkedin-contact-reader.yaml | 0 .../readers/linkedin-organization-reader.yaml | 0 .../readers/linkedin-profile-reader.yaml | 0 .../contrib}/readers/redfin-reader.yaml | 0 .../contrib}/readers/trello-card-reader.yaml | 0 .../contrib}/readers/zillow-reader.yaml | 0 .../contrib}/recipes/apartments-sheets.yaml | 0 .../contrib}/recipes/apartments-slack.yaml | 0 .../contrib}/recipes/contextMenus/amazon.yaml | 0 .../recipes/contextMenus/duckduckgo.yaml | 0 .../contrib}/recipes/contextMenus/ebay.yaml | 0 .../contrib}/recipes/contextMenus/google.yaml | 0 .../recipes/contextMenus/linkedin.yaml | 0 .../contrib}/recipes/contextMenus/quora.yaml | 0 .../contrib}/recipes/contextMenus/reddit.yaml | 0 .../contrib}/recipes/contextMenus/yelp.yaml | 0 .../recipes/contextMenus/youtube.yaml | 0 .../contrib}/recipes/definition-example.yaml | 0 .../recipes/linkedin-company-news.yaml | 0 .../recipes/linkedin-google-search.yaml | 0 .../contrib}/recipes/linkedin-hubspot.yaml | 0 .../recipes/linkedin-pipedrive-panel.yaml | 0 .../recipes/linkedin-salesforce-hunter.yaml | 0 .../contrib}/recipes/linkedin-scholar.yaml | 0 .../recipes/linkedin-slack-person.yaml | 0 .../contrib}/recipes/pipedrive-workday.yaml | 0 .../contrib}/recipes/redfin-sheets.yaml | 0 .../contrib}/recipes/trello-slack.yaml | 0 .../contrib}/recipes/v3-example.txt | 0 .../recipes/v3-optional-services-example.txt | 0 .../contrib}/recipes/zillow-sheets.yaml | 0 .../apartments-property-button.yaml | 0 .../linkedin-contact-info-button.yaml | 0 .../linkedin-contact-info-entry.yaml | 0 .../linkedin-menu-extension.yaml | 0 .../linkedin-organization-button.yaml | 0 .../linkedin-organization-panel.yaml | 0 .../starterBricks/linkedin-person-panel.yaml | 0 .../starterBricks/pipedrive-deal-panel.yaml | 0 .../pipedrive-organization-extension.yaml | 0 .../pipedrive-person-extension.yaml | 0 .../contrib}/starterBricks/redfin-button.yaml | 0 .../starterBricks/selection-search.yaml | 0 .../starterBricks/trello-card-action.yaml | 0 .../contrib}/starterBricks/zillow-button.yaml | 0 .../end-to-end-tests}/README.md | 0 .../end-to-end-tests}/env.ts | 2 +- .../fixtures/authentication.ts | 0 .../fixtures/environmentCheck.ts | 0 .../fixtures/modDefinitions.ts | 2 +- .../fixtures/modDefinitions/README.md | 0 .../modDefinitions/brick-actions.yaml | 0 .../modDefinitions/brick-configuration.yaml | 0 .../modDefinitions/simple-sidebar-panel.yaml | 0 .../end-to-end-tests}/fixtures/pageContext.ts | 0 .../fixtures/responses/giphy-search.json | 0 .../end-to-end-tests}/fixtures/testBase.ts | 0 .../end-to-end-tests}/fixtures/utils.ts | 0 .../pageObjects/basePageObject.ts | 0 .../pageObjects/constants.ts | 0 .../extensionConsole/localIntegrationsPage.ts | 0 .../pageObjects/extensionConsole/modsPage.ts | 4 +- .../workshop/createWorkshopModPage.ts | 0 .../workshop/editWorkshopModPage.ts | 2 +- .../extensionConsole/workshop/modEditor.ts | 2 +- .../extensionConsole/workshop/workshopPage.ts | 2 +- .../pageObjects/extensionsShortcutsPage.ts | 2 +- .../pageObjects/external/googleAuthPopup.ts | 0 .../pageObjects/floatingActionButton.ts | 0 .../pageEditor/brickActionsPanel.ts | 0 .../pageEditor/configurationForm.ts | 0 .../pageObjects/pageEditor/createModModal.ts | 4 +- .../pageObjects/pageEditor/dataPanel.ts | 0 .../pageEditor/deactivateModModal.ts | 0 .../pageObjects/pageEditor/modEditorPane.ts | 0 .../pageObjects/pageEditor/modListingPanel.ts | 0 .../pageObjects/pageEditor/pageEditorPage.ts | 4 +- .../pageObjects/pageEditor/utils.ts | 0 .../setup/affiliated.setup.ts | 0 .../setup/unaffiliated.setup.ts | 0 .../end-to-end-tests}/setup/utils.ts | 0 .../tests/bricks/sidebarEffects.spec.ts | 0 .../deployments/deploymentActivation.spec.ts | 0 .../tests/extensionConsole/activation.spec.ts | 2 +- .../tests/extensionConsole/modsPage.spec.ts | 0 .../extensionConsole/zapierModal.spec.ts | 0 .../tests/modLifecycle.spec.ts | 4 +- .../tests/pageEditor/addStarterBrick.spec.ts | 0 .../add-button-starter-brick-to-mod.yaml | 0 ...add-context-menu-starter-brick-to-mod.diff | 0 .../add-quick-bar-starter-brick-to-mod.diff | 0 ...dd-sidebar-panel-starter-brick-to-mod.diff | 0 .../add-trigger-starter-brick-to-mod.diff | 0 .../tests/pageEditor/brickActions.spec.ts | 2 +- .../brick-added.diff | 0 .../brick-copied-to-another-mod.diff | 0 .../brick-copy-pasted.diff | 0 .../brick-removed.diff | 0 .../bricks-moved.diff | 0 .../pageEditor/brickConfiguration.spec.ts | 2 +- .../starter-brick-configuration-changes.diff | 0 .../tests/pageEditor/clearChanges.spec.ts | 2 +- .../tests/pageEditor/copyMod.spec.ts | 8 +- .../write-to-db-static-copy.diff | 0 .../write-to-db-static-origin.yaml | 0 .../giphy-search-copy.diff | 0 .../giphy-search-origin.yaml | 0 .../tests/pageEditor/draftInjection.spec.ts | 6 +- .../tests/pageEditor/liveEditing.spec.ts | 0 .../tests/pageEditor/logsPane.spec.ts | 0 .../tests/pageEditor/modEditorPane.spec.ts | 4 +- .../updated-inputs.diff | 0 .../updated-metadata.diff | 0 .../pageEditor/modVariablesDefinition.spec.ts | 0 .../mod-variables-definition.yaml | 0 .../mod-variables-definition-no-brick.yaml | 0 .../pageEditor/moveOrCopyModComponent.spec.ts | 2 +- .../tests/pageEditor/optionsArgs.spec.ts | 2 +- .../tests/pageEditor/saveMod.spec.ts | 0 .../tests/pageEditor/specialPages.spec.ts | 0 .../doNotCloseSidebarOnPageEditorSave.spec.ts | 0 .../tests/regressions/formFlicker.spec.ts | 0 .../hideModalsOnPageEditorRefresh.spec.ts | 0 .../regressions/sandboxBrickErrors.spec.ts | 0 .../tests/regressions/sidebarLinks.spec.ts | 0 .../regressions/welcomeStarterBricks.spec.ts | 0 .../tests/runtime/allFrames.spec.ts | 0 .../tests/runtime/customEvents.spec.ts | 0 .../runtime/googleSheetsIntegration.spec.ts | 0 .../tests/runtime/insertAtCursor.spec.ts | 0 .../tests/runtime/localIntegrations.spec.ts | 0 .../runtime/modVariables/variableSync.spec.ts | 0 .../tests/runtime/sandbox.spec.ts | 0 .../tests/runtime/screenshotTab.spec.ts | 0 .../tests/runtime/setInputValue.spec.ts | 0 .../runtime/sidebar/sidebarActivation.spec.ts | 0 .../tests/runtime/sidebar/sidebarAuth.spec.ts | 0 .../runtime/sidebar/sidebarController.spec.ts | 0 .../runtime/sidebar/sidebarNavigation.spec.ts | 0 .../runtime/sidebar/sidebarPanelTheme.spec.ts | 0 .../tests/runtime/srcdocFrames.spec.ts | 0 .../tests/runtime/textSnippets.spec.ts | 0 .../tests/smoke/floatingActionButton.spec.ts | 0 .../tests/smoke/modsPage.spec.ts | 0 .../tests/smoke/pageEditor.spec.ts | 0 .../tests/smoke/sidebar.spec.ts | 0 .../tests/smoke/workshopPage.spec.ts | 0 .../tests/telemetry/errors.spec.ts | 0 .../tests/workshop/createMod.spec.ts | 0 .../description-change.diff | 0 .../final-definition.yaml | 0 .../heading-change.diff | 0 .../no-changes.diff | 0 .../end-to-end-tests}/utils.ts | 0 .../eslint-local-rules}/index.js | 0 .../noCrossBoundaryImports.js | 0 .../noCrossBoundaryImports.test.js | 0 .../noExpressionLiterals.js | 0 .../noExpressionLiterals.test.js | 0 .../noInvalidDataTestId.js | 0 .../noInvalidDataTestId.test.js | 0 .../eslint-local-rules}/noNullRtkQueryArgs.js | 0 .../noNullRtkQueryArgs.test.js | 0 .../noRestrictedSyntax.tsx | 0 .../notBothLabelAndLockableProps.js | 0 .../notBothLabelAndLockableProps.test.js | 0 .../persistBackgroundData.js | 0 .../persistBackgroundData.txt | 0 .../preferAxiosMockAdapter.js | 0 .../preferAxiosMockAdapter.test.js | 0 .../eslint-local-rules}/preferNullish.js | 0 .../eslint-local-rules}/preferNullish.test.js | 0 .../eslint-local-rules}/preferNullishable.js | 0 .../preferNullishable.test.js | 0 .../preferUsingStepsForLongTests.js | 0 .../browser-extension/img}/aa-logo-small.png | Bin .../browser-extension/img}/aa-logo.svg | 0 .../img}/beta-logo-small.svg | 0 .../browser-extension/img}/beta-logo.svg | 0 .../img}/blueprint-activation-complete.png | Bin .../browser-extension/img}/demo.gif | Bin .../img}/devtools-dock-bottom-icon.svg | 0 .../img}/devtools-docking-context-menu.png | Bin .../devtools-pixiebrix-toolbar-hidden.png | Bin .../devtools-pixiebrix-toolbar-screenshot.png | Bin .../img}/devtools-pixiebrix-toolbar-tab.png | Bin .../img}/devtools-shortcut-mac.svg | 0 .../img}/devtools-shortcut-windows.svg | 0 .../img}/example-permissions-dialog.png | Bin .../img}/home-pane-bg-illustration.png | Bin .../browser-extension/img}/home.svg | 0 .../img}/inspect-context-menu.png | Bin .../browser-extension/img}/logo-small.svg | 0 .../browser-extension/img}/logo.svg | 0 .../browser-extension/img}/marketplace.svg | 696 +++++++++--------- .../browser-extension/img}/paintbrush.svg | 0 .../browser-extension/img}/workshop.svg | 0 .../browser-extension/jest.config.js | 0 .../browser-extension/knip.mjs | 17 + applications/browser-extension/package.json | 325 ++++++++ .../browser-extension/playwright.config.ts | 17 + .../public}/mockServiceWorker.js | 0 .../browser-extension/schemas}/component.json | 0 .../browser-extension/schemas}/database.json | 0 .../browser-extension/schemas}/draft-07.json | 0 .../browser-extension/schemas}/effect.json | 0 .../browser-extension/schemas}/element.json | 0 .../schemas}/extensionPoint.json | 0 .../schemas}/googleSheetId.json | 0 .../browser-extension/schemas}/icon.json | 0 .../schemas}/innerDefinition.json | 0 .../browser-extension/schemas}/key.json | 0 .../browser-extension/schemas}/metadata.json | 0 .../browser-extension/schemas}/pipeline.json | 0 .../browser-extension/schemas}/reader.json | 0 .../browser-extension/schemas}/recipe.json | 0 .../browser-extension/schemas}/ref.json | 0 .../browser-extension/schemas}/renderer.json | 0 .../browser-extension/schemas}/service.json | 0 .../browser-extension/src}/Storyshots.test.js | 0 .../__mocks__/@/auth/featureFlagStorage.ts | 2 +- .../src}/__mocks__/@/auth/useLinkState.ts | 2 +- .../__mocks__/@/background/messenger/api.ts | 10 +- .../__mocks__/@/components/DelayedRender.tsx | 0 .../__mocks__/@/components/Stylesheets.tsx | 0 .../src}/__mocks__/@/components/asyncIcon.ts | 4 +- .../@/contentScript/focusCaptureDialog.ts | 0 .../__mocks__/@/data/service/apiClient.js | 0 .../@/hooks/useContextInvalidated.ts | 0 .../src}/__mocks__/@/icons/getSvgIcon.ts | 0 .../src}/__mocks__/@/icons/list.ts | 2 +- .../src}/__mocks__/@/sandbox/messenger/api.ts | 2 +- .../__mocks__/@/store/deactivateModHelpers.ts | 8 +- .../src}/__mocks__/@/telemetry/logging.ts | 0 .../src}/__mocks__/@/telemetry/reportError.ts | 0 .../src}/__mocks__/@/telemetry/reportEvent.ts | 0 .../__mocks__/@/telemetry/telemetryHelpers.ts | 4 +- .../src}/__mocks__/@/utils/expectContext.ts | 0 .../src}/__mocks__/@/utils/injectScriptTag.ts | 0 .../__mocks__/@/utils/injectStylesheet.ts | 0 .../src}/__mocks__/@/utils/shadowWrap.js | 0 .../__mocks__/@xobotyi/scrollbar-width.js | 0 .../src}/__mocks__/browserMock.mjs | 0 .../src}/__mocks__/connected-react-router.js | 0 .../src}/__mocks__/fit-textarea.js | 0 .../src}/__mocks__/holderjs.js | 0 .../__mocks__/react-virtualized-auto-sizer.js | 0 .../src}/__mocks__/readme.md | 2 +- .../src}/__mocks__/redux-state-sync.js | 0 .../src}/__mocks__/stringMock.js | 0 .../src}/__mocks__/webext-detect.ts | 0 .../src}/__mocks__/webext-messenger.js | 0 .../__snapshots__/Storyshots.test.js.snap | 0 .../src}/activation/ActivationLink.tsx | 8 +- .../activation/PersonalDeploymentField.tsx | 4 +- ...ardValuesModIntegrationsContextAdapter.tsx | 4 +- .../activateLinkClickHandler.test.tsx | 6 +- .../activation/activateLinkClickHandler.ts | 6 +- .../activation/activationLinkUtils.test.ts | 2 +- .../src}/activation/activationLinkUtils.ts | 6 +- ...ponentDefinitionToActivatedModComponent.ts | 10 +- .../src}/activation/modOptionsHelpers.ts | 12 +- .../src}/activation/useActivateMod.test.ts | 42 +- .../src}/activation/useActivateMod.ts | 28 +- .../activation/useActivateModWizard.test.tsx | 34 +- .../src}/activation/useActivateModWizard.ts | 52 +- .../useOrganizationActivationPolicy.ts | 8 +- .../src}/activation/wizardTypes.ts | 2 +- .../analysis/AnalysisAnnotationsContext.ts | 2 +- .../src}/analysis/ReduxAnalysisManager.ts | 4 +- .../src}/analysis/analysisSelectors.ts | 2 +- .../src}/analysis/analysisSlice.ts | 5 +- .../src}/analysis/analysisTypes.ts | 6 +- .../analysisVisitors/baseAnalysisVisitors.ts | 8 +- .../analysisVisitors/brickIdVisitor.ts | 6 +- .../brickTypeAnalysis.test.ts | 18 +- .../analysisVisitors/brickTypeAnalysis.ts | 8 +- .../conditionAnalysis.test.ts | 16 +- .../analysisVisitors/conditionAnalysis.ts | 16 +- .../checkEventNamesAnalysis.test.ts | 10 +- .../checkEventNamesAnalysis.ts | 10 +- .../collectEventNamesVisitor.test.ts | 8 +- .../collectEventNamesVisitor.ts | 10 +- .../analysisVisitors/formBrickAnalysis.ts | 8 +- .../httpRequestAnalysis.test.ts | 12 +- .../analysisVisitors/httpRequestAnalysis.ts | 12 +- .../modComponentUrlPatternAnalysis.test.ts | 0 .../modComponentUrlPatternAnalysis.ts | 8 +- .../outputKeyAnalysis.test.ts | 10 +- .../analysisVisitors/outputKeyAnalysis.ts | 8 +- .../modVariableSchemasVisitor.test.ts | 10 +- .../modVariableSchemasVisitor.ts | 10 +- .../pageStateAnalysis.test.ts | 16 +- .../pageStateAnalysis/pageStateAnalysis.ts | 14 +- .../analysisVisitors/regexAnalysis.ts | 14 +- .../regexAnalysisTest.test.ts | 10 +- .../analysisVisitors/renderersAnalysis.ts | 10 +- .../requestPermissionAnalysis.test.ts | 12 +- .../requestPermissionAnalysis.ts | 24 +- .../analysisVisitors/selectorAnalysis.test.ts | 12 +- .../analysisVisitors/selectorAnalysis.ts | 28 +- .../analysisVisitors/templateAnalysis.test.ts | 12 +- .../analysisVisitors/templateAnalysis.ts | 20 +- .../analysisVisitors/traceAnalysis.test.ts | 10 +- .../analysisVisitors/traceAnalysis.ts | 18 +- .../parseTemplateVariables.test.ts | 0 .../varAnalysis/parseTemplateVariables.ts | 2 +- .../varAnalysis/varAnalysis.test.ts | 56 +- .../varAnalysis/varAnalysis.ts | 48 +- .../varAnalysis/varMap.test.ts | 0 .../analysisVisitors/varAnalysis/varMap.ts | 2 +- .../src}/analysis/asyncAnalysisQueue.test.ts | 0 .../src}/analysis/asyncAnalysisQueue.ts | 0 .../src}/auth/RequireAuth.test.tsx | 0 .../src}/auth/RequireAuth.tsx | 22 +- .../src}/auth/RequireScope.tsx | 2 +- .../src}/auth/ScopeSettings.module.scss | 0 .../src}/auth/ScopeSettings.tsx | 10 +- .../src}/auth/authConstants.ts | 2 +- .../src}/auth/authSelectors.ts | 2 +- .../browser-extension/src}/auth/authSlice.ts | 4 +- .../src}/auth/authStorage.test.ts | 6 +- .../src}/auth/authStorage.ts | 12 +- .../browser-extension/src}/auth/authTypes.ts | 14 +- .../browser-extension/src}/auth/authUtils.ts | 14 +- .../src}/auth/deploymentKey.ts | 6 +- .../src}/auth/featureFlagStorage.test.ts | 12 +- .../src}/auth/featureFlagStorage.ts | 10 +- .../src}/auth/featureFlags.ts | 0 .../src}/auth/isAuthenticationAxiosError.ts | 2 +- .../src}/auth/selectAuthUserOrganizations.ts | 8 +- .../src}/auth/useLinkState.ts | 8 +- .../src}/auth/usePartnerAuthData.ts | 6 +- .../src}/auth/useRequiredPartnerAuth.test.tsx | 38 +- .../src}/auth/useRequiredPartnerAuth.ts | 34 +- .../src}/background/auth/authHelpers.test.ts | 4 +- .../src}/background/auth/authHelpers.ts | 4 +- .../src}/background/auth/authStorage.ts | 8 +- .../src}/background/auth/codeGrantFlow.ts | 14 +- .../src}/background/auth/getToken.test.ts | 6 +- .../src}/background/auth/getToken.ts | 10 +- .../src}/background/auth/implicitGrantFlow.ts | 10 +- .../auth/launchInteractiveOAuth2Flow.ts | 10 +- .../background/auth/launchOAuth2Flow.test.ts | 20 +- .../src}/background/auth/launchOAuth2Flow.ts | 16 +- .../getPartnerPrincipals.test.ts | 28 +- .../getPartnerPrincipals.ts | 10 +- .../launchAuthIntegration.test.ts | 28 +- .../launchAuthIntegration.ts | 30 +- .../refreshPartnerAuthentication.test.ts | 14 +- .../refreshPartnerAuthentication.ts | 10 +- .../auth/partnerIntegrations/types.ts | 0 .../src}/background/axiosFetch.ts | 0 .../src}/background/background.ts | 0 .../src}/background/backgroundDomWatcher.ts | 0 .../src}/background/backgroundPlatform.ts | 16 +- .../src}/background/browserAction.ts | 6 +- .../src}/background/capture.ts | 18 +- .../src}/background/clipboard.ts | 4 +- .../src}/background/contentScript.test.ts | 8 +- .../src}/background/contentScript.ts | 6 +- .../contextMenus/ensureContextMenu.ts | 10 +- .../contextMenus/initContextMenus.test.ts | 24 +- .../contextMenus/initContextMenus.ts | 20 +- .../background/contextMenus/makeMenuId.ts | 2 +- .../contextMenus/preloadContextMenus.ts | 18 +- .../contextMenus/uninstallContextMenu.ts | 4 +- .../src}/background/deploymentUpdater.test.ts | 76 +- .../src}/background/deploymentUpdater.ts | 76 +- .../src}/background/executor.test.ts | 20 +- .../src}/background/executor.ts | 24 +- .../src}/background/externalProtocol.ts | 8 +- .../getBuiltInIntegrationConfigs.ts | 8 +- .../src}/background/initBrowserCommands.ts | 6 +- .../src}/background/initTheme.ts | 12 +- .../src}/background/installer.test.ts | 20 +- .../src}/background/installer.ts | 30 +- .../background/integrationConfigLocator.ts | 6 +- .../src}/background/messenger/api.ts | 8 +- .../messenger/external/_implementation.ts | 24 +- .../src}/background/messenger/external/api.ts | 8 +- .../messenger/external/registration.ts | 0 .../src}/background/messenger/registration.ts | 66 +- .../src}/background/modUpdater.test.ts | 28 +- .../src}/background/modUpdater.ts | 30 +- .../src}/background/navigation.ts | 10 +- .../src}/background/partnerHandlers.ts | 2 +- .../performConfiguredRequest.test.ts | 34 +- .../src}/background/proxyUtils.test.ts | 2 +- .../src}/background/proxyUtils.ts | 2 +- .../src}/background/refreshRegistries.ts | 4 +- .../src}/background/refreshToken.test.ts | 32 +- .../src}/background/refreshToken.ts | 12 +- .../removeModComponentForEveryTab.ts | 8 +- .../src}/background/requests.test.ts | 18 +- .../src}/background/requests.ts | 51 +- .../restrictUnauthenticatedUrlAccess.test.ts | 18 +- .../restrictUnauthenticatedUrlAccess.ts | 18 +- .../src}/background/setToolbarBadge.test.ts | 8 +- .../setToolbarIconFromTheme.test.ts | 6 +- .../background/setToolbarIconFromTheme.ts | 8 +- .../src}/background/sidePanel.ts | 4 +- .../stateControllerListeners.test.ts | 10 +- .../background/stateControllerListeners.ts | 2 +- .../browser-extension/src}/background/tabs.ts | 6 +- .../src}/background/teamTrialUpdater.ts | 14 +- .../src}/background/telemetry.test.ts | 8 +- .../src}/background/telemetry.ts | 24 +- .../src}/background/toolbarBadge.ts | 6 +- .../background/utils/deactivateMod.test.ts | 14 +- .../src}/background/utils/deactivateMod.ts | 10 +- .../deactivateModInstancesAndSaveState.ts | 16 +- .../saveModComponentStateAndReloadTabs.ts | 6 +- .../background/walkthroughModalTrigger.ts | 2 +- .../src}/background/welcomeMods.test.ts | 42 +- .../src}/background/welcomeMods.ts | 48 +- .../bricks/PipelineExpressionVisitor.test.ts | 12 +- .../src}/bricks/PipelineExpressionVisitor.ts | 14 +- .../src}/bricks/PipelineVisitor.test.ts | 14 +- .../src}/bricks/PipelineVisitor.ts | 20 +- .../src}/bricks/available.test.ts | 2 +- .../src}/bricks/available.ts | 8 +- .../src}/bricks/brickFilterHelpers.ts | 16 +- .../effects/AddDynamicTextSnippet.test.ts | 22 +- .../bricks/effects/AddDynamicTextSnippet.ts | 24 +- .../bricks/effects/AddQuickBarAction.test.ts | 10 +- .../src}/bricks/effects/AddQuickBarAction.tsx | 8 +- .../bricks/effects/AddTextSnippets.test.ts | 10 +- .../src}/bricks/effects/AddTextSnippets.ts | 16 +- .../src}/bricks/effects/CancelEffect.test.ts | 8 +- .../src}/bricks/effects/CancelEffect.ts | 10 +- .../bricks/effects/CancelEphemeralElements.ts | 12 +- .../bricks/effects/CommentOptions.test.tsx | 6 +- .../src}/bricks/effects/CommentOptions.tsx | 18 +- .../effects/InsertAtCursorEffect.test.ts | 8 +- .../bricks/effects/InsertAtCursorEffect.ts | 18 +- .../src}/bricks/effects/TelemetryEffect.ts | 14 +- .../bricks/effects/ToggleQuickbarEffect.ts | 8 +- .../__snapshots__/highlight.test.ts.snap | 0 .../src}/bricks/effects/alert.test.ts | 10 +- .../src}/bricks/effects/alert.ts | 12 +- .../bricks/effects/assignModVariable.test.ts | 14 +- .../src}/bricks/effects/assignModVariable.ts | 6 +- .../bricks/effects/attachAutocomplete.test.ts | 6 +- .../src}/bricks/effects/attachAutocomplete.ts | 10 +- .../src}/bricks/effects/captureAudio.ts | 16 +- .../src}/bricks/effects/clipboard.test.ts | 10 +- .../src}/bricks/effects/clipboard.ts | 14 +- .../src}/bricks/effects/comment.test.ts | 6 +- .../src}/bricks/effects/comment.ts | 8 +- .../src}/bricks/effects/confetti.ts | 6 +- .../src}/bricks/effects/customEvent.test.ts | 6 +- .../src}/bricks/effects/customEvent.ts | 10 +- .../src}/bricks/effects/disable.test.ts | 6 +- .../src}/bricks/effects/disable.ts | 10 +- .../src}/bricks/effects/enable.test.ts | 6 +- .../src}/bricks/effects/enable.ts | 10 +- .../src}/bricks/effects/error.test.ts | 8 +- .../src}/bricks/effects/error.ts | 10 +- .../src}/bricks/effects/event.test.ts | 6 +- .../src}/bricks/effects/event.ts | 10 +- .../src}/bricks/effects/exportCsv.ts | 10 +- .../bricks/effects/exportFileEffect.test.ts | 6 +- .../src}/bricks/effects/exportFileEffect.ts | 10 +- .../src}/bricks/effects/forms.test.ts | 8 +- .../src}/bricks/effects/forms.ts | 16 +- .../src}/bricks/effects/getAllEffects.ts | 40 +- .../src}/bricks/effects/hide.test.ts | 6 +- .../src}/bricks/effects/hide.ts | 10 +- .../src}/bricks/effects/highlight.test.ts | 6 +- .../src}/bricks/effects/highlight.ts | 12 +- .../src}/bricks/effects/highlightText.test.ts | 6 +- .../src}/bricks/effects/highlightText.ts | 10 +- .../src}/bricks/effects/insertHtml.ts | 18 +- .../src}/bricks/effects/logger.ts | 10 +- .../src}/bricks/effects/pageState.test.ts | 18 +- .../src}/bricks/effects/pageState.ts | 10 +- .../src}/bricks/effects/postMessage.test.ts | 6 +- .../src}/bricks/effects/postMessage.ts | 12 +- .../src}/bricks/effects/reactivate.ts | 10 +- .../src}/bricks/effects/redirectPage.ts | 10 +- .../src}/bricks/effects/replaceText.test.ts | 6 +- .../src}/bricks/effects/replaceText.ts | 8 +- .../src}/bricks/effects/scrollIntoView.ts | 12 +- .../bricks/effects/scrollToElement.test.ts | 6 +- .../bricks/effects/setToolbarBadge.test.ts | 12 +- .../src}/bricks/effects/setToolbarBadge.ts | 12 +- .../src}/bricks/effects/show.test.ts | 6 +- .../src}/bricks/effects/show.ts | 10 +- .../src}/bricks/effects/sidebarEffects.ts | 18 +- .../src}/bricks/effects/sound.ts | 10 +- .../src}/bricks/effects/submitPanel.test.ts | 6 +- .../src}/bricks/effects/submitPanel.ts | 8 +- .../src}/bricks/effects/tabs.ts | 10 +- .../src}/bricks/effects/tourEffect.test.ts | 10 +- .../src}/bricks/effects/tourEffect.ts | 22 +- .../src}/bricks/effects/vue.ts | 10 +- .../src}/bricks/effects/wait.test.ts | 8 +- .../src}/bricks/effects/wait.ts | 14 +- .../browser-extension/src}/bricks/errors.ts | 4 +- .../src}/bricks/exampleBrickConfigs.ts | 38 +- .../src}/bricks/hooks/useTypedBrickMap.ts | 6 +- .../bricks/readers/ArrayCompositeReader.ts | 2 +- .../src}/bricks/readers/BlankReader.ts | 6 +- .../src}/bricks/readers/CompositeReader.ts | 2 +- .../bricks/readers/DocumentReader.test.ts | 2 +- .../src}/bricks/readers/DocumentReader.ts | 8 +- .../src}/bricks/readers/ElementReader.test.ts | 6 +- .../src}/bricks/readers/ElementReader.ts | 12 +- .../src}/bricks/readers/HtmlReader.ts | 8 +- .../src}/bricks/readers/ImageExifReader.ts | 8 +- .../src}/bricks/readers/ImageReader.ts | 6 +- .../src}/bricks/readers/ManifestReader.ts | 4 +- .../src}/bricks/readers/PageMetadataReader.ts | 6 +- .../src}/bricks/readers/PageSemanticReader.ts | 4 +- .../src}/bricks/readers/ProfileReader.ts | 10 +- .../src}/bricks/readers/SelectionReader.ts | 6 +- .../src}/bricks/readers/SessionReader.ts | 8 +- .../bricks/readers/TimestampReader.test.ts | 2 +- .../src}/bricks/readers/TimestampReader.ts | 6 +- .../src}/bricks/readers/factory.ts | 16 +- .../src}/bricks/readers/frameworkReader.ts | 8 +- .../src}/bricks/readers/getAllReaders.ts | 4 +- .../src}/bricks/readers/jquery.test.ts | 2 +- .../src}/bricks/readers/jquery.ts | 6 +- .../src}/bricks/readers/readerUtils.ts | 0 .../src}/bricks/readers/window.ts | 6 +- .../src}/bricks/registerBuiltinBricks.ts | 4 +- .../src}/bricks/registry.test.ts | 12 +- .../browser-extension/src}/bricks/registry.ts | 10 +- .../renderers/CustomFormComponent.test.tsx | 6 +- .../bricks/renderers/CustomFormComponent.tsx | 30 +- .../bricks/renderers/HtmlRenderer.test.ts | 6 +- .../src}/bricks/renderers/HtmlRenderer.ts | 12 +- .../renderers/MarkdownRenderer.test.tsx | 4 +- .../src}/bricks/renderers/MarkdownRenderer.ts | 12 +- .../src}/bricks/renderers/PropertyTree.tsx | 0 .../__snapshots__/customForm.test.tsx.snap | 0 .../__snapshots__/table.test.ts.snap | 0 .../src}/bricks/renderers/customForm.css | 0 .../src}/bricks/renderers/customForm.test.tsx | 24 +- .../src}/bricks/renderers/customForm.tsx | 24 +- .../src}/bricks/renderers/dataTable.ts | 8 +- .../src}/bricks/renderers/document.tsx | 12 +- .../renderers/documentView/DocumentView.tsx | 16 +- .../documentView/DocumentViewProps.tsx | 6 +- .../src}/bricks/renderers/getAllRenderers.ts | 2 +- .../src}/bricks/renderers/iframe.ts | 10 +- .../src}/bricks/renderers/propertyTable.tsx | 12 +- .../src}/bricks/renderers/table.test.ts | 4 +- .../src}/bricks/renderers/table.tsx | 16 +- .../src}/bricks/rootModeHelpers.ts | 4 +- .../src}/bricks/transformers/FormData.test.ts | 4 +- .../src}/bricks/transformers/FormData.ts | 10 +- .../GetBrickInterfaceTransformer.test.ts | 12 +- .../GetBrickInterfaceTransformer.ts | 16 +- .../transformers/IdentityTransformer.test.ts | 14 +- .../transformers/IdentityTransformer.ts | 2 +- .../IdentityTransformerOptions.test.tsx | 16 +- .../IdentityTransformerOptions.tsx | 8 +- .../src}/bricks/transformers/ParseJson.ts | 12 +- .../RunBrickByIdTransformer.test.ts | 14 +- .../transformers/RunBrickByIdTransformer.ts | 18 +- .../RunMetadataTransformer.test.ts | 16 +- .../transformers/RunMetadataTransformer.ts | 14 +- .../__snapshots__/parseDate.test.ts.snap | 0 .../transformers/ai/LocalChatCompletion.ts | 14 +- .../bricks/transformers/ai/LocalPrompt.ts | 12 +- .../transformers/ai/LocalSummarization.ts | 12 +- .../bricks/transformers/ai/domAiHelpers.ts | 4 +- .../bricks/transformers/brickFactory.test.ts | 32 +- .../src}/bricks/transformers/brickFactory.ts | 24 +- .../transformers/component/ComponentReader.ts | 12 +- .../component/TableReader.test.ts | 10 +- .../transformers/component/TableReader.ts | 14 +- .../transformers/controlFlow/ForEach.test.ts | 12 +- .../transformers/controlFlow/ForEach.ts | 12 +- .../controlFlow/ForEachElement.test.ts | 12 +- .../controlFlow/ForEachElement.ts | 18 +- .../transformers/controlFlow/IfElse.test.ts | 14 +- .../bricks/transformers/controlFlow/IfElse.ts | 12 +- .../controlFlow/MapValues.test.ts | 12 +- .../transformers/controlFlow/MapValues.ts | 12 +- .../transformers/controlFlow/Retry.test.ts | 12 +- .../bricks/transformers/controlFlow/Retry.ts | 16 +- .../transformers/controlFlow/Run.test.ts | 12 +- .../bricks/transformers/controlFlow/Run.ts | 10 +- .../controlFlow/TryExcept.test.ts | 12 +- .../transformers/controlFlow/TryExcept.ts | 12 +- .../controlFlow/WithAsyncModVariable.test.ts | 28 +- .../controlFlow/WithAsyncModVariable.ts | 20 +- .../controlFlow/WithCache.test.ts | 32 +- .../transformers/controlFlow/WithCache.ts | 24 +- .../transformers/convertDocument.test.ts | 6 +- .../bricks/transformers/convertDocument.ts | 12 +- .../src}/bricks/transformers/detect.test.ts | 6 +- .../src}/bricks/transformers/detect.ts | 10 +- .../src}/bricks/transformers/encode.ts | 6 +- .../ephemeralForm/EphemeralForm.test.tsx | 6 +- .../ephemeralForm/EphemeralForm.tsx | 22 +- .../ephemeralForm/EphemeralFormContent.tsx | 32 +- .../ephemeralForm/formTransformer.test.ts | 20 +- .../ephemeralForm/formTransformer.ts | 16 +- .../transformers/extensionDiagnostics.ts | 10 +- .../bricks/transformers/getAllTransformers.ts | 48 +- .../src}/bricks/transformers/httpGet.ts | 20 +- .../bricks/transformers/javascript.test.ts | 8 +- .../src}/bricks/transformers/javascript.ts | 12 +- .../src}/bricks/transformers/jq.test.ts | 14 +- .../src}/bricks/transformers/jq.ts | 18 +- .../transformers/jquery/JQueryReader.test.ts | 4 +- .../transformers/jquery/JQueryReader.ts | 14 +- .../jquery/JQueryReaderOptions.module.scss | 0 .../jquery/JQueryReaderOptions.test.tsx | 24 +- .../jquery/JQueryReaderOptions.tsx | 34 +- .../src}/bricks/transformers/jsonPath.ts | 6 +- .../src}/bricks/transformers/mapping.ts | 8 +- .../src}/bricks/transformers/parseCsv.ts | 10 +- .../bricks/transformers/parseDataUrl.test.ts | 6 +- .../src}/bricks/transformers/parseDataUrl.ts | 14 +- .../bricks/transformers/parseDate.test.ts | 10 +- .../src}/bricks/transformers/parseDate.ts | 10 +- .../bricks/transformers/parseJson.test.ts | 8 +- .../src}/bricks/transformers/parseUrl.test.ts | 6 +- .../src}/bricks/transformers/parseUrl.ts | 14 +- .../src}/bricks/transformers/prompt.ts | 12 +- .../bricks/transformers/randomNumber.test.ts | 4 +- .../src}/bricks/transformers/randomNumber.ts | 8 +- .../src}/bricks/transformers/readable.test.ts | 6 +- .../src}/bricks/transformers/readable.ts | 10 +- .../src}/bricks/transformers/regex.test.ts | 6 +- .../src}/bricks/transformers/regex.ts | 10 +- .../src}/bricks/transformers/remoteMethod.ts | 18 +- .../src}/bricks/transformers/screenshotTab.ts | 12 +- .../bricks/transformers/searchText.test.ts | 6 +- .../src}/bricks/transformers/searchText.ts | 10 +- .../bricks/transformers/selectElement.test.ts | 16 +- .../src}/bricks/transformers/selectElement.ts | 12 +- .../bricks/transformers/splitText.test.ts | 6 +- .../src}/bricks/transformers/splitText.ts | 8 +- .../src}/bricks/transformers/template.ts | 10 +- .../DisplayTemporaryInfo.test.ts | 56 +- .../temporaryInfo/DisplayTemporaryInfo.ts | 16 +- .../temporaryInfo/EphemeralPanel.module.scss | 0 .../temporaryInfo/EphemeralPanel.test.tsx | 18 +- .../temporaryInfo/EphemeralPanel.tsx | 28 +- .../EphemeralPanel.test.tsx.snap | 0 .../temporaryInfo/messenger/api.ts | 0 .../temporaryInfo/messenger/registration.ts | 4 +- .../temporaryInfo/receiverProtocol.test.ts | 6 +- .../temporaryInfo/receiverProtocol.ts | 8 +- .../temporaryPanelProtocol.test.ts | 8 +- .../useTemporaryPanelDefinition.ts | 16 +- .../transformers/traverseElements.test.ts | 8 +- .../bricks/transformers/traverseElements.ts | 10 +- .../src}/bricks/transformers/url.ts | 8 +- .../browser-extension/src}/bricks/types.ts | 0 .../src}/bricks/util.test.ts | 2 +- .../browser-extension/src}/bricks/util.ts | 12 +- .../src}/components/AceEditor.tsx | 0 .../src}/components/AceEditorSync.tsx | 0 .../src}/components/Alert.tsx | 0 .../src}/components/AsyncButton.stories.tsx | 2 +- .../src}/components/AsyncButton.tsx | 0 .../src}/components/AsyncStateGate.test.tsx | 6 +- .../src}/components/AsyncStateGate.tsx | 6 +- ...lockFormSubmissionViaEnterIfFirstChild.tsx | 0 .../src}/components/Centered.tsx | 0 .../src}/components/ClickableElement.test.tsx | 0 .../src}/components/ClickableElement.tsx | 0 .../components/ConfirmNavigationModal.tsx | 0 .../components/ConfirmationModal.stories.tsx | 2 +- .../src}/components/ConfirmationModal.tsx | 0 .../DatabaseUnresponsiveBanner.test.tsx | 8 +- .../components/DatabaseUnresponsiveBanner.tsx | 16 +- .../src}/components/DelayedRender.test.tsx | 0 .../src}/components/DelayedRender.tsx | 2 +- .../src}/components/DiffEditor.tsx | 0 .../src}/components/DiffEditorSync.tsx | 0 .../src}/components/Effect.tsx | 0 .../src}/components/EmotionShadowRoot.ts | 0 .../src}/components/ErrorBoundary.tsx | 4 +- .../src}/components/GridLoader.stories.tsx | 2 +- .../InvalidatedContextGate.test.tsx | 4 +- .../components/InvalidatedContextGate.tsx | 4 +- .../src}/components/IsolatedComponent.scss | 0 .../src}/components/IsolatedComponent.tsx | 4 +- .../src}/components/LayoutWidget.tsx | 0 .../src}/components/LinkButton.module.scss | 0 .../src}/components/LinkButton.stories.tsx | 2 +- .../src}/components/LinkButton.tsx | 0 .../src}/components/Loader.module.scss | 0 .../src}/components/Loader.stories.tsx | 2 +- .../src}/components/Loader.tsx | 0 .../src}/components/Markdown.tsx | 2 +- .../src}/components/MarkdownInline.test.tsx | 2 +- .../src}/components/MarkdownInline.tsx | 2 +- .../components/MarketplaceListingIcon.tsx | 6 +- .../MarketplaceListingModIcon.module.scss | 0 .../src}/components/ModalLayout.tsx | 0 .../src}/components/OfficialBadge.tsx | 2 +- .../src}/components/PackageIcon.tsx | 18 +- .../src}/components/StopPropagation.test.tsx | 2 +- .../src}/components/StopPropagation.tsx | 0 .../src}/components/Stylesheets.test.tsx | 0 .../src}/components/Stylesheets.tsx | 2 +- .../src}/components/StylesheetsContext.ts | 6 +- .../src}/components/TooltipIconButton.tsx | 0 .../components/UnstyledButton.module.scss | 0 .../src}/components/UnstyledButton.tsx | 0 .../MarkdownInline.test.tsx.snap | 0 .../FieldAnnotationAlert.module.scss | 0 .../FieldAnnotationAlert.stories.tsx | 2 +- .../FieldAnnotationAlert.test.tsx | 8 +- .../annotationAlert/FieldAnnotationAlert.tsx | 12 +- .../FieldAnnotationAlert.test.tsx.snap | 0 .../src}/components/asyncCard/AsyncCard.tsx | 4 +- .../src}/components/asyncIcon.ts | 4 +- .../src}/components/banner/Banner.module.scss | 0 .../src}/components/banner/Banner.stories.tsx | 0 .../src}/components/banner/Banner.tsx | 0 .../ellipsisMenu/EllipsisMenu.module.scss | 0 .../ellipsisMenu/EllipsisMenu.stories.tsx | 0 .../ellipsisMenu/EllipsisMenu.test.tsx | 2 +- .../components/ellipsisMenu/EllipsisMenu.tsx | 0 .../components/errors/ErrorDetail.module.scss | 0 .../errors/InputValidationErrorDetail.tsx | 4 +- .../errors/InvalidSelectorErrorDetail.tsx | 2 +- .../components/errors/NetworkErrorDetail.tsx | 10 +- .../errors/OutputValidationErrorDetail.tsx | 4 +- .../errors/RemoteApiErrorDetail.tsx | 8 +- .../getErrorDetails.test.tsx.snap | 0 .../errors/getErrorDetails.test.tsx | 2 +- .../components/errors/getErrorDetails.tsx | 12 +- .../src}/components/fields/IconWidget.tsx | 8 +- .../src}/components/fields/fieldUtils.test.ts | 6 +- .../src}/components/fields/fieldUtils.ts | 6 +- .../src}/components/fields/optionsRegistry.ts | 4 +- .../AppApiIntegrationDependencyField.tsx | 10 +- .../schemaFields/BasicSchemaField.test.tsx | 12 +- .../fields/schemaFields/BasicSchemaField.tsx | 26 +- .../fields/schemaFields/CssClassField.tsx | 8 +- .../fields/schemaFields/CssSpacingField.tsx | 4 +- .../schemaFields/DatabaseGroupSelect.tsx | 10 +- .../schemaFields/FieldRuntimeContext.ts | 2 +- .../fields/schemaFields/HeadingStyleField.tsx | 2 +- .../RemoteSchemaObjectField.stories.tsx | 8 +- .../RemoteSchemaObjectField.test.tsx | 10 +- .../schemaFields/RemoteSchemaObjectField.tsx | 24 +- .../fields/schemaFields/RootAwareField.tsx | 10 +- .../schemaFields/SchemaField.stories.tsx | 6 +- .../fields/schemaFields/SchemaField.test.tsx | 22 +- .../fields/schemaFields/SchemaField.tsx | 14 +- .../schemaFields/SchemaFieldContext.tsx | 8 +- .../schemaFields/WorkshopMessage.module.scss | 0 .../fields/schemaFields/WorkshopMessage.tsx | 0 .../schemaFields/defaultFieldFactory.tsx | 6 +- .../schemaFields/fieldInputMode.test.ts | 6 +- .../fields/schemaFields/fieldInputMode.ts | 4 +- .../schemaFields/fieldTypeCheckers.test.ts | 4 +- .../fields/schemaFields/fieldTypeCheckers.ts | 18 +- .../schemaFields/genericOptionsFactory.tsx | 10 +- .../schemaFields/getToggleOptions.test.ts | 2 +- .../fields/schemaFields/getToggleOptions.tsx | 10 +- .../IntegrationAuthSelectWidget.stories.tsx | 6 +- .../IntegrationAuthSelectWidget.tsx | 4 +- .../IntegrationDependencyField.tsx | 14 +- .../IntegrationDependencyWidget.test.tsx | 24 +- .../IntegrationDependencyWidget.tsx | 38 +- .../integrationDependencyFieldUtils.test.ts | 30 +- .../integrationDependencyFieldUtils.ts | 6 +- .../optionIcon/OptionIcon.module.scss | 0 .../schemaFields/optionIcon/OptionIcon.tsx | 0 .../schemaFields/optionIcon/icons/array.svg | 0 .../schemaFields/optionIcon/icons/exclude.svg | 0 .../schemaFields/optionIcon/icons/key.svg | 0 .../schemaFields/optionIcon/icons/number.svg | 0 .../schemaFields/optionIcon/icons/object.svg | 0 .../optionIcon/icons/querySelector.svg | 0 .../schemaFields/optionIcon/icons/select.svg | 0 .../schemaFields/optionIcon/icons/text.svg | 0 .../schemaFields/optionIcon/icons/toggle.svg | 0 .../schemaFields/optionIcon/icons/var.svg | 0 .../fields/schemaFields/propTypes.ts | 2 +- .../fields/schemaFields/schemaFieldTypes.ts | 6 +- .../schemaFields/schemaFieldUtils.test.ts | 4 +- .../fields/schemaFields/schemaFieldUtils.ts | 12 +- .../fields/schemaFields/schemaUtils.test.ts | 2 +- .../fields/schemaFields/schemaUtils.ts | 2 +- .../schemaFields/selectFieldUtils.test.ts | 4 +- .../fields/schemaFields/selectFieldUtils.ts | 6 +- .../fields/schemaFields/testHelpers.ts | 0 .../widgets/ArrayWidget.module.scss | 0 .../schemaFields/widgets/ArrayWidget.test.tsx | 10 +- .../schemaFields/widgets/ArrayWidget.tsx | 16 +- .../schemaFields/widgets/BooleanWidget.tsx | 2 +- .../widgets/CodeEditorWidget.stories.tsx | 6 +- .../widgets/CodeEditorWidget.test.tsx | 4 +- .../schemaFields/widgets/CodeEditorWidget.tsx | 4 +- .../widgets/DatabaseCreateModal.tsx | 22 +- .../schemaFields/widgets/DatabaseWidget.tsx | 20 +- .../widgets/FixedInnerObjectWidget.test.tsx | 8 +- .../widgets/FixedInnerObjectWidget.tsx | 8 +- .../widgets/HeadingStyleWidget.module.scss | 0 .../widgets/HeadingStyleWidget.tsx | 4 +- .../schemaFields/widgets/IntegerWidget.tsx | 4 +- .../schemaFields/widgets/NumberWidget.tsx | 4 +- .../widgets/ObjectWidget.test.tsx | 12 +- .../schemaFields/widgets/ObjectWidget.tsx | 16 +- .../schemaFields/widgets/OmitFieldWidget.tsx | 2 +- .../widgets/PasswordWidget.module.scss | 0 .../schemaFields/widgets/PasswordWidget.tsx | 4 +- .../SchemaButtonVariantWidget.module.scss | 0 .../SchemaButtonVariantWidget.test.tsx | 6 +- .../widgets/SchemaButtonVariantWidget.tsx | 6 +- .../widgets/SchemaCustomEventWidget.tsx | 6 +- .../widgets/SchemaSelectWidget.test.tsx | 10 +- .../widgets/SchemaSelectWidget.tsx | 14 +- .../widgets/TemplateToggleWidget.module.scss | 0 .../widgets/TemplateToggleWidget.tsx | 10 +- .../widgets/TextWidget.stories.tsx | 10 +- .../schemaFields/widgets/TextWidget.test.tsx | 10 +- .../schemaFields/widgets/TextWidget.tsx | 20 +- .../widgets/UnsupportedWidget.tsx | 2 +- .../widgets/UrlMatchPatternWidget.tsx | 14 +- .../widgets/WidgetLoadingIndicator.tsx | 0 .../widgets/WorkshopMessageWidget.tsx | 2 +- .../__snapshots__/ArrayWidget.test.tsx.snap | 0 .../CodeEditorWidget.test.tsx.snap | 0 .../FixedInnerObjectWidget.test.tsx.snap | 0 .../__snapshots__/ObjectWidget.test.tsx.snap | 0 .../SchemaButtonVariantWidget.test.tsx.snap | 0 .../SchemaSelectWidget.test.tsx.snap | 0 .../__snapshots__/TextWidget.test.tsx.snap | 0 .../CssClassWidget.module.scss | 0 .../CssClassWidget.stories.tsx | 10 +- .../cssClassWidgets/CssClassWidget.test.tsx | 10 +- .../cssClassWidgets/CssClassWidget.tsx | 12 +- .../CssSpacingWidget.module.scss | 0 .../CssSpacingWidget.stories.tsx | 12 +- .../cssClassWidgets/CssSpacingWidget.test.tsx | 10 +- .../cssClassWidgets/CssSpacingWidget.tsx | 12 +- .../CssClassWidget.test.tsx.snap | 0 .../CssSpacingWidget.test.tsx.snap | 0 .../widgets/cssClassWidgets/types.ts | 2 +- .../widgets/cssClassWidgets/utils.test.ts | 4 +- .../widgets/cssClassWidgets/utils.ts | 6 +- .../widgets/registerDefaultWidgets.ts | 14 +- .../widgets/templateToggleWidgetTypes.tsx | 6 +- .../widgets/urlMatchPatternWidgetTypes.tsx | 2 +- .../widgets/varPopup/SourceLabel.module.scss | 0 .../widgets/varPopup/SourceLabel.tsx | 6 +- .../widgets/varPopup/VarMenu.module.scss | 0 .../widgets/varPopup/VarMenu.test.tsx | 16 +- .../schemaFields/widgets/varPopup/VarMenu.tsx | 34 +- .../widgets/varPopup/VarPopup.tsx | 8 +- .../varPopup/VariablesTree.stories.tsx | 0 .../widgets/varPopup/VariablesTree.test.tsx | 4 +- .../widgets/varPopup/VariablesTree.tsx | 6 +- .../__snapshots__/VarMenu.test.tsx.snap | 0 .../__snapshots__/VariablesTree.test.tsx.snap | 0 .../widgets/varPopup/getMenuOptions.test.ts | 10 +- .../widgets/varPopup/getMenuOptions.ts | 10 +- .../varPopup/likelyVariableUtils.test.ts | 0 .../widgets/varPopup/likelyVariableUtils.ts | 2 +- .../widgets/varPopup/menuFilters.test.ts | 6 +- .../widgets/varPopup/menuFilters.ts | 6 +- .../widgets/varPopup/popoverTheme.ts | 2 +- .../widgets/varPopup/useAttachPopup.ts | 12 +- .../varPopup/useKeyboardNavigation.test.ts | 4 +- .../widgets/varPopup/useKeyboardNavigation.ts | 4 +- .../widgets/varPopup/useTreeRow.ts | 2 +- .../schemaFields/widgets/varPopup/utils.ts | 2 +- .../widgets/varPopup/varSelectors.ts | 4 +- .../schemaFields/widgets/widgetUtils.test.ts | 2 +- .../schemaFields/widgets/widgetUtils.ts | 2 +- .../schemaFields/widgets/widgetsRegistry.ts | 4 +- .../floatingActions/ActionButton.tsx | 0 .../floatingActions/FloatingActions.scss | 0 .../floatingActions/FloatingActions.tsx | 22 +- .../floatingActionsConstants.ts | 0 .../floatingActions/initFloatingActions.ts | 18 +- .../src}/components/floatingActions/store.ts | 4 +- .../form/ConnectedFieldTemplate.test.tsx | 22 +- .../form/ConnectedFieldTemplate.tsx | 12 +- .../src}/components/form/FieldAnnotation.ts | 2 +- .../components/form/FieldTemplate.module.scss | 0 .../components/form/FieldTemplate.test.tsx | 2 +- .../src}/components/form/FieldTemplate.tsx | 14 +- .../src}/components/form/Form.module.scss | 0 .../src}/components/form/Form.stories.tsx | 8 +- .../src}/components/form/Form.tsx | 0 .../LockedStarterBrickLabel.module.scss | 0 .../lockedLabel/LockedStarterBrickLabel.tsx | 2 +- ...akeFieldActionForAnnotationAction.test.tsx | 16 +- .../makeFieldActionForAnnotationAction.ts | 4 +- .../form/makeFieldAnnotationsForValue.ts | 6 +- .../PopoverInfoLabel.module.scss | 0 .../PopoverInfoLabel.stories.tsx | 2 +- .../popoverInfoLabel/PopoverInfoLabel.tsx | 0 .../widgets/AsyncRemoteSelectWidget.test.tsx | 10 +- .../form/widgets/AsyncRemoteSelectWidget.tsx | 10 +- .../widgets/FieldTemplateLocalErrorContext.ts | 0 .../components/form/widgets/KeyNameWidget.tsx | 0 .../form/widgets/RegistryIdWidget.module.scss | 0 .../form/widgets/RegistryIdWidget.test.tsx | 12 +- .../form/widgets/RegistryIdWidget.tsx | 10 +- .../widgets/RemoteMultiSelectWidget.test.tsx | 12 +- .../form/widgets/RemoteMultiSelectWidget.tsx | 18 +- .../form/widgets/RemoteSelectWidget.test.tsx | 12 +- .../form/widgets/RemoteSelectWidget.tsx | 14 +- .../form/widgets/SelectWidget.test.tsx | 2 +- .../components/form/widgets/SelectWidget.tsx | 4 +- .../__snapshots__/SelectWidget.test.tsx.snap | 0 .../widgets/createMenuListWithAddButton.tsx | 0 .../SwitchButtonWidget.module.scss | 0 .../SwitchButtonWidget.stories.tsx | 2 +- .../switchButton/SwitchButtonWidget.test.tsx | 0 .../switchButton/SwitchButtonWidget.tsx | 2 +- .../SwitchButtonWidget.test.tsx.snap | 0 .../widgets/useAddCreatablePlaceholder.ts | 2 +- .../form/widgets/useOptionsResolver.test.ts | 6 +- .../form/widgets/useOptionsResolver.ts | 12 +- .../formBuilder/BaseInputTemplate.test.tsx | 2 +- .../formBuilder/BaseInputTemplate.tsx | 2 +- .../formBuilder/DescriptionField.tsx | 2 +- .../formBuilder/DescriptionFieldTemplate.tsx | 2 +- .../formBuilder/FieldTemplate.module.scss | 0 .../components/formBuilder/FieldTemplate.tsx | 6 +- .../formBuilder/RjsfSubmitContext.ts | 0 .../components/formBuilder/RjsfTemplates.ts | 6 +- .../demo/FormBuilderDemo.module.scss | 0 .../demo/FormBuilderDemo.stories.tsx | 4 +- .../formBuilder/demo/FormBuilderDemo.test.tsx | 14 +- .../formBuilder/demo/FormBuilderDemo.tsx | 8 +- .../formBuilder/edit/ActiveField.tsx | 10 +- .../formBuilder/edit/FieldEditor.module.scss | 0 .../formBuilder/edit/FieldEditor.tsx | 32 +- .../formBuilder/edit/FormEditor.test.tsx | 20 +- .../formBuilder/edit/FormEditor.tsx | 12 +- .../formBuilder/edit/FormIntroFields.tsx | 6 +- .../__snapshots__/FormEditor.test.tsx.snap | 0 .../formBuilder/formBuilderHelpers.test.ts | 8 +- .../formBuilder/formBuilderHelpers.ts | 12 +- .../formBuilder/formBuilderTypes.ts | 2 +- .../formBuilder/preview/FormPreview.test.tsx | 4 +- .../formBuilder/preview/FormPreview.tsx | 26 +- .../preview/FormPreviewSchemaField.tsx | 2 +- .../preview/ImageCropWidgetPreview.tsx | 0 .../__snapshots__/FormPreview.test.tsx.snap | 0 .../formBuilder/schemaFieldNames.ts | 0 .../components/formBuilder/testHelpers.ts | 2 +- .../formBuilder/widgets/ImageCropWidget.tsx | 0 .../widgets/RichTextWidget.test.tsx | 4 +- .../formBuilder/widgets/RichTextWidget.tsx | 2 +- .../widgets/RjsfSelectWidget.test.tsx | 6 +- .../formBuilder/widgets/RjsfSelectWidget.tsx | 0 .../widgets/TextAreaWidget.module.scss | 0 .../widgets/TextAreaWidget.test.tsx | 6 +- .../formBuilder/widgets/TextAreaWidget.tsx | 6 +- .../ImagePlaceholder.stories.tsx | 2 +- .../imagePlaceholder/ImagePlaceholder.tsx | 0 .../integrations/AuthWidget.module.scss | 0 .../integrations/AuthWidget.test.tsx | 28 +- .../components/integrations/AuthWidget.tsx | 46 +- .../IntegrationConfigEditorModal.module.scss | 0 .../IntegrationConfigEditorModal.stories.tsx | 14 +- .../IntegrationConfigEditorModal.test.tsx | 20 +- .../IntegrationConfigEditorModal.tsx | 26 +- .../integrations/integrationHelpers.test.ts | 2 +- .../integrations/integrationHelpers.ts | 10 +- .../components/isolatedComponentList.d.ts | 0 .../src}/components/isolatedComponentList.mjs | 0 .../components/jsonTree/JsonTree.module.scss | 0 .../components/jsonTree/JsonTree.stories.tsx | 0 .../components/jsonTree/JsonTree.test.tsx | 2 +- .../src}/components/jsonTree/JsonTree.tsx | 12 +- .../src}/components/jsonTree/treeHooks.tsx | 8 +- .../components/logViewer/EntryRow.module.scss | 0 .../src}/components/logViewer/EntryRow.tsx | 10 +- .../components/logViewer/LogCard.test.tsx | 0 .../src}/components/logViewer/LogCard.tsx | 14 +- .../components/logViewer/LogTable.module.scss | 0 .../components/logViewer/LogTable.stories.tsx | 12 +- .../src}/components/logViewer/LogTable.tsx | 4 +- .../logViewer/LogToolbar.stories.tsx | 0 .../src}/components/logViewer/LogToolbar.tsx | 8 +- .../__snapshots__/LogCard.test.tsx.snap | 0 .../logViewer/details/InputDetail.tsx | 4 +- .../logViewer/details/OutputDetail.tsx | 4 +- .../src}/components/logViewer/logSelectors.ts | 0 .../src}/components/logViewer/logSlice.ts | 4 +- .../components/logViewer/logViewerTypes.ts | 4 +- .../components/logViewer/useLogEntriesView.ts | 4 +- .../components/logViewer/usePollModLogs.ts | 2 +- .../OnboardingChecklistCard.module.scss | 0 .../OnboardingChecklistCard.stories.tsx | 2 +- .../onboarding/OnboardingChecklistCard.tsx | 2 +- .../packageSearchModal/PackageDetail.tsx | 10 +- .../packageSearchModal/PackageResult.tsx | 8 +- .../PackageSearchModal.module.scss | 0 .../packageSearchModal/PackageSearchModal.tsx | 16 +- .../packageSearchModal/QuickAdd.module.scss | 0 .../packageSearchModal/QuickAdd.tsx | 4 +- .../paginatedTable/PaginatedTable.module.scss | 0 .../paginatedTable/PaginatedTable.test.tsx | 4 +- .../paginatedTable/PaginatedTable.tsx | 0 .../pagination/Pagination.stories.tsx | 0 .../components/pagination/Pagination.test.tsx | 0 .../src}/components/pagination/Pagination.tsx | 0 .../__snapshots__/Pagination.test.tsx.snap | 0 .../quickBar/QuickBarApp.module.scss | 0 .../components/quickBar/QuickBarApp.test.tsx | 12 +- .../src}/components/quickBar/QuickBarApp.tsx | 0 .../components/quickBar/QuickBarResults.tsx | 4 +- .../__snapshots__/QuickBarApp.test.tsx.snap | 0 .../components/quickBar/defaultActions.tsx | 8 +- .../components/quickBar/quickBarRegistry.ts | 12 +- .../components/quickBar/quickBarTheme.tsx | 0 .../src}/components/quickBar/quickbarTypes.ts | 0 .../quickBar/useActionGenerators.test.tsx | 8 +- .../quickBar/useActionGenerators.ts | 4 +- .../components/quickBar/useActions.test.tsx | 10 +- .../src}/components/quickBar/useActions.ts | 4 +- .../src}/components/quickBar/utils.ts | 2 +- .../richTextEditor/RichTextEditor.module.scss | 0 .../richTextEditor/RichTextEditor.stories.tsx | 0 .../richTextEditor/RichTextEditor.test.tsx | 0 .../richTextEditor/RichTextEditor.tsx | 2 +- .../richTextEditor/toolbar/BoldButton.tsx | 0 .../toolbar/HeadingLevelDropdown.tsx | 2 +- .../richTextEditor/toolbar/ItalicButton.tsx | 0 .../richTextEditor/toolbar/Toolbar.tsx | 8 +- .../schemaTree/SchemaTree.module.scss | 0 .../schemaTree/SchemaTree.stories.tsx | 2 +- .../src}/components/schemaTree/SchemaTree.tsx | 6 +- .../SelectionToolPopover.module.scss | 2 +- .../SelectionToolPopover.stories.tsx | 2 +- .../SelectionToolPopover.tsx | 6 +- .../showSelectionToolPopover.tsx | 6 +- .../tabLayout/EditorTabLayout.module.scss | 0 .../tabLayout/EditorTabLayout.test.tsx | 4 +- .../components/tabLayout/EditorTabLayout.tsx | 6 +- .../EditorTabLayout.test.tsx.snap | 0 .../teamTrials/TeamTrialBanner.test.tsx | 12 +- .../components/teamTrials/TeamTrialBanner.tsx | 6 +- .../teamTrials/TrialAwareButton.test.tsx | 14 +- .../teamTrials/TrialAwareButton.tsx | 8 +- .../teamTrials/TrialCallToActionLink.tsx | 0 .../teamTrials/useGetAllTeamScopes.ts | 2 +- .../teamTrials/useTeamTrialStatus.ts | 2 +- .../WalkthroughModal.module.scss | 0 .../walkthroughModal/WalkthroughModalApp.tsx | 28 +- .../walkthroughModal/showWalkthroughModal.ts | 10 +- .../src}/contentScript/activationConstants.ts | 0 .../src}/contentScript/audio.ts | 0 .../src}/contentScript/contentScript.scss | 0 .../src}/contentScript/contentScript.ts | 11 +- .../src}/contentScript/contentScriptCore.ts | 0 .../contentScriptPlatform.test.ts | 26 +- .../contentScript/contentScriptPlatform.ts | 57 +- .../src}/contentScript/context.ts | 0 .../src}/contentScript/contextMenus.ts | 4 +- .../contentScript/elementReference.test.ts | 4 +- .../src}/contentScript/elementReference.ts | 2 +- .../src}/contentScript/ephemeralForm.ts | 14 +- .../src}/contentScript/ephemeralPanel.ts | 24 +- .../ephemeralPanelController.tsx | 4 +- .../src}/contentScript/executor.ts | 8 +- .../contentScript/focusCaptureDialog.scss | 0 .../src}/contentScript/focusCaptureDialog.ts | 4 +- .../integrations/LoginBanners.scss | 0 .../integrations/LoginBanners.test.tsx | 4 +- .../integrations/LoginBanners.tsx | 18 +- .../integrations/bannerDomController.tsx | 8 +- .../deferredLoginController.test.tsx | 18 +- .../integrations/deferredLoginController.ts | 18 +- .../integrations/deferredLoginTypes.ts | 2 +- .../src}/contentScript/lifecycle.test.ts | 28 +- .../src}/contentScript/lifecycle.ts | 43 +- .../loadActivationEnhancements.ts | 4 +- .../loadActivationEnhancementsCore.test.ts | 34 +- .../loadActivationEnhancementsCore.ts | 12 +- .../src}/contentScript/messenger/api.ts | 2 +- .../contentScript/messenger/registration.ts | 58 +- .../contentScript/messenger/runBrickTypes.ts | 8 +- .../src}/contentScript/modalDom.tsx | 8 +- .../src}/contentScript/pageEditor/beautify.ts | 0 .../contentScript/pageEditor/draft/overlay.ts | 6 +- .../draft/runStarterBrickReaderPreview.ts | 0 .../draft/updateDraftModComponent.ts | 0 .../pageEditor/elementInformation.test.ts | 2 +- .../pageEditor/elementInformation.ts | 4 +- .../pageEditor/elementPicker.test.ts | 8 +- .../contentScript/pageEditor/elementPicker.ts | 12 +- .../contentScript/pageEditor/insertButton.tsx | 14 +- .../src}/contentScript/pageEditor/resetTab.ts | 4 +- .../pageEditor/runBrickPreview.ts | 18 +- .../pageEditor/runRendererBrick.ts | 24 +- .../pageEditor/selectElement.test.ts | 4 +- .../contentScript/pageEditor/selectElement.ts | 14 +- .../src}/contentScript/pageEditor/types.ts | 16 +- .../src}/contentScript/partnerIntegrations.ts | 2 +- .../performanceMonitoring.test.ts | 2 +- .../contentScript/performanceMonitoring.ts | 8 +- .../pipelineProtocol/runHeadlessPipeline.ts | 10 +- .../pipelineProtocol/runMapArgs.ts | 8 +- .../pipelineProtocol/runRendererPipeline.ts | 16 +- .../contentScript/pipelineProtocol/types.ts | 10 +- .../platform/contentScriptPlatformProtocol.ts | 4 +- .../src}/contentScript/popover.scss | 0 .../src}/contentScript/popoverDom.ts | 10 +- .../src}/contentScript/ready.ts | 4 +- .../src}/contentScript/setExtensionIdInApp.ts | 0 .../src}/contentScript/sidebarActivation.ts | 22 +- .../src}/contentScript/sidebarController.tsx | 28 +- .../SnippetShortcutMenu.scss | 0 .../SnippetShortcutMenu.stories.tsx | 10 +- .../SnippetShortcutMenu.test.tsx | 6 +- .../SnippetShortcutMenu.tsx | 26 +- .../snippetShortcutMenuController.test.tsx | 6 +- .../snippetShortcutMenuController.tsx | 20 +- .../snippetShortcutMenuSlice.test.ts | 6 +- .../snippetShortcutMenuSlice.ts | 8 +- .../snippetShortcutRegistry.ts | 6 +- .../snippetShortcutUtils.test.ts | 2 +- .../snippetShortcutUtils.ts | 10 +- .../snippetShortcutMenu/useKeyboardQuery.ts | 6 +- .../useSnippetShortcutRegistry.ts | 4 +- .../modVariablePolicyController.ts | 16 +- .../stateController/stateController.test.ts | 10 +- .../stateController/stateController.ts | 20 +- .../stateController/stateEventHelpers.ts | 2 +- .../src}/contentScript/textEditorDom.ts | 12 +- .../textSelectionMenu/ActionRegistry.test.ts | 4 +- .../textSelectionMenu/ActionRegistry.ts | 12 +- .../textSelectionMenu/SelectionMenu.scss | 2 +- .../SelectionMenu.stories.tsx | 6 +- .../textSelectionMenu/SelectionMenu.tsx | 18 +- .../selectionMenuController.test.ts | 10 +- .../selectionMenuController.tsx | 24 +- .../textSelectionMenu/useActionRegistry.ts | 6 +- .../src}/contentScript/tooltipDom.ts | 2 +- .../walkthroughModalProtocol.tsx | 0 .../automationanywhere/ApiTaskOptions.tsx | 32 +- .../automationanywhere/AwaitResultField.tsx | 10 +- .../automationanywhere/BotOptions.test.tsx | 34 +- .../contrib/automationanywhere/BotOptions.tsx | 38 +- .../FolderIdConfigAlert.tsx | 6 +- .../RemoteFileInputArguments.tsx | 8 +- .../RemoteFileSelectField.test.tsx | 10 +- .../RemoteFileSelectField.tsx | 10 +- .../automationanywhere/RunApiTask.test.ts | 44 +- .../contrib/automationanywhere/RunApiTask.ts | 18 +- .../contrib/automationanywhere/RunBot.test.ts | 26 +- .../src}/contrib/automationanywhere/RunBot.ts | 24 +- .../SetCopilotDataEffect.ts | 16 +- .../automationanywhere/WorkspaceTypeField.tsx | 10 +- .../__snapshots__/BotOptions.test.tsx.snap | 0 .../contrib/automationanywhere/aaApi.test.ts | 14 +- .../src}/contrib/automationanywhere/aaApi.ts | 26 +- .../automationanywhere/aaFrameProtocol.ts | 8 +- .../contrib/automationanywhere/aaTypes.ts | 2 +- .../automationanywhere/aaUtils.test.ts | 4 +- .../contrib/automationanywhere/aaUtils.ts | 10 +- .../contrib/automationanywhere/contract.ts | 0 .../useWorkspaceTypeOptionsFactoryArgs.ts | 6 +- .../src}/contrib/automationanywhere/util.ts | 4 +- .../src}/contrib/ckeditor/ckeditor.test.ts | 6 +- .../src}/contrib/ckeditor/ckeditorDom.ts | 0 .../src}/contrib/ckeditor/ckeditorProtocol.ts | 4 +- .../src}/contrib/deepgram/deepgramTypes.ts | 6 +- .../src}/contrib/draftjs/draftJsDom.ts | 2 +- .../browser-extension/src}/contrib/editors.ts | 62 +- .../src}/contrib/google/geocode.ts | 14 +- .../google/sheets/bricks/append.test.ts | 20 +- .../contrib/google/sheets/bricks/append.ts | 28 +- .../google/sheets/bricks/lookup.test.ts | 12 +- .../contrib/google/sheets/bricks/lookup.ts | 20 +- .../core/getSheetIdIntegrationOutputKey.ts | 2 +- .../core/getSheetServiceOutputKey.test.ts | 4 +- .../core/handleGoogleRequestRejection.ts | 14 +- .../contrib/google/sheets/core/schemas.ts | 6 +- .../google/sheets/core/sheetsApi.test.ts | 36 +- .../contrib/google/sheets/core/sheetsApi.ts | 14 +- .../google/sheets/core/sheetsHelpers.test.ts | 2 +- .../google/sheets/core/sheetsHelpers.ts | 0 .../src}/contrib/google/sheets/core/types.ts | 0 .../google/sheets/core/useGoogleAccount.ts | 16 +- .../sheets/core/useSpreadsheetId.test.tsx | 18 +- .../google/sheets/core/useSpreadsheetId.ts | 24 +- .../ui/AppendSpreadsheetOptions.test.tsx | 40 +- .../sheets/ui/AppendSpreadsheetOptions.tsx | 24 +- .../ui/LookupSpreadsheetOptions.test.tsx | 36 +- .../sheets/ui/LookupSpreadsheetOptions.tsx | 24 +- .../google/sheets/ui/RequireGoogleSheet.tsx | 34 +- .../ui/SpreadsheetPickerWidget.module.scss | 0 .../ui/SpreadsheetPickerWidget.test.tsx | 28 +- .../sheets/ui/SpreadsheetPickerWidget.tsx | 30 +- .../google/sheets/ui/TabField.test.tsx | 16 +- .../contrib/google/sheets/ui/TabField.tsx | 12 +- .../src}/contrib/hubspot/upsert.ts | 10 +- .../src}/contrib/navigationRules.ts | 2 +- .../src}/contrib/pipedrive/create.ts | 12 +- .../src}/contrib/pipedrive/readers.ts | 8 +- .../src}/contrib/pipedrive/resolvers.ts | 12 +- .../src}/contrib/registerContribBricks.ts | 8 +- .../src}/contrib/remoteOptionUtils.ts | 8 +- .../src}/contrib/salesforce/lead.ts | 10 +- .../src}/contrib/salesforce/navigation.ts | 0 .../src}/contrib/slack/message.ts | 10 +- .../contrib/uipath/ProcessOptions.test.tsx | 44 +- .../src}/contrib/uipath/ProcessOptions.tsx | 38 +- .../ProcessOptions.test.tsx.snap | 0 .../src}/contrib/uipath/process.ts | 20 +- .../src}/contrib/uipath/typeUtils.ts | 6 +- .../src}/contrib/uipath/uipathContract.ts | 0 .../src}/contrib/uipath/uipathHooks.ts | 20 +- .../src}/contrib/zapier/PushOptions.tsx | 48 +- .../src}/contrib/zapier/contract.ts | 2 +- .../src}/contrib/zapier/push.ts | 22 +- .../src}/data/model/ControlRoom.ts | 6 +- .../browser-extension/src}/data/model/Me.ts | 18 +- .../src}/data/model/MeTeam.ts | 10 +- .../src}/data/model/MeTeamMembership.ts | 10 +- .../src}/data/model/MeUserGroupMembership.ts | 6 +- .../src}/data/model/PartnerPrincipal.ts | 2 +- .../browser-extension/src}/data/model/Team.ts | 12 +- .../src}/data/model/TeamMembershipGroups.ts | 4 +- .../src}/data/model/TeamMembershipUser.ts | 6 +- .../src}/data/model/TeamMemberships.ts | 8 +- .../src}/data/model/TeamTheme.ts | 4 +- .../src}/data/model/UserMilestone.ts | 2 +- .../src}/data/model/UserPartner.ts | 10 +- .../src}/data/model/UserRole.ts | 2 +- .../src}/data/service/api.test.tsx | 12 +- .../src}/data/service/api.ts | 0 .../src}/data/service/apiClient.test.ts | 4 +- .../src}/data/service/apiClient.ts | 16 +- .../src}/data/service/apiVersioning.ts | 2 +- .../src}/data/service/backgroundApi.ts | 12 +- .../src}/data/service/baseQuery.ts | 6 +- .../src}/data/service/baseService.test.ts | 2 +- .../src}/data/service/baseService.ts | 8 +- .../src}/data/service/constants.ts | 0 .../src}/data/service/errorService.test.ts | 6 +- .../src}/data/service/errorService.ts | 38 +- .../src}/data/service/requestErrorUtils.ts | 12 +- .../src}/data/service/responseTypeHelpers.ts | 2 +- .../src}/data/service/urlPaths.ts | 4 +- .../src}/development/darkMode.js | 0 .../src}/development/errorsBadge.ts | 4 +- .../src}/development/headers.test.ts | 6 +- .../development/hooks/useMessengerLogging.ts | 4 +- .../src}/development/hooks/useRenderCount.ts | 0 .../src}/development/messengerLogging.ts | 0 .../src}/development/runtimeLogging.ts | 0 .../src}/development/visualInjection.ts | 2 +- .../browser-extension/src}/domConstants.ts | 0 .../src}/errors/authErrors.ts | 2 +- .../src}/errors/businessErrors.test.ts | 6 +- .../src}/errors/businessErrors.ts | 2 +- .../src}/errors/clientRequestErrors.test.ts | 2 +- .../src}/errors/clientRequestErrors.ts | 2 +- .../src}/errors/contextInvalidated.test.ts | 2 +- .../src}/errors/contextInvalidated.ts | 6 +- .../src}/errors/errorHelpers.test.tsx | 0 .../src}/errors/errorHelpers.ts | 0 .../src}/errors/genericErrors.ts | 2 +- .../src}/errors/knownErrorMessages.ts | 0 .../src}/errors/networkErrorHelpers.test.ts | 2 +- .../src}/errors/networkErrorHelpers.ts | 0 .../src}/errors/rejectOnCancelled.ts | 4 +- .../src}/extensionConsole/App.tsx | 62 +- .../src}/extensionConsole/Navbar.module.scss | 0 .../src}/extensionConsole/Navbar.test.tsx | 8 +- .../src}/extensionConsole/Navbar.tsx | 16 +- .../src}/extensionConsole/Sidebar.test.tsx | 8 +- .../src}/extensionConsole/Sidebar.tsx | 8 +- .../src}/extensionConsole/SidebarLink.tsx | 0 .../__snapshots__/Navbar.test.tsx.snap | 0 .../components/IDBErrorDisplay.stories.tsx | 4 +- .../components/IDBErrorDisplay.tsx | 30 +- .../components/RequireBrickRegistry.tsx | 10 +- .../components/ServiceFieldError.tsx | 4 +- .../src}/extensionConsole/options.html | 0 .../src}/extensionConsole/options.scss | 0 .../src}/extensionConsole/options.tsx | 0 .../pages/BrowserBanner.test.tsx | 10 +- .../extensionConsole/pages/BrowserBanner.tsx | 12 +- .../pages/InvitationBanner.tsx | 6 +- .../extensionConsole/pages/UpdateBanner.tsx | 10 +- .../__snapshots__/BrowserBanner.test.tsx.snap | 0 .../activateMod/ActivateModCard.module.scss | 0 .../pages/activateMod/ActivateModCard.tsx | 44 +- .../activateMod/ActivateModPage.test.tsx | 6 +- .../pages/activateMod/ActivateModPage.tsx | 28 +- .../activateMod/IntegrationDescriptor.tsx | 4 +- .../activateMod/IntegrationsBody.module.scss | 0 .../activateMod/IntegrationsBody.test.tsx | 40 +- .../pages/activateMod/IntegrationsBody.tsx | 30 +- .../pages/activateMod/OptionsBody.stories.tsx | 2 +- .../pages/activateMod/OptionsBody.test.tsx | 6 +- .../pages/activateMod/OptionsBody.tsx | 8 +- .../pages/activateMod/PermissionsBody.tsx | 16 +- .../pages/activateMod/UrlPermissionsList.tsx | 14 +- .../ActivateModPage.test.tsx.snap | 0 .../__snapshots__/OptionsBody.test.tsx.snap | 0 .../pages/activateMod/useModPermissions.ts | 20 +- .../deployments/CountdownTimer.stories.tsx | 2 +- .../pages/deployments/DeploymentBanner.tsx | 8 +- .../deployments/DeploymentModal.stories.tsx | 10 +- .../deployments/DeploymentModal.test.tsx | 14 +- .../pages/deployments/DeploymentModal.tsx | 22 +- .../deployments/DeploymentsContext.test.tsx | 36 +- .../pages/deployments/DeploymentsContext.tsx | 54 +- .../DeploymentModal.test.tsx.snap | 0 .../pages/deployments/activateDeployments.ts | 18 +- .../pages/deployments/useAutoDeploy.test.ts | 28 +- .../pages/deployments/useAutoDeploy.ts | 18 +- ...seDeactivateUnassignedDeploymentsEffect.ts | 4 +- .../integrations/ConnectExtensionCard.tsx | 6 +- .../pages/integrations/IntegrationsPage.tsx | 42 +- .../PrivateIntegrationsCard.module.scss | 0 .../integrations/PrivateIntegrationsCard.tsx | 20 +- .../integrations/ZapierIntegrationModal.tsx | 10 +- .../pages/mods/GetStartedView.module.scss | 0 .../pages/mods/GetStartedView.stories.tsx | 20 +- .../pages/mods/GetStartedView.tsx | 14 +- .../pages/mods/ListFilters.module.scss | 0 .../pages/mods/ModsPage.stories.tsx | 14 +- .../pages/mods/ModsPage.test.tsx | 36 +- .../extensionConsole/pages/mods/ModsPage.tsx | 18 +- .../pages/mods/ModsPageActions.test.tsx | 26 +- .../pages/mods/ModsPageActions.tsx | 30 +- .../pages/mods/ModsPageContent.tsx | 16 +- .../pages/mods/ModsPageSidebar.module.scss | 0 .../pages/mods/ModsPageSidebar.tsx | 16 +- .../mods/ModsPageTableLayout.module.scss | 0 .../pages/mods/ModsPageTableLayout.test.tsx | 24 +- .../pages/mods/ModsPageTableLayout.tsx | 6 +- .../pages/mods/ModsPageToolbar.tsx | 10 +- .../pages/mods/Status.module.scss | 0 .../pages/mods/Status.test.tsx | 12 +- .../extensionConsole/pages/mods/Status.tsx | 16 +- .../ModsPageTableLayout.test.tsx.snap | 0 .../mods/emptyView/EmptyView.module.scss | 0 .../pages/mods/emptyView/EmptyView.tsx | 6 +- .../pages/mods/gridView/GridCard.module.scss | 0 .../pages/mods/gridView/GridCard.tsx | 12 +- .../mods/gridView/GridCardErrorBoundary.tsx | 6 +- .../pages/mods/gridView/GridView.module.scss | 0 .../pages/mods/gridView/GridView.test.ts | 0 .../pages/mods/gridView/GridView.tsx | 8 +- .../mods/labels/LastUpdatedLabel.module.scss | 0 .../pages/mods/labels/LastUpdatedLabel.tsx | 2 +- .../mods/labels/SharingLabel.module.scss | 0 .../pages/mods/labels/SharingLabel.tsx | 2 +- .../pages/mods/listView/ListGroupHeader.tsx | 2 +- .../pages/mods/listView/ListItem.module.scss | 2 +- .../pages/mods/listView/ListItem.tsx | 12 +- .../mods/listView/ListItemErrorBoundary.tsx | 6 +- .../pages/mods/listView/ListView.tsx | 8 +- .../pages/mods/modals/Modals.tsx | 0 .../modLogsModal/ModLogsModal.module.scss | 0 .../mods/modals/modLogsModal/ModLogsModal.tsx | 10 +- .../pages/mods/modals/modModalsSelectors.ts | 2 +- .../pages/mods/modals/modModalsSlice.ts | 6 +- .../shareModals/CancelPublishContent.tsx | 16 +- .../modals/shareModals/EditPublishContent.tsx | 10 +- .../mods/modals/shareModals/ModOwnerLabel.tsx | 8 +- .../shareModals/PublishContentLayout.tsx | 14 +- .../modals/shareModals/PublishModContent.tsx | 20 +- .../shareModals/PublishModModals.test.tsx | 28 +- .../modals/shareModals/PublishModModals.tsx | 12 +- .../modals/shareModals/PublishedContent.tsx | 6 +- .../mods/modals/shareModals/ShareModModal.tsx | 8 +- .../modals/shareModals/ShareModModalBody.tsx | 34 +- .../shareModals/ShareModals.module.scss | 0 .../PublishModModals.test.tsx.snap | 0 .../shareModals/useHasEditPermissions.ts | 12 +- .../shareModals/useSortOrganizations.ts | 2 +- .../pages/mods/modsPageSelectors.ts | 24 +- .../pages/mods/modsPageSlice.ts | 6 +- .../pages/mods/modsPageTypes.ts | 2 +- .../onboardingView/OnboardingView.module.scss | 0 .../onboardingView/OnboardingView.stories.tsx | 6 +- .../onboardingView/OnboardingView.test.tsx | 22 +- .../mods/onboardingView/OnboardingView.tsx | 12 +- .../mods/onboardingView/useOnboarding.tsx | 12 +- .../utils/buildGetCanEditModScope.test.ts | 12 +- .../mods/utils/buildGetCanEditModScope.ts | 10 +- .../utils/buildGetModActivationStatus.test.ts | 6 +- .../mods/utils/buildGetModActivationStatus.ts | 6 +- .../utils/buildGetModSharingSource.test.ts | 16 +- .../mods/utils/buildGetModSharingSource.ts | 12 +- .../utils/buildGetModVersionStatus.test.ts | 14 +- .../mods/utils/buildGetModVersionStatus.ts | 12 +- .../pages/mods/utils/buildModViewItems.ts | 12 +- .../pages/mods/utils/buildModsList.test.ts | 18 +- .../pages/mods/utils/buildModsList.ts | 10 +- .../pages/mods/utils/useReactivateMod.test.ts | 12 +- .../pages/mods/utils/useReactivateMod.ts | 12 +- .../onboarding/DefaultSetupCard.stories.tsx | 2 +- .../pages/onboarding/DefaultSetupCard.tsx | 2 +- .../pages/onboarding/SetupPage.test.tsx | 30 +- .../pages/onboarding/SetupPage.tsx | 32 +- .../partner/ControlRoomOAuthForm.tsx | 28 +- .../partner/ControlRoomTokenForm.tsx | 24 +- .../partner/PartnerSetupCard.stories.tsx | 26 +- .../onboarding/partner/PartnerSetupCard.tsx | 28 +- .../partner/partnerOnboardingUtils.test.ts | 2 +- .../partner/partnerOnboardingUtils.ts | 0 .../pages/packageEditor/CodeEditor.tsx | 2 +- .../pages/packageEditor/CreatePage.tsx | 4 +- .../pages/packageEditor/EditPage.tsx | 30 +- .../pages/packageEditor/Editor.test.tsx | 14 +- .../pages/packageEditor/Editor.tsx | 32 +- .../packageEditor/PackageHistory.module.scss | 0 .../packageEditor/PackageHistory.test.tsx | 14 +- .../pages/packageEditor/PackageHistory.tsx | 6 +- .../pages/packageEditor/SharingTable.tsx | 6 +- .../referenceTab/DetailSection.tsx | 0 .../referenceTab/PackageDetail.module.scss | 0 .../referenceTab/PackageDetail.stories.tsx | 12 +- .../referenceTab/PackageDetail.test.tsx | 8 +- .../referenceTab/PackageDetail.tsx | 20 +- .../referenceTab/PackageReference.module.scss | 0 .../referenceTab/PackageReference.tsx | 14 +- .../referenceTab/PackageResult.module.scss | 0 .../referenceTab/PackageResult.tsx | 12 +- .../__snapshots__/PackageDetail.test.tsx.snap | 0 .../pages/packageEditor/useLogContext.ts | 8 +- .../packageEditor/useSubmitPackage.test.tsx | 34 +- .../pages/packageEditor/useSubmitPackage.ts | 30 +- .../pages/packageEditor/validate.test.ts | 12 +- .../pages/packageEditor/validate.ts | 6 +- .../pages/settings/AdvancedSettings.tsx | 34 +- .../pages/settings/ExperimentalSettings.tsx | 4 +- .../pages/settings/FactoryResetSettings.tsx | 26 +- .../pages/settings/GeneralSettings.tsx | 6 +- .../pages/settings/LoggingSettings.tsx | 16 +- .../pages/settings/PrivacySettings.tsx | 4 +- .../pages/settings/SettingToggle.tsx | 8 +- .../pages/settings/SettingsCard.module.scss | 0 .../pages/settings/SettingsPage.tsx | 22 +- .../pages/settings/StorageSettings.tsx | 20 +- .../settings/useDeploymentKeySetting.test.ts | 8 +- .../pages/settings/useDeploymentKeySetting.ts | 10 +- .../pages/settings/useDiagnostics.test.ts | 4 +- .../pages/settings/useDiagnostics.ts | 22 +- .../pages/settings/useServiceUrlSetting.ts | 10 +- .../pages/useRegistryIdParam.ts | 4 +- .../workshop/EditablePackagesCard.module.scss | 0 .../pages/workshop/EditablePackagesCard.tsx | 8 +- .../pages/workshop/WorkshopPage.test.tsx | 16 +- .../pages/workshop/WorkshopPage.tsx | 16 +- .../__snapshots__/WorkshopPage.test.tsx.snap | 0 .../pages/workshop/workshopTypes.ts | 2 +- .../pages/workshop/workshopUtils.test.ts | 4 +- .../pages/workshop/workshopUtils.ts | 2 +- .../src}/extensionConsole/store.ts | 50 +- .../src}/extensionConsole/testHelpers.tsx | 22 +- .../src}/extensionConsole/toggleSidebar.tsx | 0 .../src}/extensionContext.ts | 0 .../extensionPagePlatform.test.ts | 10 +- .../extensionPages/extensionPagePlatform.ts | 22 +- .../browser-extension/src}/globals.d.ts | 0 .../browser-extension/src}/hooks/logging.ts | 2 +- .../src}/hooks/useAbortSignal.test.ts | 0 .../src}/hooks/useAbortSignal.ts | 0 .../src}/hooks/useAdminConsoleUrl.ts | 6 +- .../src}/hooks/useAsyncExternalStore.test.ts | 4 +- .../src}/hooks/useAsyncExternalStore.ts | 4 +- .../useAsyncModOptionsValidationSchema.ts | 4 +- .../src}/hooks/useAsyncState.test.ts | 4 +- .../src}/hooks/useAsyncState.ts | 4 +- .../src}/hooks/useAuthOptions.test.ts | 14 +- .../src}/hooks/useAuthOptions.ts | 16 +- .../src}/hooks/useAuthorizationGrantFlow.ts | 6 +- .../src}/hooks/useAutoFocus.test.ts | 0 .../src}/hooks/useAutoFocusConfiguration.ts | 0 .../src}/hooks/useBrickOptions.ts | 8 +- .../src}/hooks/useBrowserIdentifier.ts | 4 +- .../src}/hooks/useContextInvalidated.ts | 0 .../src}/hooks/useDatabaseOptions.ts | 10 +- .../src}/hooks/useDebouncedEffect.ts | 0 .../src}/hooks/useDeriveAsyncState.test.ts | 6 +- .../src}/hooks/useDeriveAsyncState.ts | 4 +- .../src}/hooks/useDocumentSelection.ts | 2 +- .../src}/hooks/useDocumentVisibility.test.ts | 0 .../src}/hooks/useDocumentVisibility.ts | 0 .../src}/hooks/useEventListener.test.ts | 0 .../src}/hooks/useEventListener.ts | 0 .../src}/hooks/useFlags.test.tsx | 0 .../browser-extension/src}/hooks/useFlags.ts | 8 +- .../src}/hooks/useInterval.ts | 0 .../src}/hooks/useIsEnterpriseUser.ts | 6 +- .../src}/hooks/useIsMounted.test.ts | 0 .../src}/hooks/useIsMounted.ts | 0 .../src}/hooks/useKeyboardShortcut.ts | 0 .../src}/hooks/useMemoCompare.test.ts | 2 +- .../src}/hooks/useMemoCompare.ts | 0 .../src}/hooks/useMergeAsyncState.test.ts | 8 +- .../src}/hooks/useMergeAsyncState.ts | 4 +- .../src}/hooks/useMilestones.test.ts | 20 +- .../src}/hooks/useMilestones.ts | 8 +- .../src}/hooks/useOnMountOnly.test.ts | 0 .../src}/hooks/useOnMountOnly.ts | 0 .../src}/hooks/usePreviousValue.ts | 0 .../src}/hooks/useQuickbarShortcut.ts | 2 +- .../src}/hooks/useReduxState.ts | 0 .../src}/hooks/useRefreshRegistries.ts | 6 +- .../src}/hooks/useReportError.ts | 4 +- .../src}/hooks/useScrollLock.module.scss | 0 .../src}/hooks/useScrollLock.test.ts | 0 .../src}/hooks/useScrollLock.ts | 0 .../src}/hooks/useSetDocumentTitle.test.tsx | 4 +- .../src}/hooks/useSetDocumentTitle.ts | 0 .../src}/hooks/useTheme.test.ts | 22 +- .../browser-extension/src}/hooks/useTheme.ts | 10 +- .../src}/hooks/useTimeoutState.test.ts | 0 .../src}/hooks/useTimeoutState.ts | 0 .../src}/hooks/useToggleFormField.test.tsx | 2 +- .../src}/hooks/useToggleFormField.tsx | 0 .../src}/hooks/useUndo.test.ts | 2 +- .../browser-extension/src}/hooks/useUndo.ts | 2 +- .../src}/hooks/useUpdatableAsyncState.ts | 0 .../src}/hooks/useUserAction.ts | 8 +- .../src}/hooks/useWindowSize.test.ts | 2 +- .../src}/hooks/useWindowSize.ts | 0 .../src}/icons/Icon.module.scss | 0 .../browser-extension/src}/icons/Icon.tsx | 4 +- .../src}/icons/IconSelector.tsx | 4 +- .../src}/icons/arrow-downward.svg | 0 .../icons/arrow-up-from-bracket-solid.svg | 0 .../src}/icons/arrow-upward.svg | 0 .../browser-extension/src}/icons/constants.ts | 0 .../custom-icons/automation-anywhere.svg | 0 .../src}/icons/custom-icons/favicon.svg | 0 .../src}/icons/custom-icons/ic-unsaved.svg | 0 .../src}/icons/custom-icons/ic-warning.svg | 0 .../src}/icons/custom-icons/icon-sparkles.svg | 0 .../src}/icons/custom-icons/logo.svg | 0 .../src}/icons/custom-icons/uipath.ai | 0 .../src}/icons/custom-icons/uipath.svg | 0 .../browser-extension/src}/icons/delete.svg | 0 .../src}/icons/drag-handle.svg | 0 .../src}/icons/duplicate.svg | 0 .../browser-extension/src}/icons/error.svg | 0 .../src}/icons/getSvgIcon.ts | 2 +- .../browser-extension/src}/icons/info.svg | 0 .../browser-extension/src}/icons/list.ts | 0 .../src}/icons/select-parent.svg | 0 .../browser-extension/src}/icons/types.ts | 0 .../browser-extension/src}/icons/warning.svg | 0 .../UserDefinedIntegration.test.ts | 14 +- .../integrations/UserDefinedIntegration.ts | 16 +- .../src}/integrations/autoConfigure.ts | 11 +- .../components/IntegrationAuthSelector.tsx | 16 +- .../RequireIntegrationConfig.test.tsx | 32 +- .../components/RequireIntegrationConfig.tsx | 24 +- .../src}/integrations/constants.ts | 4 +- .../integrationConfigLocator.test.ts | 16 +- .../integrations/integrationConfigLocator.ts | 24 +- .../src}/integrations/integrationTypes.ts | 0 .../src}/integrations/registry.ts | 6 +- .../sanitizeIntegrationConfig.test.ts | 8 +- .../integrations/sanitizeIntegrationConfig.ts | 4 +- ...ionsSliceModIntegrationsContextAdapter.tsx | 4 +- .../store/integrationsMigrations.ts | 2 +- .../store/integrationsSelectors.ts | 4 +- .../store/integrationsSlice.test.ts | 6 +- .../integrations/store/integrationsSlice.ts | 10 +- ...izedIntegrationConfigFormikAdapter.test.ts | 18 +- ...SanitizedIntegrationConfigFormikAdapter.ts | 12 +- .../integrations/util/checkIntegrationAuth.ts | 6 +- ...istingConfiguredDependenciesForMod.test.ts | 12 +- ...ectExistingConfiguredDependenciesForMod.ts | 10 +- .../extractIntegrationIdsFromSchema.test.ts | 6 +- .../util/extractIntegrationIdsFromSchema.ts | 4 +- ...findSanitizedIntegrationConfigWithRetry.ts | 14 +- .../getModDefinitionIntegrationIds.test.ts | 10 +- .../util/getModDefinitionIntegrationIds.ts | 12 +- ...tUnconfiguredComponentIntegrations.test.ts | 10 +- .../getUnconfiguredComponentIntegrations.ts | 16 +- .../makeIntegrationContextFromDependencies.ts | 18 +- .../integrations/util/permissionsHelpers.ts | 12 +- .../util/pixiebrixConfigurationFactory.ts | 4 +- .../pixiebrixIntegrationDependencyFactory.ts | 4 +- .../util/readRawConfigurations.ts | 10 +- .../src}/layout/EnvironmentBanner.tsx | 8 +- .../src}/layout/ErrorDisplay.tsx | 4 +- .../browser-extension/src}/layout/Footer.tsx | 0 .../src}/layout/Page.stories.tsx | 2 +- .../browser-extension/src}/layout/Page.tsx | 4 +- .../browser-extension/src}/manifest.json | 0 .../modDefinitions/modDefinitionConstants.ts | 0 .../modDefinitions/modDefinitionHooks.test.ts | 6 +- .../src}/modDefinitions/modDefinitionHooks.ts | 12 +- .../modDefinitionPermissionsHelpers.test.ts | 10 +- .../modDefinitionPermissionsHelpers.ts | 14 +- .../modDefinitionRawApiCalls.ts | 6 +- .../modDefinitions/modDefinitions.test.tsx | 24 +- .../modDefinitionsListenerMiddleware.ts | 2 +- .../modDefinitions/modDefinitionsSelectors.ts | 0 .../modDefinitionsSlice.test.ts | 6 +- .../modDefinitions/modDefinitionsSlice.ts | 6 +- .../modDefinitions/modDefinitionsTypes.ts | 0 .../src}/modDefinitions/registry.ts | 4 +- .../util/isSchemaServicesFormat.ts | 4 +- .../mapModDefinitionToModMetadata.test.ts | 4 +- .../util/mapModDefinitionToModMetadata.ts | 4 +- .../src}/mods/ModIntegrationsContext.tsx | 2 +- .../src}/mods/hooks/useFindModInstance.ts | 6 +- .../src}/mods/hooks/useModPermissions.ts | 18 +- .../src}/mv3/SessionStorage.test.ts | 0 .../src}/mv3/SessionStorage.ts | 4 +- .../browser-extension/src}/mv3/api.ts | 0 .../components/DimensionGate.stories.tsx | 4 +- .../components/DimensionGate.test.tsx | 4 +- .../pageEditor/components/DimensionGate.tsx | 12 +- .../components/LoginCard.stories.tsx | 2 +- .../src}/pageEditor/components/LoginCard.tsx | 6 +- .../components/SelectorMatchWidget.tsx | 12 +- .../components/TabConnectionErrorBanner.tsx | 4 +- .../pageEditor/components/ToggleField.tsx | 0 .../components/UrlPatternWidget.test.tsx | 6 +- .../components/UrlPatternWidget.tsx | 12 +- .../UrlPatternWidget.test.tsx.snap | 0 .../src}/pageEditor/consts.ts | 0 .../pageEditor/context/TabInspectionGate.tsx | 8 +- .../src}/pageEditor/context/connection.ts | 4 +- .../__snapshots__/documentTree.test.tsx.snap | 0 .../documentBuilder/allowedElementTypes.ts | 0 .../createNewDocumentBuilderElement.test.ts | 6 +- .../createNewDocumentBuilderElement.ts | 8 +- .../documentBuilder/documentBuilderTypes.ts | 6 +- .../documentBuilder/documentTree.test.tsx | 18 +- .../documentBuilder/documentTree.tsx | 22 +- .../documentBuilder/edit/ButtonOptions.tsx | 4 +- .../edit/DocumentOptions.test.tsx | 32 +- .../documentBuilder/edit/DocumentOptions.tsx | 22 +- .../documentBuilder/edit/ElementEditor.tsx | 16 +- .../documentBuilder/edit/ListOptions.tsx | 22 +- .../documentBuilder/edit/MoveElement.tsx | 6 +- .../documentBuilder/edit/PipelineOptions.tsx | 4 +- .../documentBuilder/edit/RemoveElement.tsx | 6 +- .../edit/getElementCollectionName.test.ts | 2 +- .../edit/getElementCollectionName.ts | 2 +- .../edit/getElementEditSchemas.tsx | 10 +- .../edit/useElementOptions.tsx | 12 +- .../documentBuilder/elementTypeLabels.ts | 2 +- .../documentBuilder/hooks/useDeleteElement.ts | 8 +- .../hooks/useDuplicateElement.test.ts | 16 +- .../hooks/useDuplicateElement.ts | 6 +- .../hooks/useMoveElement.test.ts | 6 +- .../documentBuilder/hooks/useMoveElement.ts | 10 +- .../hooks/useMoveWithinParent.ts | 14 +- .../hooks/useSelectParentElement.ts | 2 +- .../outline/DocumentOutline.module.scss | 0 .../outline/DocumentOutline.tsx | 20 +- .../outline/OutlineItem.stories.tsx | 2 +- .../outline/OutlineItem.test.tsx | 2 +- .../documentBuilder/outline/OutlineItem.tsx | 10 +- .../__snapshots__/OutlineItem.test.tsx.snap | 0 .../documentBuilder/outline/outlineHelpers.ts | 8 +- .../preview/AddElementAction.module.scss | 0 .../preview/AddElementAction.tsx | 8 +- .../preview/DocumentPreview.module.scss | 0 .../preview/DocumentPreview.test.tsx | 34 +- .../preview/DocumentPreview.tsx | 24 +- .../preview/ElementPreview.module.scss | 2 +- .../preview/ElementPreview.test.tsx | 22 +- .../preview/ElementPreview.tsx | 12 +- .../ElementPreview.test.tsx.snap | 0 .../preview/documentTree.module.scss | 2 +- .../preview/elementsPreview/Basic.tsx | 6 +- .../preview/elementsPreview/Button.tsx | 8 +- .../preview/elementsPreview/Card.module.scss | 0 .../preview/elementsPreview/Card.tsx | 6 +- .../preview/elementsPreview/Container.tsx | 8 +- .../preview/elementsPreview/Image.tsx | 10 +- .../preview/elementsPreview/List.tsx | 8 +- .../preview/elementsPreview/Pipeline.tsx | 10 +- .../preview/elementsPreview/Unknown.tsx | 4 +- .../flaps/ActiveElementFlap.module.scss | 2 +- .../preview/flaps/ActiveElementFlap.tsx | 18 +- .../preview/flaps/Flaps.module.scss | 2 +- .../documentBuilder/preview/flaps/Flaps.tsx | 2 +- .../preview/flaps/HoveredFlap.tsx | 4 +- .../getPreviewComponentDefinition.test.tsx | 4 +- .../preview/getPreviewComponentDefinition.tsx | 4 +- .../preview/previewVariables.scss | 0 .../documentBuilder/render/BlockElement.tsx | 28 +- .../documentBuilder/render/ButtonElement.tsx | 24 +- .../documentBuilder/render/CardElement.tsx | 0 .../render/DocumentContext.tsx | 14 +- .../documentBuilder/render/ListElement.tsx | 28 +- .../src}/pageEditor/documentBuilder/utils.ts | 4 +- .../pageEditor/editorPermissionsHelpers.ts | 14 +- .../src}/pageEditor/events.ts | 2 +- .../src}/pageEditor/fields/AlertOptions.tsx | 12 +- .../pageEditor/fields/ApiVersionField.tsx | 2 +- .../fields/AssignModVariableOptions.tsx | 20 +- .../CollapsibleFieldSection.module.scss | 2 +- .../fields/CollapsibleFieldSection.test.tsx | 2 +- .../fields/CollapsibleFieldSection.tsx | 2 +- .../pageEditor/fields/ConfigErrorBoundary.tsx | 2 +- .../ConnectedCollapsibleFieldSection.test.tsx | 4 +- .../ConnectedCollapsibleFieldSection.tsx | 6 +- .../pageEditor/fields/DatabaseGetOptions.tsx | 2 +- .../pageEditor/fields/DatabaseOptions.tsx | 10 +- .../pageEditor/fields/DatabasePutOptions.tsx | 2 +- .../fields/FormModalOptions.test.tsx | 14 +- .../pageEditor/fields/FormModalOptions.tsx | 26 +- .../fields/FormRendererOptions.test.tsx | 18 +- .../pageEditor/fields/FormRendererOptions.tsx | 42 +- .../src}/pageEditor/fields/LocationWidget.tsx | 2 +- .../pageEditor/fields/MultiSelectWidget.tsx | 0 .../fields/PipelineToggleField.test.tsx | 6 +- .../pageEditor/fields/PipelineToggleField.tsx | 10 +- .../fields/RemoteMethodOptions.test.ts | 2 +- .../pageEditor/fields/RemoteMethodOptions.tsx | 12 +- .../pageEditor/fields/SelectorMatchField.tsx | 4 +- .../fields/SelectorSelectorWidget.module.scss | 0 .../fields/SelectorSelectorWidget.test.ts | 2 +- .../fields/SelectorSelectorWidget.tsx | 32 +- .../src}/pageEditor/fields/TemplateWidget.tsx | 6 +- .../fields/UrlMatchPatternField.stories.tsx | 6 +- .../fields/UrlMatchPatternField.tsx | 6 +- .../fields/UrlPatternField.stories.tsx | 8 +- .../pageEditor/fields/UrlPatternField.tsx | 6 +- .../CreatableAutosuggest.module.scss | 0 .../CreatableAutosuggest.stories.tsx | 2 +- .../CreatableAutosuggest.tsx | 2 +- .../fields/devtoolFieldOverrides.tsx | 12 +- .../pageEditor/fields/formFieldTypeOptions.ts | 4 +- .../fields/makeLockableFieldProps.tsx | 2 +- .../SelectorListItem.module.css | 0 .../SelectorListItem.stories.tsx | 0 .../selectorListItem/SelectorListItem.tsx | 0 .../hooks/updateReduxForSavedModDefinition.ts | 24 +- .../pageEditor/hooks/useAddNewModComponent.ts | 44 +- .../pageEditor/hooks/useApiVersionAtLeast.tsx | 6 +- .../hooks/useBuildAndValidateMod.test.ts | 32 +- .../hooks/useBuildAndValidateMod.ts | 14 +- .../useCheckModStarterBrickInvariants.test.ts | 22 +- .../useCheckModStarterBrickInvariants.ts | 16 +- .../pageEditor/hooks/useClearModChanges.ts | 10 +- .../hooks/useClearModComponentChanges.ts | 20 +- .../useCompareModComponentCounts.test.ts | 14 +- .../hooks/useCompareModComponentCounts.ts | 6 +- .../hooks/useCreateModFromMod.test.ts | 32 +- .../pageEditor/hooks/useCreateModFromMod.ts | 28 +- .../useCreateModFromModComponent.test.ts | 24 +- .../hooks/useCreateModFromModComponent.ts | 28 +- .../hooks/useCreateModFromUnsavedMod.ts | 26 +- .../hooks/useCurrentInspectedUrl.ts | 8 +- .../pageEditor/hooks/useDeactivateMod.tsx | 18 +- .../hooks/useDeleteDraftModComponent.test.ts | 10 +- .../hooks/useDeleteDraftModComponent.tsx | 22 +- .../src}/pageEditor/hooks/useEscapeHandler.ts | 2 +- .../pageEditor/hooks/useModComponentTrace.ts | 12 +- .../useRegisterDraftModInstanceOnAllFrames.ts | 32 +- .../src}/pageEditor/hooks/useSaveMod.test.ts | 48 +- .../src}/pageEditor/hooks/useSaveMod.ts | 38 +- .../pageEditor/layout/EditorContent.test.tsx | 24 +- .../src}/pageEditor/layout/EditorContent.tsx | 26 +- .../layout/EditorLayout.module.scss | 0 .../src}/pageEditor/layout/EditorLayout.tsx | 20 +- .../ModComponentFormStateWizard.module.scss | 0 .../layout/ModComponentFormStateWizard.tsx | 18 +- .../src}/pageEditor/layout/Panel.tsx | 16 +- .../pageEditor/layout/PanelContent.test.tsx | 18 +- .../src}/pageEditor/layout/PanelContent.tsx | 32 +- .../modListingPanel/ActionButtons.module.scss | 0 .../modListingPanel/ActionMenu.module.scss | 0 .../ActivatedModComponentListItem.test.tsx | 18 +- .../ActivatedModComponentListItem.tsx | 34 +- .../DraftModComponentListItem.test.tsx | 10 +- .../DraftModComponentListItem.tsx | 28 +- .../modListingPanel/Entry.module.scss | 0 .../modListingPanel/HomeButton.module.scss | 2 +- .../pageEditor/modListingPanel/HomeButton.tsx | 4 +- .../modListingPanel/ModActionMenu.tsx | 22 +- .../ModComponentActionMenu.stories.tsx | 12 +- .../ModComponentActionMenu.tsx | 14 +- .../ModComponentIcons.test.tsx | 2 +- .../modListingPanel/ModComponentIcons.tsx | 6 +- .../modListingPanel/ModComponentListItem.tsx | 4 +- .../modListingPanel/ModListItem.test.tsx | 12 +- .../modListingPanel/ModListItem.tsx | 12 +- .../ModListingPanel.module.scss | 0 .../modListingPanel/ModListingPanel.test.tsx | 18 +- .../modListingPanel/ModListingPanel.tsx | 8 +- .../ModSidebarListItems.module.scss | 2 +- .../modListingPanel/ModSidebarListItems.tsx | 12 +- .../modListingPanel/NewModButton.tsx | 14 +- .../modListingPanel/ReloadButton.tsx | 4 +- .../modListingPanel/SaveButton.module.scss | 0 .../modListingPanel/SaveButton.stories.tsx | 2 +- .../pageEditor/modListingPanel/SaveButton.tsx | 2 +- .../DraftModComponentListItem.test.tsx.snap | 0 .../ModComponentIcons.test.tsx.snap | 0 .../arrangeSidebarItems.test.ts | 8 +- .../modListingPanel/arrangeSidebarItems.ts | 10 +- .../src}/pageEditor/modListingPanel/common.ts | 4 +- .../filterSidebarItems.test.ts | 12 +- .../modListingPanel/filterSidebarItems.ts | 8 +- .../modListingPanel/modals/CreateModModal.tsx | 50 +- .../modals/MoveOrCopyToModModal.tsx | 18 +- .../modals/SaveAsNewModModal.tsx | 8 +- .../src}/pageEditor/modals/Modals.tsx | 10 +- .../addBrickModal/AddBrickModal.module.scss | 0 .../addBrickModal/AddBrickModal.test.tsx | 20 +- .../modals/addBrickModal/AddBrickModal.tsx | 50 +- .../modals/addBrickModal/BrickDetail.tsx | 10 +- .../addBrickModal/BrickGridItem.module.scss | 0 .../modals/addBrickModal/BrickGridItem.tsx | 10 +- .../addBrickModal/BrickGridItemRenderer.tsx | 4 +- .../modals/addBrickModal/QuickAdd.module.scss | 0 .../modals/addBrickModal/TagList.module.scss | 0 .../modals/addBrickModal/TagList.tsx | 4 +- .../addBrickModal/TagSearchInput.module.scss | 0 .../modals/addBrickModal/TagSearchInput.tsx | 2 +- .../__snapshots__/AddBrickModal.test.tsx.snap | 0 .../addBrickModal/addBrickModalConstants.ts | 0 .../addBrickModal/addBrickModalHelpers.ts | 8 +- .../addBrickModal/addBrickModalTypes.ts | 4 +- .../addBrickModal/addBrickModalVariables.scss | 0 .../addBrickModal/groupListingsByTag.test.ts | 4 +- .../addBrickModal/groupListingsByTag.ts | 4 +- .../modals/addBrickModal/useAddBrick.ts | 34 +- .../modals/addBrickModal/useBrickSearch.ts | 8 +- .../src}/pageEditor/pageEditor.html | 0 .../src}/pageEditor/pageEditor.tsx | 0 .../pageEditor/panes/HomePane.module.scss | 2 +- .../pageEditor/panes/HomePane.stories.tsx | 4 +- .../src}/pageEditor/panes/HomePane.tsx | 14 +- .../panes/ModComponentEditorPane.test.tsx | 70 +- .../panes/ModComponentEditorPane.tsx | 26 +- .../panes/ModEditorPane.module.scss | 0 .../src}/pageEditor/panes/ModEditorPane.tsx | 24 +- .../pageEditor/panes/NoTabAccessPane.test.tsx | 8 +- .../src}/pageEditor/panes/NoTabAccessPane.tsx | 6 +- .../panes/NonScriptablePage.module.scss | 0 .../panes/NonScriptablePage.test.tsx | 4 +- .../pageEditor/panes/NonScriptablePage.tsx | 2 +- .../src}/pageEditor/panes/Pane.module.scss | 0 .../panes/RestrictedPane.stories.tsx | 0 .../src}/pageEditor/panes/RestrictedPane.tsx | 2 +- .../pageEditor/panes/StaleSessionPane.tsx | 4 +- .../ModComponentEditorPane.test.tsx.snap | 0 .../NoTabAccessPane.test.tsx.snap | 0 .../NonScriptablePage.test.tsx.snap | 0 .../panes/insert/InsertButtonPane.tsx | 4 +- .../pageEditor/panes/insert/InsertPane.tsx | 10 +- .../insert/exampleStarterBrickConfigs.ts | 10 +- .../save/SaveDataIntegrityErrorModal.tsx | 8 +- .../pageEditor/panes/save/saveHelpers.test.ts | 32 +- .../src}/pageEditor/panes/save/saveHelpers.ts | 30 +- .../src}/pageEditor/protocol.ts | 4 +- .../src}/pageEditor/starterBricks/adapter.ts | 42 +- .../pageEditor/starterBricks/base.test.ts | 10 +- .../src}/pageEditor/starterBricks/base.ts | 38 +- .../src}/pageEditor/starterBricks/button.ts | 28 +- .../starterBricks/contextMenu.test.ts | 8 +- .../pageEditor/starterBricks/contextMenu.ts | 26 +- .../starterBricks/dynamicQuickBar.ts | 28 +- .../starterBricks/formStateTypes.ts | 24 +- .../modComponentFormStateAdapter.ts | 20 +- .../starterBricks/pipelineMapping.test.ts | 18 +- .../starterBricks/pipelineMapping.ts | 12 +- .../src}/pageEditor/starterBricks/quickBar.ts | 26 +- .../src}/pageEditor/starterBricks/sidebar.ts | 24 +- .../src}/pageEditor/starterBricks/trigger.ts | 26 +- .../src}/pageEditor/store/analysisManager.ts | 56 +- .../store/editor/baseFormStateTypes.ts | 18 +- .../store/editor/editorInvariantMiddleware.ts | 4 +- .../editorAnalysisSelectors.ts | 12 +- .../editorClipboardSelectors.ts | 2 +- .../editorDataPanelSelectors.ts | 10 +- .../editorDesignViewSelectors.ts | 6 +- .../editorSelectors/editorErrorSelectors.ts | 2 +- .../editorModComponentSelectors.ts | 12 +- .../editorModSelectors.test.ts | 22 +- .../editorSelectors/editorModSelectors.ts | 24 +- .../editorSelectors/editorModalSelectors.ts | 2 +- .../editorNavigationSelectors.ts | 2 +- .../editorPipelineSelectors.ts | 12 +- .../store/editor/editorSelectors/index.ts | 0 .../store/editor/editorSlice.test.ts | 38 +- .../pageEditor/store/editor/editorSlice.ts | 54 +- .../store/editor/editorSliceHelpers.test.ts | 22 +- .../store/editor/editorSliceHelpers.ts | 18 +- .../store/editor/pageEditorTypes.ts | 38 +- .../src}/pageEditor/store/editor/uiState.ts | 6 +- .../pageEditor/store/editor/uiStateTypes.ts | 12 +- .../store/runtime/runtimeSelectors.ts | 10 +- .../pageEditor/store/runtime/runtimeSlice.ts | 6 +- .../store/runtime/runtimeSliceTypes.ts | 4 +- .../store/session/sessionSelectors.ts | 2 +- .../pageEditor/store/session/sessionSlice.ts | 4 +- .../store/session/sessionSliceTypes.ts | 2 +- .../src}/pageEditor/store/store.ts | 42 +- .../store/tabState/tabStateSelectors.ts | 2 +- .../store/tabState/tabStateSlice.ts | 18 +- .../store/tabState/tabStateTypes.ts | 2 +- .../tabs/ExtraPermissionsSection.test.tsx | 4 +- .../tabs/ExtraPermissionsSection.tsx | 4 +- .../src}/pageEditor/tabs/Logs.tsx | 4 +- .../tabs/MatchRulesSection.test.tsx | 6 +- .../pageEditor/tabs/MatchRulesSection.tsx | 8 +- .../ExtraPermissionsSection.test.tsx.snap | 0 .../MatchRulesSection.test.tsx.snap | 0 .../tabs/button/ButtonConfiguration.tsx | 24 +- .../contextMenu/ContextMenuConfiguration.tsx | 16 +- .../DynamicQuickBarConfiguration.tsx | 20 +- .../tabs/editTab/AnalysisResult.tsx | 4 +- .../tabs/editTab/EditTab.module.scss | 2 +- .../src}/pageEditor/tabs/editTab/EditTab.tsx | 28 +- .../tabs/editTab/StarterBrickConfigPanel.tsx | 28 +- .../editTab/UnsupportedRuntimeVersion.tsx | 0 .../editTab/dataPanel/BrickDataPanel.test.tsx | 22 +- .../tabs/editTab/dataPanel/BrickDataPanel.tsx | 24 +- .../dataPanel/DataTabJsonTree.module.scss | 0 .../dataPanel/DataTabJsonTree.test.tsx | 10 +- .../editTab/dataPanel/DataTabJsonTree.tsx | 8 +- .../tabs/editTab/dataPanel/DataTabPane.tsx | 4 +- .../dataPanel/ErrorDisplay.module.scss | 0 .../tabs/editTab/dataPanel/ErrorDisplay.tsx | 2 +- .../dataPanel/StarterBrickDataPanel.test.tsx | 12 +- .../dataPanel/StarterBrickDataPanel.tsx | 18 +- .../BrickDataPanel.test.tsx.snap | 0 .../DataTabJsonTree.test.tsx.snap | 0 .../StarterBrickDataPanel.test.tsx.snap | 0 .../dataPanel/dataPanelTabs.module.scss | 0 .../tabs/editTab/dataPanel/dataPanelTypes.ts | 0 .../dataPanel/tabs/BrickInputTab.test.tsx | 16 +- .../editTab/dataPanel/tabs/BrickInputTab.tsx | 24 +- .../editTab/dataPanel/tabs/BrickOutputTab.tsx | 30 +- .../dataPanel/tabs/CommentsTab.test.tsx | 18 +- .../editTab/dataPanel/tabs/CommentsTab.tsx | 18 +- .../tabs/editTab/dataPanel/tabs/DesignTab.tsx | 30 +- .../tabs/ModComponentFormStateTab.tsx | 12 +- .../dataPanel/tabs/ModVariablesTab.test.tsx | 16 +- .../dataPanel/tabs/ModVariablesTab.tsx | 20 +- .../dataPanel/tabs/NodeFormStateTab.tsx | 6 +- .../editTab/dataPanel/tabs/OutlineTab.tsx | 18 +- .../dataPanel/tabs/StarterBrickInputTab.tsx | 4 +- .../dataPanel/tabs/StarterBrickOutputTab.tsx | 20 +- .../dataPanel/tabs/ViewModeField.module.scss | 2 +- .../editTab/dataPanel/tabs/ViewModeField.tsx | 14 +- .../ModVariablesTab.test.tsx.snap | 0 .../dataPanel/tabs/useBrickTraceRecord.ts | 8 +- .../dataPanel/tabs/useIsSidebarPanelStale.ts | 8 +- .../dataPanel/useDataPanelActiveTabKey.ts | 4 +- .../tabs/editTab/editHelpers.test.ts | 22 +- .../pageEditor/tabs/editTab/editHelpers.ts | 20 +- .../pageEditor/tabs/editTab/editTabTypes.ts | 6 +- .../tabs/editTab/editTabVariables.scss | 0 .../CommentsPreview.module.scss | 2 +- .../CommentsPreview.test.tsx | 14 +- .../editorNodeConfigPanel/CommentsPreview.tsx | 6 +- .../EditorNodeConfigPanel.module.scss | 2 +- .../EditorNodeConfigPanel.tsx | 22 +- .../OutputVariableField.test.tsx | 18 +- .../OutputVariableField.tsx | 12 +- .../editorNodeLayout/EditorNodeLayout.tsx | 12 +- .../editTab/editorNodeLayout/decideStatus.ts | 8 +- .../editorNodeLayout/nodeSummary.module.scss | 0 .../editTab/editorNodeLayout/nodeSummary.tsx | 6 +- .../editTab/editorNodeLayout/usePasteBrick.ts | 12 +- .../usePipelineNodes/helpers.ts | 14 +- .../usePipelineNodes/index.tsx | 18 +- .../usePipelineNodes/types.ts | 8 +- .../usePipelineNodes/useCreateNodeActions.ts | 10 +- .../useGetBrickContentProps.tsx | 26 +- .../useGetIsBrickPipelineExpanded.ts | 10 +- .../usePipelineNodes/useGetNodeMovement.ts | 6 +- .../usePipelineNodes/useGetNodeState.ts | 8 +- .../useGetSubPipelineNodes.ts | 26 +- .../usePipelineNodes/useGetTraceHandling.ts | 6 +- .../usePipelineNodes/useLastBrickHandling.ts | 6 +- .../usePipelineNodes/useMakeFoundationNode.ts | 24 +- .../usePipelineNodes/useMapBrickToNodes.tsx | 36 +- .../usePipelineNodes/useMapPipelineToNodes.ts | 18 +- .../editorNodes/OutputKeyView.module.scss | 0 .../editTab/editorNodes/OutputKeyView.tsx | 2 +- .../PipelineFooterNode.module.scss | 2 +- .../editorNodes/PipelineFooterNode.tsx | 12 +- .../PipelineHeaderNode.module.scss | 4 +- .../editorNodes/PipelineHeaderNode.tsx | 4 +- .../PipelineOffsetView.module.scss | 0 .../editorNodes/PipelineOffsetView.tsx | 0 .../editorNodes/TrailingMessage.module.scss | 0 .../editTab/editorNodes/TrailingMessage.tsx | 0 .../brickNode/BrickNode.module.scss | 2 +- .../editorNodes/brickNode/BrickNode.tsx | 16 +- .../brickNode/BrickNodeContent.module.scss | 2 +- .../brickNode/BrickNodeContent.tsx | 4 +- .../brickNode/MoveBrickControl.module.scss | 0 .../brickNode/MoveBrickControl.tsx | 0 .../nodeActions/NodeActionsView.module.scss | 0 .../nodeActions/NodeActionsView.tsx | 2 +- .../tabs/editTab/useReportTraceError.test.tsx | 18 +- .../tabs/editTab/useReportTraceError.ts | 10 +- .../tabs/effect/AdvancedLinks.module.scss | 0 .../tabs/effect/AdvancedLinks.test.tsx | 2 +- .../pageEditor/tabs/effect/AdvancedLinks.tsx | 12 +- .../tabs/effect/BrickConfiguration.test.tsx | 24 +- .../tabs/effect/BrickConfiguration.tsx | 48 +- .../pageEditor/tabs/effect/BrickPreview.tsx | 44 +- .../tabs/effect/StarterBrickPreview.tsx | 24 +- .../BrickConfiguration.test.tsx.snap | 0 .../tabs/effect/configurationConstants.ts | 4 +- .../tabs/effect/useDocumentPreviewRunBlock.ts | 30 +- .../src}/pageEditor/tabs/logs/LogsTab.tsx | 2 +- .../pageEditor/tabs/logs/NavItemBadge.tsx | 2 +- .../pageEditor/tabs/logs/useLogsBadgeState.ts | 2 +- .../modMetadata/ModMetadataEditor.module.scss | 0 .../modMetadata/ModMetadataEditor.test.tsx | 26 +- .../tabs/modMetadata/ModMetadataEditor.tsx | 36 +- .../ModOptionsArgsEditor.test.tsx | 40 +- .../modOptionsArgs/ModOptionsArgsEditor.tsx | 38 +- .../ModOptionsArgsEditor.test.tsx.snap | 0 .../ModOptionsDefinitionEditor.module.scss | 0 .../ModOptionsDefinitionEditor.test.tsx | 16 +- .../ModOptionsDefinitionEditor.tsx | 50 +- .../ModVariablesDefinitionEditor.module.scss | 0 .../ModVariablesDefinitionEditor.test.tsx | 24 +- .../ModVariablesDefinitionEditor.tsx | 24 +- .../ModVariablesTable.module.scss | 0 .../ModVariablesTable.tsx | 16 +- ...odVariablesDefinitionEditorHelpers.test.ts | 4 +- .../modVariablesDefinitionEditorHelpers.ts | 16 +- .../modVariablesDefinitionEditorTypes.ts | 2 +- .../useInferredModVariablesQuery.ts | 16 +- .../tabs/quickBar/QuickBarConfiguration.tsx | 18 +- .../tabs/sidebar/SidebarConfiguration.tsx | 20 +- .../tabs/trigger/DebounceFieldSet.tsx | 18 +- .../trigger/TriggerConfiguration.test.tsx | 18 +- .../tabs/trigger/TriggerConfiguration.tsx | 30 +- .../TriggerConfiguration.test.tsx.snap | 0 .../src}/pageEditor/testHelpers.ts | 30 +- .../pageEditor/toolbar/PermissionsToolbar.tsx | 12 +- .../src}/pageEditor/toolbar/ReloadToolbar.tsx | 24 +- .../src}/pageEditor/utils.ts | 28 +- .../src}/pageScript/elementInfo.ts | 4 +- .../src}/pageScript/frameworks/adapters.ts | 6 +- .../src}/pageScript/frameworks/component.ts | 2 +- .../frameworks/contrib/angularjs.ts | 4 +- .../pageScript/frameworks/contrib/ember.ts | 12 +- .../pageScript/frameworks/contrib/react.ts | 6 +- .../src}/pageScript/frameworks/contrib/vue.ts | 2 +- .../src}/pageScript/frameworks/dom.ts | 2 +- .../src}/pageScript/frameworks/errors.ts | 0 .../src}/pageScript/messenger/api.ts | 6 +- .../src}/pageScript/messenger/constants.ts | 0 .../src}/pageScript/messenger/receiver.ts | 4 +- .../src}/pageScript/messenger/sender.ts | 6 +- .../src}/pageScript/pageScript.ts | 20 +- .../deploymentPermissionsHelpers.ts | 8 +- .../modComponentPermissionsHelpers.ts | 10 +- .../src}/permissions/patterns.ts | 0 .../src}/permissions/permissionsTypes.ts | 0 .../src}/permissions/permissionsUtils.ts | 2 +- .../useExtensionPermissions.test.ts | 6 +- .../permissions/useExtensionPermissions.ts | 2 +- .../useRequestPermissionsCallback.ts | 6 +- .../src}/platform/capabilities.ts | 0 .../src}/platform/forms/formController.ts | 10 +- .../src}/platform/forms/formTypes.ts | 2 +- .../src}/platform/panels/panelController.ts | 12 +- .../src}/platform/panels/panelTypes.ts | 10 +- .../src}/platform/platformBase.ts | 38 +- .../src}/platform/platformContext.ts | 6 +- .../src}/platform/platformProtocol.ts | 36 +- .../platform/platformTypes/audioProtocol.ts | 0 .../platform/platformTypes/badgeProtocol.ts | 4 +- .../platform/platformTypes/captureProtocol.ts | 2 +- .../platformTypes/clipboardProtocol.ts | 2 +- .../platformTypes/contextMenuProtocol.ts | 2 +- .../platformTypes/debuggerProtocol.ts | 4 +- .../platform/platformTypes/panelProtocol.ts | 14 +- .../platformTypes/quickBarProtocol.ts | 2 +- .../snippetShortcutMenuProtocol.ts | 4 +- .../platform/platformTypes/stateProtocol.ts | 10 +- .../platformTypes/templateProtocol.ts | 0 .../textSelectionMenuProtocol.ts | 6 +- .../platform/platformTypes/toastProtocol.ts | 2 +- .../src}/platform/state/stateHelpers.test.ts | 4 +- .../src}/platform/state/stateHelpers.ts | 2 +- .../src}/platform/state/stateTypes.ts | 4 +- .../src}/registry/hydrateInnerDefinitions.ts | 18 +- .../src}/registry/memoryRegistry.ts | 10 +- .../src}/registry/packageRegistry.test.ts | 8 +- .../src}/registry/packageRegistry.ts | 10 +- .../src}/runtime/apiVersionOptions.ts | 0 .../src}/runtime/brickYaml.test.ts | 4 +- .../src}/runtime/brickYaml.ts | 4 +- .../runtime/extendModVariableContext.test.ts | 10 +- .../src}/runtime/extendModVariableContext.ts | 8 +- .../browser-extension/src}/runtime/getType.ts | 6 +- .../src}/runtime/mapArgs.test.ts | 8 +- .../browser-extension/src}/runtime/mapArgs.ts | 10 +- .../src}/runtime/pathHelpers.test.ts | 2 +- .../src}/runtime/pathHelpers.ts | 6 +- .../runtime/pipelineTests/autoescape.test.ts | 10 +- .../runtime/pipelineTests/component.test.ts | 16 +- .../runtime/pipelineTests/conditional.test.ts | 16 +- .../pipelineTests/deferExpression.test.ts | 8 +- .../pipelineTests/deploymentAlert.test.ts | 16 +- .../runtime/pipelineTests/featureFlag.test.ts | 10 +- .../pipelineTests/implicitDataFlow.test.ts | 14 +- .../pipelineTests/integrationContext.test.ts | 32 +- .../pipelineTests/modVariableContext.test.ts | 16 +- .../runtime/pipelineTests/options.test.ts | 10 +- .../runtime/pipelineTests/outputKey.test.ts | 16 +- .../pipelineTests/pipelineExpression.test.ts | 10 +- .../src}/runtime/pipelineTests/root.test.ts | 20 +- .../pipelineTests/templateEngine.test.ts | 16 +- .../src}/runtime/pipelineTests/testHelpers.ts | 22 +- .../src}/runtime/pipelineTests/trace.test.ts | 30 +- .../pipelineTests/validateInput.test.ts | 42 +- .../src}/runtime/reducePipeline.ts | 48 +- .../src}/runtime/renderers.test.ts | 2 +- .../src}/runtime/renderers.ts | 8 +- .../src}/runtime/runtimeTypes.test.ts | 2 +- .../src}/runtime/runtimeTypes.ts | 2 +- .../src}/runtime/runtimeUtils.test.ts | 4 +- .../src}/runtime/runtimeUtils.ts | 30 +- .../src}/sandbox/messenger/api.ts | 8 +- .../src}/sandbox/messenger/executor.test.ts | 6 +- .../src}/sandbox/messenger/executor.ts | 4 +- .../src}/sandbox/messenger/registration.ts | 2 +- .../src}/sandbox/postMessage.test.ts | 2 +- .../src}/sandbox/postMessage.ts | 6 +- .../src}/sandbox/sandbox.html | 0 .../browser-extension/src}/sandbox/sandbox.ts | 0 .../src}/sidebar/ConnectedSidebar.module.scss | 0 .../src}/sidebar/ConnectedSidebar.test.tsx | 30 +- .../src}/sidebar/ConnectedSidebar.tsx | 42 +- .../src}/sidebar/ConnectingOverlay.tsx | 2 +- .../src}/sidebar/DefaultContent.test.tsx | 10 +- .../src}/sidebar/DefaultPanel.module.scss | 0 .../src}/sidebar/DefaultPanel.tsx | 10 +- .../src}/sidebar/FormBody.test.tsx | 10 +- .../src}/sidebar/FormBody.tsx | 10 +- .../src}/sidebar/Header.test.tsx | 10 +- .../browser-extension/src}/sidebar/Header.tsx | 10 +- .../src}/sidebar/LoginPanel.stories.tsx | 10 +- .../src}/sidebar/LoginPanel.tsx | 10 +- .../src}/sidebar/PanelBody.module.scss | 0 .../src}/sidebar/PanelBody.test.tsx | 14 +- .../src}/sidebar/PanelBody.tsx | 34 +- .../src}/sidebar/RendererComponent.test.tsx | 20 +- .../src}/sidebar/RendererComponent.tsx | 2 +- .../src}/sidebar/SidebarApp.tsx | 10 +- .../src}/sidebar/SidebarBody.test.tsx | 22 +- .../src}/sidebar/SidebarBody.tsx | 10 +- .../src}/sidebar/SidebarErrorBoundary.tsx | 2 +- .../src}/sidebar/Tabs.module.scss | 2 +- .../src}/sidebar/Tabs.test.tsx | 20 +- .../browser-extension/src}/sidebar/Tabs.tsx | 46 +- .../src}/sidebar/TemporaryPanelTabPane.tsx | 22 +- .../src}/sidebar/UnavailableOverlay.tsx | 0 .../ConnectedSidebar.test.tsx.snap | 0 .../__snapshots__/FormBody.test.tsx.snap | 0 .../__snapshots__/Header.test.tsx.snap | 0 .../__snapshots__/PanelBody.test.tsx.snap | 0 .../__snapshots__/SidebarBody.test.tsx.snap | 0 .../sidebar/activateMod/ActivateModInputs.tsx | 26 +- .../activateMod/ActivateModPanel.module.scss | 0 .../activateMod/ActivateModPanel.test.tsx | 72 +- .../sidebar/activateMod/ActivateModPanel.tsx | 44 +- .../ActivateMultipleModsPanel.test.tsx | 0 .../activateMod/ActivateMultipleModsPanel.tsx | 26 +- .../sidebar/activateMod/RequireMods.test.ts | 4 +- .../src}/sidebar/activateMod/RequireMods.tsx | 32 +- .../ActivateModPanel.test.tsx.snap | 0 .../sidebar/blurSidebarOverlay.module.scss | 0 .../components/RootCancelledPanel.stories.tsx | 4 +- .../components/RootCancelledPanel.test.tsx | 6 +- .../sidebar/components/RootCancelledPanel.tsx | 4 +- .../components/RootErrorPanel.stories.tsx | 4 +- .../components/RootErrorPanel.test.tsx | 6 +- .../sidebar/components/RootErrorPanel.tsx | 4 +- .../RootCancelledPanel.test.tsx.snap | 0 .../RootErrorPanel.test.tsx.snap | 0 .../src}/sidebar/connectedTarget.tsx | 4 +- .../sidebar/hooks/useConnectedTargetUrl.tsx | 6 +- .../hooks/useHideEmptySidebarEffect.ts | 8 +- .../src}/sidebar/messenger/api.ts | 2 +- .../src}/sidebar/messenger/registration.ts | 4 +- .../ActiveSidebarModsList.module.scss | 0 .../modLauncher/ActiveSidebarModsList.tsx | 16 +- .../ActiveSidebarModsListItem.module.scss | 2 +- .../modLauncher/ActiveSidebarModsListItem.tsx | 26 +- .../modLauncher/ModLauncher.module.scss | 0 .../sidebar/modLauncher/ModLauncher.test.tsx | 10 +- .../src}/sidebar/modLauncher/ModLauncher.tsx | 14 +- .../src}/sidebar/protocol.tsx | 4 +- .../src}/sidebar/sidebar.html | 0 .../src}/sidebar/sidebar.scss | 2 +- .../src}/sidebar/sidebar.tsx | 0 .../sidebar/sidebarBootstrapOverrides.scss | 0 .../src}/sidebar/sidebarSelectors.ts | 8 +- .../src}/sidebar/staticPanelUtils.tsx | 2 +- .../browser-extension/src}/sidebar/store.ts | 40 +- .../src}/sidebar/telemetryConstants.ts | 0 .../src}/sidebar/testHelpers.ts | 22 +- .../button/buttonStarterBrick.test.ts | 0 .../button/buttonStarterBrick.ts | 68 +- .../button/buttonStarterBrickTypes.ts | 0 .../contextMenu/contextMenuReader.ts | 6 +- .../contextMenuStarterBrick.test.ts | 10 +- .../contextMenu/contextMenuStarterBrick.ts | 67 +- .../contextMenu/contextMenuTypes.ts | 4 +- .../dynamicQuickBarStarterBrick.test.ts | 36 +- .../dynamicQuickBarStarterBrick.tsx | 64 +- .../dynamicQuickBar/dynamicQuickBarTypes.ts | 0 .../dynamicQuickBar/quickBarQueryReader.ts | 4 +- .../src}/starterBricks/factory.ts | 18 +- .../src}/starterBricks/helpers.test.ts | 4 +- .../src}/starterBricks/helpers.ts | 8 +- .../quickBar/quickBarStarterBrick.test.ts | 27 +- .../quickBar/quickBarStarterBrick.tsx | 64 +- .../starterBricks/quickBar/quickBarTypes.ts | 0 .../src}/starterBricks/registry.ts | 4 +- .../sidebar/sidebarStarterBrick.test.ts | 21 +- .../sidebar/sidebarStarterBrick.ts | 50 +- .../sidebar/sidebarStarterBrickTypes.ts | 2 +- .../starterBricks/starterBrickConstants.ts | 0 .../starterBrickModUtils.test.ts | 6 +- .../starterBricks/starterBrickModUtils.ts | 10 +- .../src}/starterBricks/starterBrickUtils.ts | 4 +- .../src}/starterBricks/testHelpers.ts | 4 +- .../trigger/triggerEventReaders.ts | 12 +- .../trigger/triggerStarterBrick.test.ts | 40 +- .../trigger/triggerStarterBrick.ts | 0 .../trigger/triggerStarterBrickTypes.ts | 0 .../src}/starterBricks/types.ts | 6 +- .../src}/store/ReduxPersistenceContext.ts | 0 .../src}/store/StorageInterface.ts | 0 .../src}/store/browserExtensionIdStorage.ts | 2 +- ...heckActiveModComponentAvailability.test.ts | 22 +- ...eckAvailableActivatedModComponents.test.ts | 36 +- .../checkAvailableDraftModComponents.test.ts | 22 +- .../src}/store/commonActions.ts | 0 .../src}/store/deactivateModHelpers.ts | 10 +- .../src}/store/defaultMiddlewareConfig.ts | 0 .../src}/store/editorMigrations.test.ts | 22 +- .../src}/store/editorMigrations.ts | 14 +- .../src}/store/editorStorage.test.ts | 22 +- .../src}/store/editorStorage.ts | 14 +- .../store/enterprise/managedStorage.test.ts | 4 +- .../src}/store/enterprise/managedStorage.ts | 16 +- .../store/enterprise/managedStorageTypes.ts | 2 +- .../store/enterprise/singleSignOn.test.ts | 2 +- .../src}/store/enterprise/singleSignOn.ts | 2 +- .../enterprise/useManagedStorageState.test.ts | 8 +- .../enterprise/useManagedStorageState.ts | 6 +- .../src}/store/migratePersistedState.test.ts | 2 +- .../src}/store/migratePersistedState.ts | 0 .../modComponentMigrations.test.ts | 18 +- .../modComponents/modComponentMigrations.ts | 14 +- .../modComponents/modComponentSelectors.ts | 4 +- .../store/modComponents/modComponentSlice.ts | 32 +- .../modComponentSliceInitialState.ts | 2 +- .../modComponents/modComponentStorage.test.ts | 14 +- .../modComponents/modComponentStorage.ts | 14 +- .../store/modComponents/modComponentTypes.ts | 2 +- .../modComponents/modComponentUtils.test.ts | 14 +- .../store/modComponents/modComponentUtils.ts | 14 +- .../modComponents/modInstanceSelectors.ts | 4 +- .../store/modComponents/modInstanceUtils.ts | 26 +- .../sessionChangesListenerMiddleware.ts | 8 +- .../sessionChangesSelectors.test.ts | 12 +- .../sessionChanges/sessionChangesSelectors.ts | 4 +- .../sessionChanges/sessionChangesSlice.ts | 6 +- .../sessionChanges/sessionChangesTypes.ts | 2 +- .../src}/store/settings/settingsMigrations.ts | 2 +- .../store/settings/settingsSelectors.test.ts | 6 +- .../src}/store/settings/settingsSelectors.ts | 4 +- .../src}/store/settings/settingsSlice.test.ts | 6 +- .../src}/store/settings/settingsSlice.ts | 14 +- .../src}/store/settings/settingsStorage.ts | 14 +- .../src}/store/settings/settingsTypes.ts | 4 +- .../src}/store/sidebar/constants.ts | 2 +- .../src}/store/sidebar/eventKeyUtils.test.ts | 12 +- .../src}/store/sidebar/eventKeyUtils.tsx | 8 +- .../src}/store/sidebar/initialState.ts | 2 +- .../src}/store/sidebar/sidebarSlice.test.ts | 30 +- .../src}/store/sidebar/sidebarSlice.ts | 26 +- .../src}/store/sidebar/sidebarStorage.test.ts | 8 +- .../src}/store/sidebar/sidebarStorage.ts | 8 +- .../src}/store/sidebar/sidebarUtils.ts | 8 +- .../src}/store/sidebar/thunks/addFormPanel.ts | 8 +- .../store/sidebar/thunks/addTemporaryPanel.ts | 10 +- .../store/sidebar/thunks/removeFormPanel.ts | 8 +- .../sidebar/thunks/removeTemporaryPanel.ts | 8 +- .../sidebar/thunks/resolveTemporaryPanel.ts | 10 +- .../src}/store/workshopSlice.ts | 6 +- .../src}/telemetry/BackgroundLogger.ts | 8 +- .../src}/telemetry/deployments.ts | 2 +- .../browser-extension/src}/telemetry/dnt.ts | 2 +- .../src}/telemetry/events.ts | 0 .../src}/telemetry/initErrorReporter.ts | 10 +- .../src}/telemetry/lexicon.ts | 0 .../src}/telemetry/logging.test.ts | 16 +- .../src}/telemetry/logging.ts | 18 +- .../src}/telemetry/performance.test.ts | 20 +- .../src}/telemetry/performance.ts | 16 +- .../src}/telemetry/reportError.test.ts | 0 .../src}/telemetry/reportError.ts | 6 +- .../src}/telemetry/reportEvent.ts | 8 +- .../reportToApplicationErrorTelemetry.test.ts | 10 +- .../reportToApplicationErrorTelemetry.ts | 22 +- .../src}/telemetry/reportUncaughtErrors.ts | 4 +- .../src}/telemetry/telemetryHelpers.test.ts | 8 +- .../src}/telemetry/telemetryHelpers.ts | 4 +- .../src}/telemetry/telemetryTypes.ts | 2 +- .../browser-extension/src}/telemetry/trace.ts | 6 +- .../src}/telemetry/traceHelpers.test.ts | 4 +- .../src}/telemetry/traceHelpers.ts | 2 +- .../src}/testUtils/FixJsdomEnvironment.js | 0 .../src}/testUtils/appApiMock.ts | 0 .../src}/testUtils/extendedExpectations.ts | 0 .../src}/testUtils/factories/authFactories.ts | 16 +- .../testUtils/factories/brickFactories.ts | 26 +- .../testUtils/factories/browserFactories.ts | 0 .../testUtils/factories/databaseFactories.ts | 4 +- .../factories/deploymentFactories.ts | 14 +- .../src}/testUtils/factories/domFactories.ts | 0 .../factories/featureFlagFactories.ts | 2 +- .../factories/integrationFactories.ts | 16 +- .../src}/testUtils/factories/logFactories.ts | 6 +- .../factories/marketplaceFactories.ts | 8 +- .../testUtils/factories/messengerFactories.ts | 0 .../testUtils/factories/metadataFactory.ts | 4 +- .../testUtils/factories/milestoneFactories.ts | 2 +- .../factories/modComponentFactories.ts | 18 +- .../factories/modDefinitionFactories.ts | 32 +- .../factories/modInstanceFactories.ts | 12 +- .../testUtils/factories/modViewItemFactory.ts | 8 +- .../factories/organizationFactories.ts | 6 +- .../factories/pageEditorFactories.ts | 48 +- .../testUtils/factories/registryFactories.ts | 8 +- .../testUtils/factories/runtimeFactories.ts | 16 +- .../testUtils/factories/selectorFactories.ts | 2 +- .../factories/sidebarEntryFactories.ts | 10 +- .../testUtils/factories/stringFactories.ts | 4 +- .../testUtils/factories/traceFactories.ts | 10 +- .../src}/testUtils/formHelpers.tsx | 4 +- .../src}/testUtils/injectRegistries.ts | 8 +- .../src}/testUtils/permissionsMock.ts | 8 +- .../src}/testUtils/platformMock.ts | 10 +- .../src}/testUtils/rawJestTransformer.mjs | 0 .../src}/testUtils/readme.md | 0 .../src}/testUtils/renderWithCommonStore.ts | 14 +- .../src}/testUtils/rtkQueryFactories.ts | 0 .../src}/testUtils/storyUtils.ts | 12 +- .../src}/testUtils/testAfterEnv.ts | 0 .../src}/testUtils/testEnv.js | 0 .../src}/testUtils/testHelpers.tsx | 0 .../src}/testUtils/testItRenders.tsx | 0 .../src}/testUtils/testMiddleware.ts | 0 .../src}/testUtils/userEventHelpers.ts | 0 .../src}/testUtils/userMock.ts | 16 +- .../browser-extension/src}/themes/colors.scss | 0 .../browser-extension/src}/themes/light.ts | 0 .../src}/themes/themeStore.test.ts | 20 +- .../src}/themes/themeStore.ts | 24 +- .../src}/themes/themeTypes.ts | 0 .../src}/themes/themeUtils.ts | 16 +- .../src}/tinyPages/RestrictedUrlPopupApp.tsx | 12 +- .../src}/tinyPages/devtools.html | 0 .../src}/tinyPages/devtools.ts | 4 +- .../src}/tinyPages/ephemeralForm.html | 0 .../src}/tinyPages/ephemeralForm.tsx | 0 .../src}/tinyPages/ephemeralModal.scss | 0 .../src}/tinyPages/ephemeralPanel.html | 0 .../src}/tinyPages/ephemeralPanel.tsx | 0 .../src}/tinyPages/frame.html | 0 .../browser-extension/src}/tinyPages/frame.ts | 2 +- .../src}/tinyPages/offscreen.html | 0 .../src}/tinyPages/offscreen.ts | 6 +- .../tinyPages/offscreenDocumentController.ts | 4 +- .../src}/tinyPages/offscreenProtocol.ts | 4 +- .../src}/tinyPages/restrictedUrlPopup.html | 0 .../src}/tinyPages/restrictedUrlPopup.tsx | 0 .../tinyPages/restrictedUrlPopupConstants.ts | 0 .../src}/tinyPages/restrictedUrlPopupUtils.ts | 2 +- .../src}/tinyPages/walkthroughModal.html | 0 .../src}/tinyPages/walkthroughModal.tsx | 0 .../src}/types/annotationTypes.ts | 0 .../src}/types/availabilityTypes.ts | 0 .../src}/types/brickTypes.ts | 14 +- .../src}/types/bricks/effectTypes.ts | 4 +- .../src}/types/bricks/readerTypes.ts | 6 +- .../src}/types/bricks/rendererTypes.ts | 6 +- .../src}/types/bricks/transformerTypes.ts | 4 +- .../src}/types/browserTypes.ts | 0 .../browser-extension/src}/types/contract.ts | 14 +- .../src}/types/deploymentTypes.ts | 6 +- .../src}/types/helpers.test.ts | 2 +- .../browser-extension/src}/types/helpers.ts | 4 +- .../browser-extension/src}/types/iconTypes.ts | 0 .../src}/types/inputTypes.ts | 0 .../src}/types/loggerTypes.ts | 4 +- .../src}/types/messengerTypes.ts | 0 .../src}/types/modComponentTypes.ts | 14 +- .../src}/types/modDefinitionTypes.ts | 8 +- .../src}/types/modInstanceTypes.ts | 10 +- .../browser-extension/src}/types/modTypes.ts | 10 +- .../src}/types/networkTypes.ts | 0 .../src}/types/reactDragAndDropNext.d.ts | 2 +- .../src}/types/reactTableConfig.d.ts | 0 .../src}/types/registryTypes.ts | 8 +- .../src}/types/rendererTypes.ts | 8 +- .../src}/types/runtimeTypes.ts | 14 +- .../src}/types/schemaTypes.ts | 0 .../src}/types/sidebarTypes.ts | 20 +- .../src}/types/sliceTypes.ts | 0 .../src}/types/starterBrickTypes.ts | 16 +- .../src}/types/stringTypes.ts | 0 .../browser-extension/src}/types/swagger.ts | 2 +- .../browser-extension/src}/urlConstants.ts | 0 .../src}/utils/ConsoleLogger.ts | 2 +- .../src}/utils/SimpleEventTarget.test.ts | 0 .../src}/utils/SimpleEventTarget.ts | 0 .../browser-extension/src}/utils/a11yUtils.ts | 0 .../src}/utils/arrayUtils.ts | 0 .../src}/utils/asyncStateUtils.test.ts | 2 +- .../src}/utils/asyncStateUtils.ts | 0 .../src}/utils/browserUtils.ts | 0 .../src}/utils/cachePromise.test.ts | 2 +- .../src}/utils/cachePromise.ts | 0 .../src}/utils/canvasUtils.test.ts | 2 +- .../src}/utils/canvasUtils.ts | 0 .../src}/utils/castError.test.ts | 2 +- .../browser-extension/src}/utils/castError.ts | 0 .../src}/utils/clipboardUtils.ts | 10 +- .../src}/utils/debugUtils.test.ts | 2 +- .../src}/utils/debugUtils.ts | 0 .../src}/utils/deploymentUtils.test.ts | 24 +- .../src}/utils/deploymentUtils.ts | 8 +- .../src}/utils/detectRandomString.test.ts | 0 .../src}/utils/detectRandomString.ts | 2 +- .../src}/utils/domFieldUtils.test.ts | 0 .../src}/utils/domFieldUtils.ts | 10 +- .../src}/utils/domUtils.test.ts | 2 +- .../browser-extension/src}/utils/domUtils.ts | 10 +- .../src}/utils/editorUtils.ts | 0 .../src}/utils/enrichAxiosErrors.ts | 14 +- .../src}/utils/expectContext.ts | 0 .../src}/utils/expressionUtils.test.ts | 2 +- .../src}/utils/expressionUtils.ts | 2 +- .../src}/utils/extensionUtils.test.ts | 4 +- .../src}/utils/extensionUtils.ts | 2 +- .../src}/utils/focusController.ts | 0 .../src}/utils/focusTracker.ts | 6 +- .../src}/utils/formUtils.test.ts | 2 +- .../browser-extension/src}/utils/formUtils.ts | 2 +- .../utils/getOptionsArgForFieldValue.test.ts | 4 +- .../src}/utils/getOptionsArgForFieldValue.ts | 2 +- .../browser-extension/src}/utils/global.scss | 0 .../src}/utils/idbUtils.test.ts | 4 +- .../browser-extension/src}/utils/idbUtils.ts | 8 +- .../src}/utils/iframeUtils.ts | 0 .../src}/utils/imageUtils.ts | 4 +- .../inferSingleElementSelector.test.ts | 8 +- .../inference/inferSingleElementSelector.ts | 10 +- .../utils/inference/markupInference.test.tsx | 0 .../src}/utils/inference/markupInference.ts | 10 +- .../utils/inference/selectorInference.test.ts | 2 +- .../src}/utils/inference/selectorInference.ts | 16 +- .../inference/selectorInferenceUtils.test.ts | 2 +- .../utils/inference/selectorInferenceUtils.ts | 0 .../src}/utils/inference/selectorTypes.ts | 0 .../src}/utils/inference/siteSelectorHints.ts | 2 +- .../src}/utils/injectIframe.test.tsx | 0 .../src}/utils/injectIframe.tsx | 4 +- .../src}/utils/injectScriptTag.tsx | 0 .../src}/utils/injectStylesheet.tsx | 2 +- .../browser-extension/src}/utils/layout.scss | 0 .../src}/utils/legacyMessengerUtils.ts | 0 .../src}/utils/mathUtils.test.ts | 2 +- .../browser-extension/src}/utils/mathUtils.ts | 0 .../src}/utils/modUtils.test.ts | 4 +- .../browser-extension/src}/utils/modUtils.ts | 12 +- .../src}/utils/notificationTypes.ts | 0 .../src}/utils/notify.module.scss | 0 .../src}/utils/notify.stories.tsx | 2 +- .../browser-extension/src}/utils/notify.tsx | 12 +- .../src}/utils/nullishUtils.test.ts | 2 +- .../src}/utils/nullishUtils.ts | 0 .../src}/utils/objToYaml.test.ts | 0 .../browser-extension/src}/utils/objToYaml.ts | 4 +- .../src}/utils/objectUtils.test.ts | 4 +- .../src}/utils/objectUtils.ts | 0 .../src}/utils/openAllLinksInPopups.ts | 0 .../src}/utils/parseDataUrl.test.ts | 0 .../src}/utils/parseDataUrl.ts | 0 .../src}/utils/parseDefinitionList.test.ts | 0 .../src}/utils/parseDefinitionList.ts | 0 .../src}/utils/parseDomTable.test.ts | 0 .../src}/utils/parseDomTable.ts | 0 .../browser-extension/src}/utils/pluralize.ts | 0 .../src}/utils/preventNativeFormSubmission.ts | 0 .../src}/utils/promiseUtils.test.ts | 4 +- .../src}/utils/promiseUtils.ts | 2 +- .../src}/utils/reactUtils.tsx | 0 .../src}/utils/registryUtils.test.ts | 4 +- .../src}/utils/registryUtils.ts | 2 +- .../browser-extension/src}/utils/sanitize.ts | 0 .../src}/utils/schemaUtils.test.ts | 2 +- .../src}/utils/schemaUtils.ts | 6 +- .../src}/utils/selectionController.ts | 2 +- .../src}/utils/shadowWrap.ts | 0 .../src}/utils/sidePanelUtils.ts | 4 +- .../src}/utils/storageUtils.ts | 2 +- .../src}/utils/stringUtils.test.ts | 2 +- .../src}/utils/stringUtils.ts | 0 .../src}/utils/textAreaUtils.ts | 0 .../browser-extension/src}/utils/themes.scss | 0 .../browser-extension/src}/utils/timeUtils.ts | 0 .../browser-extension/src}/utils/typeUtils.ts | 0 .../src}/utils/urlUtils.test.ts | 4 +- .../browser-extension/src}/utils/urlUtils.ts | 4 +- .../src}/utils/variableUtils.test.ts | 2 +- .../src}/utils/variableUtils.ts | 2 +- .../src}/validators/formValidator.test.ts | 2 +- .../src}/validators/formValidator.ts | 6 +- .../src}/validators/schemaValidator.test.ts | 28 +- .../src}/validators/schemaValidator.ts | 34 +- .../src}/vendors/Overlay.tsx | 0 .../src}/vendors/bootstrapWithoutRem.css | 0 .../src}/vendors/encodings.ts | 0 .../src}/vendors/hoverintent.d.ts | 0 .../src}/vendors/hoverintent.js | 0 .../src}/vendors/intro.js/introjs.scss | 0 .../src}/vendors/jQueryInitialize.d.ts | 0 .../src}/vendors/jQueryInitialize.js | 0 .../src}/vendors/mixpanelBrowser.ts | 0 .../vendors/page-metadata-parser/parser.d.ts | 0 .../vendors/page-metadata-parser/parser.js | 0 .../vendors/page-metadata-parser/url-utils.js | 0 .../browser-extension/src}/vendors/pkce.ts | 0 .../browser-extension/src}/vendors/process.js | 0 .../vendors/randomStringDetection/LICENSE | 0 .../vendors/randomStringDetection/detector.ts | 0 .../constants/globalOption.ts | 0 .../reactPerformanceTesting/getDisplayName.ts | 0 .../getPatchedComponent.ts | 0 .../vendors/reactPerformanceTesting/perf.ts | 0 .../reactPerformanceTesting/perfTypes.ts | 0 .../vendors/reactPerformanceTesting/readme.md | 0 .../vendors/reactPerformanceTesting/store.ts | 0 .../utils/isClassComponent.ts | 0 .../utils/isForwardRefComponent.ts | 0 .../utils/isFunctionComponent.ts | 0 .../utils/isMemoComponent.ts | 0 .../reactPerformanceTesting/utils/pushTask.ts | 0 .../utils/shouldTrack.ts | 0 .../reactPerformanceTesting/utils/symbols.ts | 0 .../src}/vendors/theme/app/app.scss | 0 .../theme/assets/styles/_background.scss | 0 .../theme/assets/styles/_base-colors.scss | 0 .../theme/assets/styles/_dashboard.scss | 0 .../vendors/theme/assets/styles/_demo.scss | 0 .../vendors/theme/assets/styles/_footer.scss | 0 .../theme/assets/styles/_functions.scss | 0 .../vendors/theme/assets/styles/_layout.scss | 0 .../vendors/theme/assets/styles/_misc.scss | 0 .../vendors/theme/assets/styles/_navbar.scss | 0 .../vendors/theme/assets/styles/_reset.scss | 0 .../theme/assets/styles/_responsive.scss | 0 .../theme/assets/styles/_settings-panel.scss | 0 .../vendors/theme/assets/styles/_sidebar.scss | 0 .../vendors/theme/assets/styles/_spinner.scss | 0 .../theme/assets/styles/_typography.scss | 0 .../theme/assets/styles/_utilities.scss | 0 .../theme/assets/styles/_variables.scss | 0 .../assets/styles/components/_accordions.scss | 0 .../assets/styles/components/_badges.scss | 0 .../styles/components/_bootstrap-alerts.scss | 0 .../components/_bootstrap-progress.scss | 0 .../styles/components/_breadcrumbs.scss | 0 .../assets/styles/components/_buttons.scss | 0 .../assets/styles/components/_cards.scss | 0 .../assets/styles/components/_chats.scss | 0 .../styles/components/_checkbox-radio.scss | 0 .../assets/styles/components/_dropdowns.scss | 0 .../assets/styles/components/_forms.scss | 0 .../assets/styles/components/_icons.scss | 0 .../assets/styles/components/_kanban.scss | 0 .../assets/styles/components/_landing.scss | 0 .../assets/styles/components/_lists.scss | 0 .../assets/styles/components/_pagination.scss | 0 .../assets/styles/components/_popovers.scss | 0 .../assets/styles/components/_portfolio.scss | 0 .../assets/styles/components/_preview.scss | 0 .../styles/components/_pricing-table.scss | 0 .../styles/components/_product-tile.scss | 0 .../styles/components/_project-list.scss | 0 .../styles/components/_react-table.scss | 0 .../assets/styles/components/_spinner.scss | 0 .../assets/styles/components/_tables.scss | 0 .../theme/assets/styles/components/_tabs.scss | 0 .../assets/styles/components/_tickets.scss | 0 .../assets/styles/components/_timeline.scss | 0 .../assets/styles/components/_todo-list.scss | 0 .../assets/styles/components/_tooltips.scss | 0 .../styles/components/_user-listing.scss | 0 .../styles/components/_user-profile.scss | 0 .../assets/styles/components/_widgets.scss | 0 .../email/_mail-list-container.scss | 0 .../components/email/_mail-sidebar.scss | 0 .../components/email/_message-content.scss | 0 .../components/landing-screens/_auth.scss | 0 .../components/loaders/_bar-loader.scss | 0 .../components/loaders/_circle-loader.scss | 0 .../components/loaders/_colored-balls.scss | 0 .../loaders/_dot-opacity-loader.scss | 0 .../loaders/_flip-square-loader.scss | 0 .../components/loaders/_glowing-ball.scss | 0 .../loaders/_jumping-dots-loader.scss | 0 .../styles/components/loaders/_loaders.scss | 0 .../loaders/_moving-square-loader.scss | 0 .../components/loaders/_pixel-loader.scss | 0 .../components/loaders/_square-box.scss | 0 .../loaders/_square-path-loader.scss | 0 .../styles/components/loaders/_variables.scss | 0 .../plugin-overrides/_contex-menu.scss | 0 .../plugin-overrides/_date-picker.scss | 0 .../plugin-overrides/_full-calendar.scss | 0 .../plugin-overrides/_jquery-jvectormap.scss | 0 .../plugin-overrides/_no-ui-slider.scss | 0 .../components/plugin-overrides/_rating.scss | 0 .../_react-bootstrap-table.scss | 0 .../_react-photo-gallery.scss | 0 .../plugin-overrides/_react-table.scss | 0 .../_react-tag-autocomplete.scss | 0 .../plugin-overrides/_slick-carousel.scss | 0 .../plugin-overrides/_sweet-alert.scss | 0 .../components/plugin-overrides/_wizard.scss | 0 .../assets/styles/mixins/_animation.scss | 0 .../theme/assets/styles/mixins/_badges.scss | 0 .../assets/styles/mixins/_blockqoute.scss | 0 .../theme/assets/styles/mixins/_buttons.scss | 0 .../theme/assets/styles/mixins/_cards.scss | 0 .../styles/mixins/_color-functions.scss | 0 .../theme/assets/styles/mixins/_misc.scss | 0 .../assets/styles/mixins/_no-ui-slider.scss | 0 .../theme/assets/styles/mixins/_popovers.scss | 0 .../theme/assets/styles/mixins/_tooltips.scss | 0 .../static}/audio/applause.mp3 | Bin .../static}/audio/doorbell.mp3 | Bin .../static}/audio/magic-wand.mp3 | Bin .../static}/audio/sad-trombone.mp3 | Bin .../static}/audio/success.mp3 | Bin .../static}/background.worker.js | 0 .../static}/backgroundCanary.js | 0 .../static}/icons/beta/logo128.png | Bin .../static}/icons/beta/logo16.png | Bin .../static}/icons/beta/logo32.png | Bin .../static}/icons/beta/logo48.png | Bin .../static}/icons/inactive/logo128.png | Bin .../static}/icons/inactive/logo16.png | Bin .../static}/icons/inactive/logo32.png | Bin .../static}/icons/inactive/logo48.png | Bin .../static}/icons/logo128.png | Bin .../static}/icons/logo16.png | Bin .../static}/icons/logo32.png | Bin .../static}/icons/logo48.png | Bin .../img/fa-check-circle-solid-custom.svg | 0 .../img/fa-circle-solid-loading-custom.svg | 0 .../img/fa-exclamation-circle-custom.svg | 0 .../img/fa-exclamation-triangle-custom.svg | 0 .../img/fa-minus-circle-solid-custom.svg | 0 .../static}/img/google_sheets.svg | 0 .../browser-extension/static}/img/slack.svg | 0 .../browser-extension/static}/img/zapier.svg | 0 .../browser-extension/static}/loadFonts.js | 0 .../static}/loadingScreen.css | 0 .../static}/loadingScreen.js | 0 .../static}/managedStorageSchema.json | 0 .../browser-extension/tsconfig.json | 0 .../browser-extension/tsconfig.tsbuildinfo | 1 + .../browser-extension/webpack.config.mjs | 6 +- .../browser-extension/webpack.sharedConfig.js | 0 package-lock.json | 41 +- package.json | 285 +------ scripts/manifest.test.js | 2 +- scripts/uploadMixpanelLexicon.ts | 2 +- 2741 files changed, 11340 insertions(+), 11255 deletions(-) rename .eslintignore => applications/browser-extension/.eslintignore (100%) rename .eslintrc.js => applications/browser-extension/.eslintrc.js (100%) rename {.storybook => applications/browser-extension/.storybook}/main.js (100%) rename {.storybook => applications/browser-extension/.storybook}/preview-body.html (100%) rename {.storybook => applications/browser-extension/.storybook}/preview.js (100%) rename {contrib => applications/browser-extension/contrib}/bricks/amazon-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/duckduckgo-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/ebay-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/google-scholar-table.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/google-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/hackernews.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/hubspot-contact-timeline.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/hubspot-person-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/linkedin-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/nytimes-org.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/pipedrive-person-activity.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/quora-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/reddit-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/yelp-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/youtube-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/bricks/youtube.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/automation-anywhere-oauth2.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/automation-anywhere.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/google-bigquery-dataset.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/google-geocode.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/google-oauth2-pkce.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/google-sheet.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/greenhouse.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/hubspot.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/hunter.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/microsoft-oauth2-pkce.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/nytimes.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/pipedrive.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/pixiebrix.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/rapidapi.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/salesforce.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/serpapi.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/slack-hook.yaml (100%) rename {contrib => applications/browser-extension/contrib}/integrations/uipath.yaml (100%) rename {contrib => applications/browser-extension/contrib}/raw/hunter.txt (100%) rename {contrib => applications/browser-extension/contrib}/readers/apartments-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/empty-jquery-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/linkedin-contact-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/linkedin-organization-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/linkedin-profile-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/redfin-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/trello-card-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/readers/zillow-reader.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/apartments-sheets.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/apartments-slack.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/amazon.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/duckduckgo.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/ebay.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/google.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/linkedin.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/quora.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/reddit.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/yelp.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/contextMenus/youtube.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/definition-example.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-company-news.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-google-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-hubspot.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-pipedrive-panel.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-salesforce-hunter.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-scholar.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/linkedin-slack-person.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/pipedrive-workday.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/redfin-sheets.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/trello-slack.yaml (100%) rename {contrib => applications/browser-extension/contrib}/recipes/v3-example.txt (100%) rename {contrib => applications/browser-extension/contrib}/recipes/v3-optional-services-example.txt (100%) rename {contrib => applications/browser-extension/contrib}/recipes/zillow-sheets.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/apartments-property-button.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/linkedin-contact-info-button.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/linkedin-contact-info-entry.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/linkedin-menu-extension.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/linkedin-organization-button.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/linkedin-organization-panel.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/linkedin-person-panel.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/pipedrive-deal-panel.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/pipedrive-organization-extension.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/pipedrive-person-extension.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/redfin-button.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/selection-search.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/trello-card-action.yaml (100%) rename {contrib => applications/browser-extension/contrib}/starterBricks/zillow-button.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/README.md (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/env.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/authentication.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/environmentCheck.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/modDefinitions.ts (99%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/modDefinitions/README.md (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/modDefinitions/brick-actions.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/modDefinitions/brick-configuration.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/modDefinitions/simple-sidebar-panel.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/pageContext.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/responses/giphy-search.json (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/testBase.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/fixtures/utils.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/basePageObject.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/constants.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionConsole/localIntegrationsPage.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionConsole/modsPage.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionConsole/workshop/createWorkshopModPage.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts (94%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionConsole/workshop/modEditor.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionConsole/workshop/workshopPage.ts (95%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/extensionsShortcutsPage.ts (99%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/external/googleAuthPopup.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/floatingActionButton.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/brickActionsPanel.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/configurationForm.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/createModModal.ts (95%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/dataPanel.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/deactivateModModal.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/modEditorPane.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/modListingPanel.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/pageEditorPage.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/pageObjects/pageEditor/utils.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/setup/affiliated.setup.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/setup/unaffiliated.setup.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/setup/utils.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/bricks/sidebarEffects.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/deployments/deploymentActivation.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/extensionConsole/activation.spec.ts (99%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/extensionConsole/modsPage.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/extensionConsole/zapierModal.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/modLifecycle.spec.ts (97%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/addStarterBrick.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-button-starter-brick-to-mod.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-context-menu-starter-brick-to-mod.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-quick-bar-starter-brick-to-mod.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-sidebar-panel-starter-brick-to-mod.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-trigger-starter-brick-to-mod.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickActions.spec.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-added.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copied-to-another-mod.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copy-pasted.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-removed.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/bricks-moved.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickConfiguration.spec.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/brickConfiguration.spec.ts-snapshots/brick-configuration/starter-brick-configuration-changes.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/clearChanges.spec.ts (97%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/copyMod.spec.ts (96%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-copy.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-origin.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-copy.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-origin.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/draftInjection.spec.ts (94%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/liveEditing.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/logsPane.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/modEditorPane.spec.ts (97%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-inputs.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-metadata.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/modVariablesDefinition.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/add-save-mod-variable-definition/mod-variables-definition.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/new-mod-variable-without-brick/mod-variables-definition-no-brick.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/moveOrCopyModComponent.spec.ts (98%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/optionsArgs.spec.ts (97%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/saveMod.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/pageEditor/specialPages.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/regressions/doNotCloseSidebarOnPageEditorSave.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/regressions/formFlicker.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/regressions/hideModalsOnPageEditorRefresh.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/regressions/sandboxBrickErrors.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/regressions/sidebarLinks.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/regressions/welcomeStarterBricks.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/allFrames.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/customEvents.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/googleSheetsIntegration.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/insertAtCursor.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/localIntegrations.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/modVariables/variableSync.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/sandbox.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/screenshotTab.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/setInputValue.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/sidebar/sidebarActivation.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/sidebar/sidebarAuth.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/sidebar/sidebarController.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/sidebar/sidebarNavigation.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/sidebar/sidebarPanelTheme.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/srcdocFrames.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/runtime/textSnippets.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/smoke/floatingActionButton.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/smoke/modsPage.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/smoke/pageEditor.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/smoke/sidebar.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/smoke/workshopPage.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/telemetry/errors.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/workshop/createMod.spec.ts (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/description-change.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/final-definition.yaml (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/heading-change.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/no-changes.diff (100%) rename {end-to-end-tests => applications/browser-extension/end-to-end-tests}/utils.ts (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/index.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noCrossBoundaryImports.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noCrossBoundaryImports.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noExpressionLiterals.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noExpressionLiterals.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noInvalidDataTestId.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noInvalidDataTestId.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noNullRtkQueryArgs.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noNullRtkQueryArgs.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/noRestrictedSyntax.tsx (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/notBothLabelAndLockableProps.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/notBothLabelAndLockableProps.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/persistBackgroundData.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/persistBackgroundData.txt (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferAxiosMockAdapter.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferAxiosMockAdapter.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferNullish.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferNullish.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferNullishable.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferNullishable.test.js (100%) rename {eslint-local-rules => applications/browser-extension/eslint-local-rules}/preferUsingStepsForLongTests.js (100%) rename {img => applications/browser-extension/img}/aa-logo-small.png (100%) rename {img => applications/browser-extension/img}/aa-logo.svg (100%) rename {img => applications/browser-extension/img}/beta-logo-small.svg (100%) rename {img => applications/browser-extension/img}/beta-logo.svg (100%) rename {img => applications/browser-extension/img}/blueprint-activation-complete.png (100%) rename {img => applications/browser-extension/img}/demo.gif (100%) rename {img => applications/browser-extension/img}/devtools-dock-bottom-icon.svg (100%) rename {img => applications/browser-extension/img}/devtools-docking-context-menu.png (100%) rename {img => applications/browser-extension/img}/devtools-pixiebrix-toolbar-hidden.png (100%) rename {img => applications/browser-extension/img}/devtools-pixiebrix-toolbar-screenshot.png (100%) rename {img => applications/browser-extension/img}/devtools-pixiebrix-toolbar-tab.png (100%) rename {img => applications/browser-extension/img}/devtools-shortcut-mac.svg (100%) rename {img => applications/browser-extension/img}/devtools-shortcut-windows.svg (100%) rename {img => applications/browser-extension/img}/example-permissions-dialog.png (100%) rename {img => applications/browser-extension/img}/home-pane-bg-illustration.png (100%) rename {img => applications/browser-extension/img}/home.svg (100%) rename {img => applications/browser-extension/img}/inspect-context-menu.png (100%) rename {img => applications/browser-extension/img}/logo-small.svg (100%) rename {img => applications/browser-extension/img}/logo.svg (100%) rename {img => applications/browser-extension/img}/marketplace.svg (98%) rename {img => applications/browser-extension/img}/paintbrush.svg (100%) rename {img => applications/browser-extension/img}/workshop.svg (100%) rename jest.config.js => applications/browser-extension/jest.config.js (100%) rename knip.mjs => applications/browser-extension/knip.mjs (85%) create mode 100644 applications/browser-extension/package.json rename playwright.config.ts => applications/browser-extension/playwright.config.ts (86%) rename {public => applications/browser-extension/public}/mockServiceWorker.js (100%) rename {schemas => applications/browser-extension/schemas}/component.json (100%) rename {schemas => applications/browser-extension/schemas}/database.json (100%) rename {schemas => applications/browser-extension/schemas}/draft-07.json (100%) rename {schemas => applications/browser-extension/schemas}/effect.json (100%) rename {schemas => applications/browser-extension/schemas}/element.json (100%) rename {schemas => applications/browser-extension/schemas}/extensionPoint.json (100%) rename {schemas => applications/browser-extension/schemas}/googleSheetId.json (100%) rename {schemas => applications/browser-extension/schemas}/icon.json (100%) rename {schemas => applications/browser-extension/schemas}/innerDefinition.json (100%) rename {schemas => applications/browser-extension/schemas}/key.json (100%) rename {schemas => applications/browser-extension/schemas}/metadata.json (100%) rename {schemas => applications/browser-extension/schemas}/pipeline.json (100%) rename {schemas => applications/browser-extension/schemas}/reader.json (100%) rename {schemas => applications/browser-extension/schemas}/recipe.json (100%) rename {schemas => applications/browser-extension/schemas}/ref.json (100%) rename {schemas => applications/browser-extension/schemas}/renderer.json (100%) rename {schemas => applications/browser-extension/schemas}/service.json (100%) rename {src => applications/browser-extension/src}/Storyshots.test.js (100%) rename {src => applications/browser-extension/src}/__mocks__/@/auth/featureFlagStorage.ts (96%) rename {src => applications/browser-extension/src}/__mocks__/@/auth/useLinkState.ts (92%) rename {src => applications/browser-extension/src}/__mocks__/@/background/messenger/api.ts (84%) rename {src => applications/browser-extension/src}/__mocks__/@/components/DelayedRender.tsx (100%) rename {src => applications/browser-extension/src}/__mocks__/@/components/Stylesheets.tsx (100%) rename {src => applications/browser-extension/src}/__mocks__/@/components/asyncIcon.ts (87%) rename {src => applications/browser-extension/src}/__mocks__/@/contentScript/focusCaptureDialog.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/data/service/apiClient.js (100%) rename {src => applications/browser-extension/src}/__mocks__/@/hooks/useContextInvalidated.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/icons/getSvgIcon.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/icons/list.ts (96%) rename {src => applications/browser-extension/src}/__mocks__/@/sandbox/messenger/api.ts (93%) rename {src => applications/browser-extension/src}/__mocks__/@/store/deactivateModHelpers.ts (79%) rename {src => applications/browser-extension/src}/__mocks__/@/telemetry/logging.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/telemetry/reportError.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/telemetry/reportEvent.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/telemetry/telemetryHelpers.ts (89%) rename {src => applications/browser-extension/src}/__mocks__/@/utils/expectContext.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/utils/injectScriptTag.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/utils/injectStylesheet.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/@/utils/shadowWrap.js (100%) rename {src => applications/browser-extension/src}/__mocks__/@xobotyi/scrollbar-width.js (100%) rename {src => applications/browser-extension/src}/__mocks__/browserMock.mjs (100%) rename {src => applications/browser-extension/src}/__mocks__/connected-react-router.js (100%) rename {src => applications/browser-extension/src}/__mocks__/fit-textarea.js (100%) rename {src => applications/browser-extension/src}/__mocks__/holderjs.js (100%) rename {src => applications/browser-extension/src}/__mocks__/react-virtualized-auto-sizer.js (100%) rename {src => applications/browser-extension/src}/__mocks__/readme.md (92%) rename {src => applications/browser-extension/src}/__mocks__/redux-state-sync.js (100%) rename {src => applications/browser-extension/src}/__mocks__/stringMock.js (100%) rename {src => applications/browser-extension/src}/__mocks__/webext-detect.ts (100%) rename {src => applications/browser-extension/src}/__mocks__/webext-messenger.js (100%) rename {src => applications/browser-extension/src}/__snapshots__/Storyshots.test.js.snap (100%) rename {src => applications/browser-extension/src}/activation/ActivationLink.tsx (89%) rename {src => applications/browser-extension/src}/activation/PersonalDeploymentField.tsx (87%) rename {src => applications/browser-extension/src}/activation/WizardValuesModIntegrationsContextAdapter.tsx (90%) rename {src => applications/browser-extension/src}/activation/activateLinkClickHandler.test.tsx (92%) rename {src => applications/browser-extension/src}/activation/activateLinkClickHandler.ts (91%) rename {src => applications/browser-extension/src}/activation/activationLinkUtils.test.ts (99%) rename {src => applications/browser-extension/src}/activation/activationLinkUtils.ts (96%) rename {src => applications/browser-extension/src}/activation/mapModComponentDefinitionToActivatedModComponent.ts (91%) rename {src => applications/browser-extension/src}/activation/modOptionsHelpers.ts (94%) rename {src => applications/browser-extension/src}/activation/useActivateMod.test.ts (93%) rename {src => applications/browser-extension/src}/activation/useActivateMod.ts (86%) rename {src => applications/browser-extension/src}/activation/useActivateModWizard.test.tsx (87%) rename {src => applications/browser-extension/src}/activation/useActivateModWizard.ts (83%) rename {src => applications/browser-extension/src}/activation/useOrganizationActivationPolicy.ts (89%) rename {src => applications/browser-extension/src}/activation/wizardTypes.ts (94%) rename {src => applications/browser-extension/src}/analysis/AnalysisAnnotationsContext.ts (97%) rename {src => applications/browser-extension/src}/analysis/ReduxAnalysisManager.ts (97%) rename {src => applications/browser-extension/src}/analysis/analysisSelectors.ts (97%) rename {src => applications/browser-extension/src}/analysis/analysisSlice.ts (97%) rename {src => applications/browser-extension/src}/analysis/analysisTypes.ts (92%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/baseAnalysisVisitors.ts (87%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/brickIdVisitor.ts (90%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/brickTypeAnalysis.test.ts (75%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/brickTypeAnalysis.ts (84%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/conditionAnalysis.test.ts (91%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/conditionAnalysis.ts (89%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts (92%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts (91%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts (90%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts (90%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/formBrickAnalysis.ts (89%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/httpRequestAnalysis.test.ts (93%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/httpRequestAnalysis.ts (90%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/modComponentUrlPatternAnalysis.test.ts (100%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts (95%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/outputKeyAnalysis.test.ts (82%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/outputKeyAnalysis.ts (91%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts (87%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts (87%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts (80%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts (81%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/regexAnalysis.ts (85%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/regexAnalysisTest.test.ts (89%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/renderersAnalysis.ts (92%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/requestPermissionAnalysis.test.ts (89%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/requestPermissionAnalysis.ts (84%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/selectorAnalysis.test.ts (95%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/selectorAnalysis.ts (91%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/templateAnalysis.test.ts (87%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/templateAnalysis.ts (83%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/traceAnalysis.test.ts (88%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/traceAnalysis.ts (87%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.test.ts (100%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts (99%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts (95%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/varAnalysis/varAnalysis.ts (93%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/varAnalysis/varMap.test.ts (100%) rename {src => applications/browser-extension/src}/analysis/analysisVisitors/varAnalysis/varMap.ts (99%) rename {src => applications/browser-extension/src}/analysis/asyncAnalysisQueue.test.ts (100%) rename {src => applications/browser-extension/src}/analysis/asyncAnalysisQueue.ts (100%) rename {src => applications/browser-extension/src}/auth/RequireAuth.test.tsx (100%) rename {src => applications/browser-extension/src}/auth/RequireAuth.tsx (92%) rename {src => applications/browser-extension/src}/auth/RequireScope.tsx (96%) rename {src => applications/browser-extension/src}/auth/ScopeSettings.module.scss (100%) rename {src => applications/browser-extension/src}/auth/ScopeSettings.tsx (95%) rename {src => applications/browser-extension/src}/auth/authConstants.ts (95%) rename {src => applications/browser-extension/src}/auth/authSelectors.ts (97%) rename {src => applications/browser-extension/src}/auth/authSlice.ts (94%) rename {src => applications/browser-extension/src}/auth/authStorage.test.ts (90%) rename {src => applications/browser-extension/src}/auth/authStorage.ts (95%) rename {src => applications/browser-extension/src}/auth/authTypes.ts (93%) rename {src => applications/browser-extension/src}/auth/authUtils.ts (91%) rename {src => applications/browser-extension/src}/auth/deploymentKey.ts (90%) rename {src => applications/browser-extension/src}/auth/featureFlagStorage.test.ts (91%) rename {src => applications/browser-extension/src}/auth/featureFlagStorage.ts (93%) rename {src => applications/browser-extension/src}/auth/featureFlags.ts (100%) rename {src => applications/browser-extension/src}/auth/isAuthenticationAxiosError.ts (97%) rename {src => applications/browser-extension/src}/auth/selectAuthUserOrganizations.ts (85%) rename {src => applications/browser-extension/src}/auth/useLinkState.ts (91%) rename {src => applications/browser-extension/src}/auth/usePartnerAuthData.ts (90%) rename {src => applications/browser-extension/src}/auth/useRequiredPartnerAuth.test.tsx (88%) rename {src => applications/browser-extension/src}/auth/useRequiredPartnerAuth.ts (89%) rename {src => applications/browser-extension/src}/background/auth/authHelpers.test.ts (92%) rename {src => applications/browser-extension/src}/background/auth/authHelpers.ts (94%) rename {src => applications/browser-extension/src}/background/auth/authStorage.ts (92%) rename {src => applications/browser-extension/src}/background/auth/codeGrantFlow.ts (93%) rename {src => applications/browser-extension/src}/background/auth/getToken.test.ts (92%) rename {src => applications/browser-extension/src}/background/auth/getToken.ts (86%) rename {src => applications/browser-extension/src}/background/auth/implicitGrantFlow.ts (90%) rename {src => applications/browser-extension/src}/background/auth/launchInteractiveOAuth2Flow.ts (83%) rename {src => applications/browser-extension/src}/background/auth/launchOAuth2Flow.test.ts (91%) rename {src => applications/browser-extension/src}/background/auth/launchOAuth2Flow.ts (87%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts (75%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/getPartnerPrincipals.ts (85%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/launchAuthIntegration.test.ts (90%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/launchAuthIntegration.ts (85%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts (92%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts (88%) rename {src => applications/browser-extension/src}/background/auth/partnerIntegrations/types.ts (100%) rename {src => applications/browser-extension/src}/background/axiosFetch.ts (100%) rename {src => applications/browser-extension/src}/background/background.ts (100%) rename {src => applications/browser-extension/src}/background/backgroundDomWatcher.ts (100%) rename {src => applications/browser-extension/src}/background/backgroundPlatform.ts (79%) rename {src => applications/browser-extension/src}/background/browserAction.ts (94%) rename {src => applications/browser-extension/src}/background/capture.ts (88%) rename {src => applications/browser-extension/src}/background/clipboard.ts (96%) rename {src => applications/browser-extension/src}/background/contentScript.test.ts (94%) rename {src => applications/browser-extension/src}/background/contentScript.ts (93%) rename {src => applications/browser-extension/src}/background/contextMenus/ensureContextMenu.ts (87%) rename {src => applications/browser-extension/src}/background/contextMenus/initContextMenus.test.ts (78%) rename {src => applications/browser-extension/src}/background/contextMenus/initContextMenus.ts (82%) rename {src => applications/browser-extension/src}/background/contextMenus/makeMenuId.ts (94%) rename {src => applications/browser-extension/src}/background/contextMenus/preloadContextMenus.ts (75%) rename {src => applications/browser-extension/src}/background/contextMenus/uninstallContextMenu.ts (93%) rename {src => applications/browser-extension/src}/background/deploymentUpdater.test.ts (92%) rename {src => applications/browser-extension/src}/background/deploymentUpdater.ts (89%) rename {src => applications/browser-extension/src}/background/executor.test.ts (82%) rename {src => applications/browser-extension/src}/background/executor.ts (89%) rename {src => applications/browser-extension/src}/background/externalProtocol.ts (96%) rename {src => applications/browser-extension/src}/background/getBuiltInIntegrationConfigs.ts (84%) rename {src => applications/browser-extension/src}/background/initBrowserCommands.ts (89%) rename {src => applications/browser-extension/src}/background/initTheme.ts (83%) rename {src => applications/browser-extension/src}/background/installer.test.ts (93%) rename {src => applications/browser-extension/src}/background/installer.ts (93%) rename {src => applications/browser-extension/src}/background/integrationConfigLocator.ts (92%) rename {src => applications/browser-extension/src}/background/messenger/api.ts (95%) rename {src => applications/browser-extension/src}/background/messenger/external/_implementation.ts (88%) rename {src => applications/browser-extension/src}/background/messenger/external/api.ts (87%) rename {src => applications/browser-extension/src}/background/messenger/external/registration.ts (100%) rename {src => applications/browser-extension/src}/background/messenger/registration.ts (79%) rename {src => applications/browser-extension/src}/background/modUpdater.test.ts (92%) rename {src => applications/browser-extension/src}/background/modUpdater.ts (87%) rename {src => applications/browser-extension/src}/background/navigation.ts (90%) rename {src => applications/browser-extension/src}/background/partnerHandlers.ts (95%) rename {src => applications/browser-extension/src}/background/performConfiguredRequest.test.ts (92%) rename {src => applications/browser-extension/src}/background/proxyUtils.test.ts (98%) rename {src => applications/browser-extension/src}/background/proxyUtils.ts (97%) rename {src => applications/browser-extension/src}/background/refreshRegistries.ts (90%) rename {src => applications/browser-extension/src}/background/refreshToken.test.ts (85%) rename {src => applications/browser-extension/src}/background/refreshToken.ts (93%) rename {src => applications/browser-extension/src}/background/removeModComponentForEveryTab.ts (88%) rename {src => applications/browser-extension/src}/background/requests.test.ts (86%) rename {src => applications/browser-extension/src}/background/requests.ts (89%) rename {src => applications/browser-extension/src}/background/restrictUnauthenticatedUrlAccess.test.ts (93%) rename {src => applications/browser-extension/src}/background/restrictUnauthenticatedUrlAccess.ts (92%) rename {src => applications/browser-extension/src}/background/setToolbarBadge.test.ts (88%) rename {src => applications/browser-extension/src}/background/setToolbarIconFromTheme.test.ts (95%) rename {src => applications/browser-extension/src}/background/setToolbarIconFromTheme.ts (88%) rename {src => applications/browser-extension/src}/background/sidePanel.ts (92%) rename {src => applications/browser-extension/src}/background/stateControllerListeners.test.ts (91%) rename {src => applications/browser-extension/src}/background/stateControllerListeners.ts (95%) rename {src => applications/browser-extension/src}/background/tabs.ts (94%) rename {src => applications/browser-extension/src}/background/teamTrialUpdater.ts (82%) rename {src => applications/browser-extension/src}/background/telemetry.test.ts (92%) rename {src => applications/browser-extension/src}/background/telemetry.ts (93%) rename {src => applications/browser-extension/src}/background/toolbarBadge.ts (91%) rename {src => applications/browser-extension/src}/background/utils/deactivateMod.test.ts (79%) rename {src => applications/browser-extension/src}/background/utils/deactivateMod.ts (81%) rename {src => applications/browser-extension/src}/background/utils/deactivateModInstancesAndSaveState.ts (75%) rename {src => applications/browser-extension/src}/background/utils/saveModComponentStateAndReloadTabs.ts (85%) rename {src => applications/browser-extension/src}/background/walkthroughModalTrigger.ts (93%) rename {src => applications/browser-extension/src}/background/welcomeMods.test.ts (93%) rename {src => applications/browser-extension/src}/background/welcomeMods.ts (86%) rename {src => applications/browser-extension/src}/bricks/PipelineExpressionVisitor.test.ts (86%) rename {src => applications/browser-extension/src}/bricks/PipelineExpressionVisitor.ts (93%) rename {src => applications/browser-extension/src}/bricks/PipelineVisitor.test.ts (92%) rename {src => applications/browser-extension/src}/bricks/PipelineVisitor.ts (90%) rename {src => applications/browser-extension/src}/bricks/available.test.ts (99%) rename {src => applications/browser-extension/src}/bricks/available.ts (95%) rename {src => applications/browser-extension/src}/bricks/brickFilterHelpers.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/AddDynamicTextSnippet.test.ts (83%) rename {src => applications/browser-extension/src}/bricks/effects/AddDynamicTextSnippet.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/AddQuickBarAction.test.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/AddQuickBarAction.tsx (95%) rename {src => applications/browser-extension/src}/bricks/effects/AddTextSnippets.test.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/AddTextSnippets.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/CancelEffect.test.ts (79%) rename {src => applications/browser-extension/src}/bricks/effects/CancelEffect.ts (81%) rename {src => applications/browser-extension/src}/bricks/effects/CancelEphemeralElements.ts (78%) rename {src => applications/browser-extension/src}/bricks/effects/CommentOptions.test.tsx (86%) rename {src => applications/browser-extension/src}/bricks/effects/CommentOptions.tsx (59%) rename {src => applications/browser-extension/src}/bricks/effects/InsertAtCursorEffect.test.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/InsertAtCursorEffect.ts (83%) rename {src => applications/browser-extension/src}/bricks/effects/TelemetryEffect.ts (83%) rename {src => applications/browser-extension/src}/bricks/effects/ToggleQuickbarEffect.ts (85%) rename {src => applications/browser-extension/src}/bricks/effects/__snapshots__/highlight.test.ts.snap (100%) rename {src => applications/browser-extension/src}/bricks/effects/alert.test.ts (80%) rename {src => applications/browser-extension/src}/bricks/effects/alert.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/assignModVariable.test.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/assignModVariable.ts (92%) rename {src => applications/browser-extension/src}/bricks/effects/attachAutocomplete.test.ts (91%) rename {src => applications/browser-extension/src}/bricks/effects/attachAutocomplete.ts (92%) rename {src => applications/browser-extension/src}/bricks/effects/captureAudio.ts (82%) rename {src => applications/browser-extension/src}/bricks/effects/clipboard.test.ts (94%) rename {src => applications/browser-extension/src}/bricks/effects/clipboard.ts (88%) rename {src => applications/browser-extension/src}/bricks/effects/comment.test.ts (83%) rename {src => applications/browser-extension/src}/bricks/effects/comment.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/confetti.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/customEvent.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/effects/customEvent.ts (85%) rename {src => applications/browser-extension/src}/bricks/effects/disable.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/effects/disable.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/enable.test.ts (88%) rename {src => applications/browser-extension/src}/bricks/effects/enable.ts (83%) rename {src => applications/browser-extension/src}/bricks/effects/error.test.ts (79%) rename {src => applications/browser-extension/src}/bricks/effects/error.ts (81%) rename {src => applications/browser-extension/src}/bricks/effects/event.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/effects/event.ts (89%) rename {src => applications/browser-extension/src}/bricks/effects/exportCsv.ts (91%) rename {src => applications/browser-extension/src}/bricks/effects/exportFileEffect.test.ts (85%) rename {src => applications/browser-extension/src}/bricks/effects/exportFileEffect.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/forms.test.ts (94%) rename {src => applications/browser-extension/src}/bricks/effects/forms.ts (94%) rename {src => applications/browser-extension/src}/bricks/effects/getAllEffects.ts (72%) rename {src => applications/browser-extension/src}/bricks/effects/hide.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/effects/hide.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/highlight.test.ts (92%) rename {src => applications/browser-extension/src}/bricks/effects/highlight.ts (93%) rename {src => applications/browser-extension/src}/bricks/effects/highlightText.test.ts (97%) rename {src => applications/browser-extension/src}/bricks/effects/highlightText.ts (93%) rename {src => applications/browser-extension/src}/bricks/effects/insertHtml.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/logger.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/pageState.test.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/pageState.ts (94%) rename {src => applications/browser-extension/src}/bricks/effects/postMessage.test.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/postMessage.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/reactivate.ts (81%) rename {src => applications/browser-extension/src}/bricks/effects/redirectPage.ts (88%) rename {src => applications/browser-extension/src}/bricks/effects/replaceText.test.ts (96%) rename {src => applications/browser-extension/src}/bricks/effects/replaceText.ts (93%) rename {src => applications/browser-extension/src}/bricks/effects/scrollIntoView.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/scrollToElement.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/effects/setToolbarBadge.test.ts (80%) rename {src => applications/browser-extension/src}/bricks/effects/setToolbarBadge.ts (81%) rename {src => applications/browser-extension/src}/bricks/effects/show.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/effects/show.ts (84%) rename {src => applications/browser-extension/src}/bricks/effects/sidebarEffects.ts (85%) rename {src => applications/browser-extension/src}/bricks/effects/sound.ts (81%) rename {src => applications/browser-extension/src}/bricks/effects/submitPanel.test.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/submitPanel.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/tabs.ts (85%) rename {src => applications/browser-extension/src}/bricks/effects/tourEffect.test.ts (87%) rename {src => applications/browser-extension/src}/bricks/effects/tourEffect.ts (89%) rename {src => applications/browser-extension/src}/bricks/effects/vue.ts (86%) rename {src => applications/browser-extension/src}/bricks/effects/wait.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/effects/wait.ts (91%) rename {src => applications/browser-extension/src}/bricks/errors.ts (97%) rename {src => applications/browser-extension/src}/bricks/exampleBrickConfigs.ts (85%) rename {src => applications/browser-extension/src}/bricks/hooks/useTypedBrickMap.ts (87%) rename {src => applications/browser-extension/src}/bricks/readers/ArrayCompositeReader.ts (97%) rename {src => applications/browser-extension/src}/bricks/readers/BlankReader.ts (87%) rename {src => applications/browser-extension/src}/bricks/readers/CompositeReader.ts (97%) rename {src => applications/browser-extension/src}/bricks/readers/DocumentReader.test.ts (95%) rename {src => applications/browser-extension/src}/bricks/readers/DocumentReader.ts (89%) rename {src => applications/browser-extension/src}/bricks/readers/ElementReader.test.ts (93%) rename {src => applications/browser-extension/src}/bricks/readers/ElementReader.ts (88%) rename {src => applications/browser-extension/src}/bricks/readers/HtmlReader.ts (89%) rename {src => applications/browser-extension/src}/bricks/readers/ImageExifReader.ts (88%) rename {src => applications/browser-extension/src}/bricks/readers/ImageReader.ts (91%) rename {src => applications/browser-extension/src}/bricks/readers/ManifestReader.ts (93%) rename {src => applications/browser-extension/src}/bricks/readers/PageMetadataReader.ts (91%) rename {src => applications/browser-extension/src}/bricks/readers/PageSemanticReader.ts (95%) rename {src => applications/browser-extension/src}/bricks/readers/ProfileReader.ts (90%) rename {src => applications/browser-extension/src}/bricks/readers/SelectionReader.ts (88%) rename {src => applications/browser-extension/src}/bricks/readers/SessionReader.ts (91%) rename {src => applications/browser-extension/src}/bricks/readers/TimestampReader.test.ts (93%) rename {src => applications/browser-extension/src}/bricks/readers/TimestampReader.ts (90%) rename {src => applications/browser-extension/src}/bricks/readers/factory.ts (87%) rename {src => applications/browser-extension/src}/bricks/readers/frameworkReader.ts (90%) rename {src => applications/browser-extension/src}/bricks/readers/getAllReaders.ts (95%) rename {src => applications/browser-extension/src}/bricks/readers/jquery.test.ts (97%) rename {src => applications/browser-extension/src}/bricks/readers/jquery.ts (97%) rename {src => applications/browser-extension/src}/bricks/readers/readerUtils.ts (100%) rename {src => applications/browser-extension/src}/bricks/readers/window.ts (90%) rename {src => applications/browser-extension/src}/bricks/registerBuiltinBricks.ts (94%) rename {src => applications/browser-extension/src}/bricks/registry.test.ts (92%) rename {src => applications/browser-extension/src}/bricks/registry.ts (92%) rename {src => applications/browser-extension/src}/bricks/renderers/CustomFormComponent.test.tsx (97%) rename {src => applications/browser-extension/src}/bricks/renderers/CustomFormComponent.tsx (85%) rename {src => applications/browser-extension/src}/bricks/renderers/HtmlRenderer.test.ts (92%) rename {src => applications/browser-extension/src}/bricks/renderers/HtmlRenderer.ts (81%) rename {src => applications/browser-extension/src}/bricks/renderers/MarkdownRenderer.test.tsx (94%) rename {src => applications/browser-extension/src}/bricks/renderers/MarkdownRenderer.ts (82%) rename {src => applications/browser-extension/src}/bricks/renderers/PropertyTree.tsx (100%) rename {src => applications/browser-extension/src}/bricks/renderers/__snapshots__/customForm.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/bricks/renderers/__snapshots__/table.test.ts.snap (100%) rename {src => applications/browser-extension/src}/bricks/renderers/customForm.css (100%) rename {src => applications/browser-extension/src}/bricks/renderers/customForm.test.tsx (92%) rename {src => applications/browser-extension/src}/bricks/renderers/customForm.tsx (95%) rename {src => applications/browser-extension/src}/bricks/renderers/dataTable.ts (94%) rename {src => applications/browser-extension/src}/bricks/renderers/document.tsx (91%) rename {src => applications/browser-extension/src}/bricks/renderers/documentView/DocumentView.tsx (83%) rename {src => applications/browser-extension/src}/bricks/renderers/documentView/DocumentViewProps.tsx (87%) rename {src => applications/browser-extension/src}/bricks/renderers/getAllRenderers.ts (96%) rename {src => applications/browser-extension/src}/bricks/renderers/iframe.ts (91%) rename {src => applications/browser-extension/src}/bricks/renderers/propertyTable.tsx (89%) rename {src => applications/browser-extension/src}/bricks/renderers/table.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/renderers/table.tsx (88%) rename {src => applications/browser-extension/src}/bricks/rootModeHelpers.ts (95%) rename {src => applications/browser-extension/src}/bricks/transformers/FormData.test.ts (96%) rename {src => applications/browser-extension/src}/bricks/transformers/FormData.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/GetBrickInterfaceTransformer.test.ts (81%) rename {src => applications/browser-extension/src}/bricks/transformers/GetBrickInterfaceTransformer.ts (85%) rename {src => applications/browser-extension/src}/bricks/transformers/IdentityTransformer.test.ts (85%) rename {src => applications/browser-extension/src}/bricks/transformers/IdentityTransformer.ts (97%) rename {src => applications/browser-extension/src}/bricks/transformers/IdentityTransformerOptions.test.tsx (73%) rename {src => applications/browser-extension/src}/bricks/transformers/IdentityTransformerOptions.tsx (65%) rename {src => applications/browser-extension/src}/bricks/transformers/ParseJson.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/RunBrickByIdTransformer.test.ts (82%) rename {src => applications/browser-extension/src}/bricks/transformers/RunBrickByIdTransformer.ts (82%) rename {src => applications/browser-extension/src}/bricks/transformers/RunMetadataTransformer.test.ts (79%) rename {src => applications/browser-extension/src}/bricks/transformers/RunMetadataTransformer.ts (86%) rename {src => applications/browser-extension/src}/bricks/transformers/__snapshots__/parseDate.test.ts.snap (100%) rename {src => applications/browser-extension/src}/bricks/transformers/ai/LocalChatCompletion.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/ai/LocalPrompt.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/ai/LocalSummarization.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/ai/domAiHelpers.ts (95%) rename {src => applications/browser-extension/src}/bricks/transformers/brickFactory.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/brickFactory.ts (95%) rename {src => applications/browser-extension/src}/bricks/transformers/component/ComponentReader.ts (85%) rename {src => applications/browser-extension/src}/bricks/transformers/component/TableReader.test.ts (92%) rename {src => applications/browser-extension/src}/bricks/transformers/component/TableReader.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/ForEach.test.ts (79%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/ForEach.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/ForEachElement.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/ForEachElement.ts (84%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/IfElse.test.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/IfElse.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/MapValues.test.ts (80%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/MapValues.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/Retry.test.ts (84%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/Retry.ts (86%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/Run.test.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/Run.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/TryExcept.test.ts (86%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/TryExcept.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/WithAsyncModVariable.ts (92%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/WithCache.test.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/controlFlow/WithCache.ts (94%) rename {src => applications/browser-extension/src}/bricks/transformers/convertDocument.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/convertDocument.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/detect.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/detect.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/encode.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx (95%) rename {src => applications/browser-extension/src}/bricks/transformers/ephemeralForm/EphemeralForm.tsx (84%) rename {src => applications/browser-extension/src}/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx (71%) rename {src => applications/browser-extension/src}/bricks/transformers/ephemeralForm/formTransformer.test.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/ephemeralForm/formTransformer.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/extensionDiagnostics.ts (82%) rename {src => applications/browser-extension/src}/bricks/transformers/getAllTransformers.ts (66%) rename {src => applications/browser-extension/src}/bricks/transformers/httpGet.ts (80%) rename {src => applications/browser-extension/src}/bricks/transformers/javascript.test.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/javascript.ts (85%) rename {src => applications/browser-extension/src}/bricks/transformers/jq.test.ts (94%) rename {src => applications/browser-extension/src}/bricks/transformers/jq.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/jquery/JQueryReader.test.ts (94%) rename {src => applications/browser-extension/src}/bricks/transformers/jquery/JQueryReader.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/jquery/JQueryReaderOptions.module.scss (100%) rename {src => applications/browser-extension/src}/bricks/transformers/jquery/JQueryReaderOptions.test.tsx (90%) rename {src => applications/browser-extension/src}/bricks/transformers/jquery/JQueryReaderOptions.tsx (92%) rename {src => applications/browser-extension/src}/bricks/transformers/jsonPath.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/mapping.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/parseCsv.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/parseDataUrl.test.ts (94%) rename {src => applications/browser-extension/src}/bricks/transformers/parseDataUrl.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/parseDate.test.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/parseDate.ts (93%) rename {src => applications/browser-extension/src}/bricks/transformers/parseJson.test.ts (93%) rename {src => applications/browser-extension/src}/bricks/transformers/parseUrl.test.ts (93%) rename {src => applications/browser-extension/src}/bricks/transformers/parseUrl.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/prompt.ts (83%) rename {src => applications/browser-extension/src}/bricks/transformers/randomNumber.test.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/randomNumber.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/readable.test.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/readable.ts (89%) rename {src => applications/browser-extension/src}/bricks/transformers/regex.test.ts (96%) rename {src => applications/browser-extension/src}/bricks/transformers/regex.ts (94%) rename {src => applications/browser-extension/src}/bricks/transformers/remoteMethod.ts (82%) rename {src => applications/browser-extension/src}/bricks/transformers/screenshotTab.ts (84%) rename {src => applications/browser-extension/src}/bricks/transformers/searchText.test.ts (94%) rename {src => applications/browser-extension/src}/bricks/transformers/searchText.ts (95%) rename {src => applications/browser-extension/src}/bricks/transformers/selectElement.test.ts (78%) rename {src => applications/browser-extension/src}/bricks/transformers/selectElement.ts (84%) rename {src => applications/browser-extension/src}/bricks/transformers/splitText.test.ts (85%) rename {src => applications/browser-extension/src}/bricks/transformers/splitText.ts (90%) rename {src => applications/browser-extension/src}/bricks/transformers/template.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts (85%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts (88%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/EphemeralPanel.module.scss (100%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx (85%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/EphemeralPanel.tsx (89%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/__snapshots__/EphemeralPanel.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/messenger/api.ts (100%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/messenger/registration.ts (92%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/receiverProtocol.test.ts (92%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/receiverProtocol.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts (87%) rename {src => applications/browser-extension/src}/bricks/transformers/traverseElements.test.ts (84%) rename {src => applications/browser-extension/src}/bricks/transformers/traverseElements.ts (91%) rename {src => applications/browser-extension/src}/bricks/transformers/url.ts (92%) rename {src => applications/browser-extension/src}/bricks/types.ts (100%) rename {src => applications/browser-extension/src}/bricks/util.test.ts (97%) rename {src => applications/browser-extension/src}/bricks/util.ts (87%) rename {src => applications/browser-extension/src}/components/AceEditor.tsx (100%) rename {src => applications/browser-extension/src}/components/AceEditorSync.tsx (100%) rename {src => applications/browser-extension/src}/components/Alert.tsx (100%) rename {src => applications/browser-extension/src}/components/AsyncButton.stories.tsx (96%) rename {src => applications/browser-extension/src}/components/AsyncButton.tsx (100%) rename {src => applications/browser-extension/src}/components/AsyncStateGate.test.tsx (93%) rename {src => applications/browser-extension/src}/components/AsyncStateGate.tsx (94%) rename {src => applications/browser-extension/src}/components/BlockFormSubmissionViaEnterIfFirstChild.tsx (100%) rename {src => applications/browser-extension/src}/components/Centered.tsx (100%) rename {src => applications/browser-extension/src}/components/ClickableElement.test.tsx (100%) rename {src => applications/browser-extension/src}/components/ClickableElement.tsx (100%) rename {src => applications/browser-extension/src}/components/ConfirmNavigationModal.tsx (100%) rename {src => applications/browser-extension/src}/components/ConfirmationModal.stories.tsx (97%) rename {src => applications/browser-extension/src}/components/ConfirmationModal.tsx (100%) rename {src => applications/browser-extension/src}/components/DatabaseUnresponsiveBanner.test.tsx (88%) rename {src => applications/browser-extension/src}/components/DatabaseUnresponsiveBanner.tsx (80%) rename {src => applications/browser-extension/src}/components/DelayedRender.test.tsx (100%) rename {src => applications/browser-extension/src}/components/DelayedRender.tsx (95%) rename {src => applications/browser-extension/src}/components/DiffEditor.tsx (100%) rename {src => applications/browser-extension/src}/components/DiffEditorSync.tsx (100%) rename {src => applications/browser-extension/src}/components/Effect.tsx (100%) rename {src => applications/browser-extension/src}/components/EmotionShadowRoot.ts (100%) rename {src => applications/browser-extension/src}/components/ErrorBoundary.tsx (97%) rename {src => applications/browser-extension/src}/components/GridLoader.stories.tsx (96%) rename {src => applications/browser-extension/src}/components/InvalidatedContextGate.test.tsx (94%) rename {src => applications/browser-extension/src}/components/InvalidatedContextGate.tsx (94%) rename {src => applications/browser-extension/src}/components/IsolatedComponent.scss (100%) rename {src => applications/browser-extension/src}/components/IsolatedComponent.tsx (97%) rename {src => applications/browser-extension/src}/components/LayoutWidget.tsx (100%) rename {src => applications/browser-extension/src}/components/LinkButton.module.scss (100%) rename {src => applications/browser-extension/src}/components/LinkButton.stories.tsx (95%) rename {src => applications/browser-extension/src}/components/LinkButton.tsx (100%) rename {src => applications/browser-extension/src}/components/Loader.module.scss (100%) rename {src => applications/browser-extension/src}/components/Loader.stories.tsx (96%) rename {src => applications/browser-extension/src}/components/Loader.tsx (100%) rename {src => applications/browser-extension/src}/components/Markdown.tsx (97%) rename {src => applications/browser-extension/src}/components/MarkdownInline.test.tsx (95%) rename {src => applications/browser-extension/src}/components/MarkdownInline.tsx (97%) rename {src => applications/browser-extension/src}/components/MarketplaceListingIcon.tsx (92%) rename {src => applications/browser-extension/src}/components/MarketplaceListingModIcon.module.scss (100%) rename {src => applications/browser-extension/src}/components/ModalLayout.tsx (100%) rename {src => applications/browser-extension/src}/components/OfficialBadge.tsx (95%) rename {src => applications/browser-extension/src}/components/PackageIcon.tsx (85%) rename {src => applications/browser-extension/src}/components/StopPropagation.test.tsx (96%) rename {src => applications/browser-extension/src}/components/StopPropagation.tsx (100%) rename {src => applications/browser-extension/src}/components/Stylesheets.test.tsx (100%) rename {src => applications/browser-extension/src}/components/Stylesheets.tsx (98%) rename {src => applications/browser-extension/src}/components/StylesheetsContext.ts (93%) rename {src => applications/browser-extension/src}/components/TooltipIconButton.tsx (100%) rename {src => applications/browser-extension/src}/components/UnstyledButton.module.scss (100%) rename {src => applications/browser-extension/src}/components/UnstyledButton.tsx (100%) rename {src => applications/browser-extension/src}/components/__snapshots__/MarkdownInline.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/annotationAlert/FieldAnnotationAlert.module.scss (100%) rename {src => applications/browser-extension/src}/components/annotationAlert/FieldAnnotationAlert.stories.tsx (95%) rename {src => applications/browser-extension/src}/components/annotationAlert/FieldAnnotationAlert.test.tsx (88%) rename {src => applications/browser-extension/src}/components/annotationAlert/FieldAnnotationAlert.tsx (86%) rename {src => applications/browser-extension/src}/components/annotationAlert/__snapshots__/FieldAnnotationAlert.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/asyncCard/AsyncCard.tsx (91%) rename {src => applications/browser-extension/src}/components/asyncIcon.ts (96%) rename {src => applications/browser-extension/src}/components/banner/Banner.module.scss (100%) rename {src => applications/browser-extension/src}/components/banner/Banner.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/banner/Banner.tsx (100%) rename {src => applications/browser-extension/src}/components/ellipsisMenu/EllipsisMenu.module.scss (100%) rename {src => applications/browser-extension/src}/components/ellipsisMenu/EllipsisMenu.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/ellipsisMenu/EllipsisMenu.test.tsx (96%) rename {src => applications/browser-extension/src}/components/ellipsisMenu/EllipsisMenu.tsx (100%) rename {src => applications/browser-extension/src}/components/errors/ErrorDetail.module.scss (100%) rename {src => applications/browser-extension/src}/components/errors/InputValidationErrorDetail.tsx (92%) rename {src => applications/browser-extension/src}/components/errors/InvalidSelectorErrorDetail.tsx (97%) rename {src => applications/browser-extension/src}/components/errors/NetworkErrorDetail.tsx (93%) rename {src => applications/browser-extension/src}/components/errors/OutputValidationErrorDetail.tsx (92%) rename {src => applications/browser-extension/src}/components/errors/RemoteApiErrorDetail.tsx (85%) rename {src => applications/browser-extension/src}/components/errors/__snapshots__/getErrorDetails.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/errors/getErrorDetails.test.tsx (99%) rename {src => applications/browser-extension/src}/components/errors/getErrorDetails.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/IconWidget.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/fieldUtils.test.ts (96%) rename {src => applications/browser-extension/src}/components/fields/fieldUtils.ts (95%) rename {src => applications/browser-extension/src}/components/fields/optionsRegistry.ts (86%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx (87%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/BasicSchemaField.test.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/BasicSchemaField.tsx (86%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/CssClassField.tsx (80%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/CssSpacingField.tsx (80%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/DatabaseGroupSelect.tsx (88%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/FieldRuntimeContext.ts (95%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/HeadingStyleField.tsx (90%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/RemoteSchemaObjectField.tsx (81%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/RootAwareField.tsx (81%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/SchemaField.stories.tsx (95%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/SchemaField.test.tsx (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/SchemaField.tsx (78%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/SchemaFieldContext.tsx (76%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/WorkshopMessage.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/WorkshopMessage.tsx (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/defaultFieldFactory.tsx (87%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/fieldInputMode.test.ts (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/fieldInputMode.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/fieldTypeCheckers.test.ts (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/fieldTypeCheckers.ts (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/genericOptionsFactory.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/getToggleOptions.test.ts (98%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/getToggleOptions.tsx (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx (84%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx (88%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts (87%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/OptionIcon.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/OptionIcon.tsx (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/array.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/exclude.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/key.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/number.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/object.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/querySelector.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/select.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/text.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/toggle.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/optionIcon/icons/var.svg (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/propTypes.ts (97%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/schemaFieldTypes.ts (83%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/schemaFieldUtils.test.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/schemaFieldUtils.ts (90%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/schemaUtils.test.ts (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/schemaUtils.ts (97%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/selectFieldUtils.test.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/selectFieldUtils.ts (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/testHelpers.ts (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/ArrayWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/ArrayWidget.test.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/ArrayWidget.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/BooleanWidget.tsx (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx (90%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/CodeEditorWidget.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/DatabaseWidget.tsx (85%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx (86%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx (84%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/HeadingStyleWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx (90%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/IntegerWidget.tsx (86%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/NumberWidget.tsx (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/ObjectWidget.test.tsx (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/ObjectWidget.tsx (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/OmitFieldWidget.tsx (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/PasswordWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/PasswordWidget.tsx (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx (91%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx (79%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx (87%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx (88%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/TemplateToggleWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/TextWidget.stories.tsx (90%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/TextWidget.test.tsx (91%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/TextWidget.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/UnsupportedWidget.tsx (91%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx (84%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/WidgetLoadingIndicator.tsx (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/ArrayWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/CodeEditorWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/FixedInnerObjectWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/ObjectWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/SchemaButtonVariantWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/SchemaSelectWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/__snapshots__/TextWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx (88%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx (88%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx (95%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx (81%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx (84%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssClassWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssSpacingWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/types.ts (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/registerDefaultWidgets.ts (78%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/SourceLabel.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx (82%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VarMenu.module.scss (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx (90%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx (87%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VariablesTree.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx (92%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/__snapshots__/VarMenu.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/__snapshots__/VariablesTree.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.test.ts (100%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts (99%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts (98%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/menuFilters.ts (98%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/utils.ts (96%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/varPopup/varSelectors.ts (89%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/widgetUtils.test.ts (93%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/widgetUtils.ts (94%) rename {src => applications/browser-extension/src}/components/fields/schemaFields/widgets/widgetsRegistry.ts (94%) rename {src => applications/browser-extension/src}/components/floatingActions/ActionButton.tsx (100%) rename {src => applications/browser-extension/src}/components/floatingActions/FloatingActions.scss (100%) rename {src => applications/browser-extension/src}/components/floatingActions/FloatingActions.tsx (80%) rename {src => applications/browser-extension/src}/components/floatingActions/floatingActionsConstants.ts (100%) rename {src => applications/browser-extension/src}/components/floatingActions/initFloatingActions.ts (80%) rename {src => applications/browser-extension/src}/components/floatingActions/store.ts (92%) rename {src => applications/browser-extension/src}/components/form/ConnectedFieldTemplate.test.tsx (93%) rename {src => applications/browser-extension/src}/components/form/ConnectedFieldTemplate.tsx (87%) rename {src => applications/browser-extension/src}/components/form/FieldAnnotation.ts (93%) rename {src => applications/browser-extension/src}/components/form/FieldTemplate.module.scss (100%) rename {src => applications/browser-extension/src}/components/form/FieldTemplate.test.tsx (97%) rename {src => applications/browser-extension/src}/components/form/FieldTemplate.tsx (93%) rename {src => applications/browser-extension/src}/components/form/Form.module.scss (100%) rename {src => applications/browser-extension/src}/components/form/Form.stories.tsx (95%) rename {src => applications/browser-extension/src}/components/form/Form.tsx (100%) rename {src => applications/browser-extension/src}/components/form/lockedLabel/LockedStarterBrickLabel.module.scss (100%) rename {src => applications/browser-extension/src}/components/form/lockedLabel/LockedStarterBrickLabel.tsx (97%) rename {src => applications/browser-extension/src}/components/form/makeFieldActionForAnnotationAction.test.tsx (79%) rename {src => applications/browser-extension/src}/components/form/makeFieldActionForAnnotationAction.ts (95%) rename {src => applications/browser-extension/src}/components/form/makeFieldAnnotationsForValue.ts (89%) rename {src => applications/browser-extension/src}/components/form/popoverInfoLabel/PopoverInfoLabel.module.scss (100%) rename {src => applications/browser-extension/src}/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx (95%) rename {src => applications/browser-extension/src}/components/form/popoverInfoLabel/PopoverInfoLabel.tsx (100%) rename {src => applications/browser-extension/src}/components/form/widgets/AsyncRemoteSelectWidget.test.tsx (95%) rename {src => applications/browser-extension/src}/components/form/widgets/AsyncRemoteSelectWidget.tsx (94%) rename {src => applications/browser-extension/src}/components/form/widgets/FieldTemplateLocalErrorContext.ts (100%) rename {src => applications/browser-extension/src}/components/form/widgets/KeyNameWidget.tsx (100%) rename {src => applications/browser-extension/src}/components/form/widgets/RegistryIdWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/form/widgets/RegistryIdWidget.test.tsx (93%) rename {src => applications/browser-extension/src}/components/form/widgets/RegistryIdWidget.tsx (92%) rename {src => applications/browser-extension/src}/components/form/widgets/RemoteMultiSelectWidget.test.tsx (95%) rename {src => applications/browser-extension/src}/components/form/widgets/RemoteMultiSelectWidget.tsx (82%) rename {src => applications/browser-extension/src}/components/form/widgets/RemoteSelectWidget.test.tsx (93%) rename {src => applications/browser-extension/src}/components/form/widgets/RemoteSelectWidget.tsx (84%) rename {src => applications/browser-extension/src}/components/form/widgets/SelectWidget.test.tsx (98%) rename {src => applications/browser-extension/src}/components/form/widgets/SelectWidget.tsx (96%) rename {src => applications/browser-extension/src}/components/form/widgets/__snapshots__/SelectWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/form/widgets/createMenuListWithAddButton.tsx (100%) rename {src => applications/browser-extension/src}/components/form/widgets/switchButton/SwitchButtonWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx (94%) rename {src => applications/browser-extension/src}/components/form/widgets/switchButton/SwitchButtonWidget.test.tsx (100%) rename {src => applications/browser-extension/src}/components/form/widgets/switchButton/SwitchButtonWidget.tsx (95%) rename {src => applications/browser-extension/src}/components/form/widgets/switchButton/__snapshots__/SwitchButtonWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/form/widgets/useAddCreatablePlaceholder.ts (96%) rename {src => applications/browser-extension/src}/components/form/widgets/useOptionsResolver.test.ts (90%) rename {src => applications/browser-extension/src}/components/form/widgets/useOptionsResolver.ts (75%) rename {src => applications/browser-extension/src}/components/formBuilder/BaseInputTemplate.test.tsx (99%) rename {src => applications/browser-extension/src}/components/formBuilder/BaseInputTemplate.tsx (99%) rename {src => applications/browser-extension/src}/components/formBuilder/DescriptionField.tsx (96%) rename {src => applications/browser-extension/src}/components/formBuilder/DescriptionFieldTemplate.tsx (96%) rename {src => applications/browser-extension/src}/components/formBuilder/FieldTemplate.module.scss (100%) rename {src => applications/browser-extension/src}/components/formBuilder/FieldTemplate.tsx (94%) rename {src => applications/browser-extension/src}/components/formBuilder/RjsfSubmitContext.ts (100%) rename {src => applications/browser-extension/src}/components/formBuilder/RjsfTemplates.ts (79%) rename {src => applications/browser-extension/src}/components/formBuilder/demo/FormBuilderDemo.module.scss (100%) rename {src => applications/browser-extension/src}/components/formBuilder/demo/FormBuilderDemo.stories.tsx (95%) rename {src => applications/browser-extension/src}/components/formBuilder/demo/FormBuilderDemo.test.tsx (96%) rename {src => applications/browser-extension/src}/components/formBuilder/demo/FormBuilderDemo.tsx (87%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/ActiveField.tsx (88%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/FieldEditor.module.scss (100%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/FieldEditor.tsx (92%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/FormEditor.test.tsx (96%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/FormEditor.tsx (94%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/FormIntroFields.tsx (89%) rename {src => applications/browser-extension/src}/components/formBuilder/edit/__snapshots__/FormEditor.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/formBuilder/formBuilderHelpers.test.ts (97%) rename {src => applications/browser-extension/src}/components/formBuilder/formBuilderHelpers.ts (96%) rename {src => applications/browser-extension/src}/components/formBuilder/formBuilderTypes.ts (93%) rename {src => applications/browser-extension/src}/components/formBuilder/preview/FormPreview.test.tsx (97%) rename {src => applications/browser-extension/src}/components/formBuilder/preview/FormPreview.tsx (88%) rename {src => applications/browser-extension/src}/components/formBuilder/preview/FormPreviewSchemaField.tsx (97%) rename {src => applications/browser-extension/src}/components/formBuilder/preview/ImageCropWidgetPreview.tsx (100%) rename {src => applications/browser-extension/src}/components/formBuilder/preview/__snapshots__/FormPreview.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/formBuilder/schemaFieldNames.ts (100%) rename {src => applications/browser-extension/src}/components/formBuilder/testHelpers.ts (99%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/ImageCropWidget.tsx (100%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/RichTextWidget.test.tsx (97%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/RichTextWidget.tsx (94%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/RjsfSelectWidget.test.tsx (94%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/RjsfSelectWidget.tsx (100%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/TextAreaWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/TextAreaWidget.test.tsx (96%) rename {src => applications/browser-extension/src}/components/formBuilder/widgets/TextAreaWidget.tsx (95%) rename {src => applications/browser-extension/src}/components/imagePlaceholder/ImagePlaceholder.stories.tsx (93%) rename {src => applications/browser-extension/src}/components/imagePlaceholder/ImagePlaceholder.tsx (100%) rename {src => applications/browser-extension/src}/components/integrations/AuthWidget.module.scss (100%) rename {src => applications/browser-extension/src}/components/integrations/AuthWidget.test.tsx (88%) rename {src => applications/browser-extension/src}/components/integrations/AuthWidget.tsx (85%) rename {src => applications/browser-extension/src}/components/integrations/IntegrationConfigEditorModal.module.scss (100%) rename {src => applications/browser-extension/src}/components/integrations/IntegrationConfigEditorModal.stories.tsx (80%) rename {src => applications/browser-extension/src}/components/integrations/IntegrationConfigEditorModal.test.tsx (79%) rename {src => applications/browser-extension/src}/components/integrations/IntegrationConfigEditorModal.tsx (88%) rename {src => applications/browser-extension/src}/components/integrations/integrationHelpers.test.ts (97%) rename {src => applications/browser-extension/src}/components/integrations/integrationHelpers.ts (94%) rename {src => applications/browser-extension/src}/components/isolatedComponentList.d.ts (100%) rename {src => applications/browser-extension/src}/components/isolatedComponentList.mjs (100%) rename {src => applications/browser-extension/src}/components/jsonTree/JsonTree.module.scss (100%) rename {src => applications/browser-extension/src}/components/jsonTree/JsonTree.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/jsonTree/JsonTree.test.tsx (99%) rename {src => applications/browser-extension/src}/components/jsonTree/JsonTree.tsx (96%) rename {src => applications/browser-extension/src}/components/jsonTree/treeHooks.tsx (91%) rename {src => applications/browser-extension/src}/components/logViewer/EntryRow.module.scss (100%) rename {src => applications/browser-extension/src}/components/logViewer/EntryRow.tsx (90%) rename {src => applications/browser-extension/src}/components/logViewer/LogCard.test.tsx (100%) rename {src => applications/browser-extension/src}/components/logViewer/LogCard.tsx (84%) rename {src => applications/browser-extension/src}/components/logViewer/LogTable.module.scss (100%) rename {src => applications/browser-extension/src}/components/logViewer/LogTable.stories.tsx (91%) rename {src => applications/browser-extension/src}/components/logViewer/LogTable.tsx (93%) rename {src => applications/browser-extension/src}/components/logViewer/LogToolbar.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/logViewer/LogToolbar.tsx (94%) rename {src => applications/browser-extension/src}/components/logViewer/__snapshots__/LogCard.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/logViewer/details/InputDetail.tsx (92%) rename {src => applications/browser-extension/src}/components/logViewer/details/OutputDetail.tsx (90%) rename {src => applications/browser-extension/src}/components/logViewer/logSelectors.ts (100%) rename {src => applications/browser-extension/src}/components/logViewer/logSlice.ts (96%) rename {src => applications/browser-extension/src}/components/logViewer/logViewerTypes.ts (91%) rename {src => applications/browser-extension/src}/components/logViewer/useLogEntriesView.ts (93%) rename {src => applications/browser-extension/src}/components/logViewer/usePollModLogs.ts (96%) rename {src => applications/browser-extension/src}/components/onboarding/OnboardingChecklistCard.module.scss (100%) rename {src => applications/browser-extension/src}/components/onboarding/OnboardingChecklistCard.stories.tsx (96%) rename {src => applications/browser-extension/src}/components/onboarding/OnboardingChecklistCard.tsx (98%) rename {src => applications/browser-extension/src}/components/packageSearchModal/PackageDetail.tsx (88%) rename {src => applications/browser-extension/src}/components/packageSearchModal/PackageResult.tsx (91%) rename {src => applications/browser-extension/src}/components/packageSearchModal/PackageSearchModal.module.scss (100%) rename {src => applications/browser-extension/src}/components/packageSearchModal/PackageSearchModal.tsx (95%) rename {src => applications/browser-extension/src}/components/packageSearchModal/QuickAdd.module.scss (100%) rename {src => applications/browser-extension/src}/components/packageSearchModal/QuickAdd.tsx (94%) rename {src => applications/browser-extension/src}/components/paginatedTable/PaginatedTable.module.scss (100%) rename {src => applications/browser-extension/src}/components/paginatedTable/PaginatedTable.test.tsx (93%) rename {src => applications/browser-extension/src}/components/paginatedTable/PaginatedTable.tsx (100%) rename {src => applications/browser-extension/src}/components/pagination/Pagination.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/pagination/Pagination.test.tsx (100%) rename {src => applications/browser-extension/src}/components/pagination/Pagination.tsx (100%) rename {src => applications/browser-extension/src}/components/pagination/__snapshots__/Pagination.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/quickBar/QuickBarApp.module.scss (100%) rename {src => applications/browser-extension/src}/components/quickBar/QuickBarApp.test.tsx (93%) rename {src => applications/browser-extension/src}/components/quickBar/QuickBarApp.tsx (100%) rename {src => applications/browser-extension/src}/components/quickBar/QuickBarResults.tsx (97%) rename {src => applications/browser-extension/src}/components/quickBar/__snapshots__/QuickBarApp.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/quickBar/defaultActions.tsx (92%) rename {src => applications/browser-extension/src}/components/quickBar/quickBarRegistry.ts (95%) rename {src => applications/browser-extension/src}/components/quickBar/quickBarTheme.tsx (100%) rename {src => applications/browser-extension/src}/components/quickBar/quickbarTypes.ts (100%) rename {src => applications/browser-extension/src}/components/quickBar/useActionGenerators.test.tsx (82%) rename {src => applications/browser-extension/src}/components/quickBar/useActionGenerators.ts (94%) rename {src => applications/browser-extension/src}/components/quickBar/useActions.test.tsx (88%) rename {src => applications/browser-extension/src}/components/quickBar/useActions.ts (93%) rename {src => applications/browser-extension/src}/components/quickBar/utils.ts (94%) rename {src => applications/browser-extension/src}/components/richTextEditor/RichTextEditor.module.scss (100%) rename {src => applications/browser-extension/src}/components/richTextEditor/RichTextEditor.stories.tsx (100%) rename {src => applications/browser-extension/src}/components/richTextEditor/RichTextEditor.test.tsx (100%) rename {src => applications/browser-extension/src}/components/richTextEditor/RichTextEditor.tsx (94%) rename {src => applications/browser-extension/src}/components/richTextEditor/toolbar/BoldButton.tsx (100%) rename {src => applications/browser-extension/src}/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx (96%) rename {src => applications/browser-extension/src}/components/richTextEditor/toolbar/ItalicButton.tsx (100%) rename {src => applications/browser-extension/src}/components/richTextEditor/toolbar/Toolbar.tsx (79%) rename {src => applications/browser-extension/src}/components/schemaTree/SchemaTree.module.scss (100%) rename {src => applications/browser-extension/src}/components/schemaTree/SchemaTree.stories.tsx (98%) rename {src => applications/browser-extension/src}/components/schemaTree/SchemaTree.tsx (96%) rename {src => applications/browser-extension/src}/components/selectionToolPopover/SelectionToolPopover.module.scss (97%) rename {src => applications/browser-extension/src}/components/selectionToolPopover/SelectionToolPopover.stories.tsx (93%) rename {src => applications/browser-extension/src}/components/selectionToolPopover/SelectionToolPopover.tsx (96%) rename {src => applications/browser-extension/src}/components/selectionToolPopover/showSelectionToolPopover.tsx (85%) rename {src => applications/browser-extension/src}/components/tabLayout/EditorTabLayout.module.scss (100%) rename {src => applications/browser-extension/src}/components/tabLayout/EditorTabLayout.test.tsx (95%) rename {src => applications/browser-extension/src}/components/tabLayout/EditorTabLayout.tsx (96%) rename {src => applications/browser-extension/src}/components/tabLayout/__snapshots__/EditorTabLayout.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/components/teamTrials/TeamTrialBanner.test.tsx (93%) rename {src => applications/browser-extension/src}/components/teamTrials/TeamTrialBanner.tsx (88%) rename {src => applications/browser-extension/src}/components/teamTrials/TrialAwareButton.test.tsx (93%) rename {src => applications/browser-extension/src}/components/teamTrials/TrialAwareButton.tsx (91%) rename {src => applications/browser-extension/src}/components/teamTrials/TrialCallToActionLink.tsx (100%) rename {src => applications/browser-extension/src}/components/teamTrials/useGetAllTeamScopes.ts (94%) rename {src => applications/browser-extension/src}/components/teamTrials/useTeamTrialStatus.ts (95%) rename {src => applications/browser-extension/src}/components/walkthroughModal/WalkthroughModal.module.scss (100%) rename {src => applications/browser-extension/src}/components/walkthroughModal/WalkthroughModalApp.tsx (88%) rename {src => applications/browser-extension/src}/components/walkthroughModal/showWalkthroughModal.ts (81%) rename {src => applications/browser-extension/src}/contentScript/activationConstants.ts (100%) rename {src => applications/browser-extension/src}/contentScript/audio.ts (100%) rename {src => applications/browser-extension/src}/contentScript/contentScript.scss (100%) rename {src => applications/browser-extension/src}/contentScript/contentScript.ts (94%) rename {src => applications/browser-extension/src}/contentScript/contentScriptCore.ts (100%) rename {src => applications/browser-extension/src}/contentScript/contentScriptPlatform.test.ts (84%) rename {src => applications/browser-extension/src}/contentScript/contentScriptPlatform.ts (81%) rename {src => applications/browser-extension/src}/contentScript/context.ts (100%) rename {src => applications/browser-extension/src}/contentScript/contextMenus.ts (96%) rename {src => applications/browser-extension/src}/contentScript/elementReference.test.ts (95%) rename {src => applications/browser-extension/src}/contentScript/elementReference.ts (97%) rename {src => applications/browser-extension/src}/contentScript/ephemeralForm.ts (90%) rename {src => applications/browser-extension/src}/contentScript/ephemeralPanel.ts (91%) rename {src => applications/browser-extension/src}/contentScript/ephemeralPanelController.tsx (91%) rename {src => applications/browser-extension/src}/contentScript/executor.ts (88%) rename {src => applications/browser-extension/src}/contentScript/focusCaptureDialog.scss (100%) rename {src => applications/browser-extension/src}/contentScript/focusCaptureDialog.ts (96%) rename {src => applications/browser-extension/src}/contentScript/integrations/LoginBanners.scss (100%) rename {src => applications/browser-extension/src}/contentScript/integrations/LoginBanners.test.tsx (93%) rename {src => applications/browser-extension/src}/contentScript/integrations/LoginBanners.tsx (81%) rename {src => applications/browser-extension/src}/contentScript/integrations/bannerDomController.tsx (93%) rename {src => applications/browser-extension/src}/contentScript/integrations/deferredLoginController.test.tsx (84%) rename {src => applications/browser-extension/src}/contentScript/integrations/deferredLoginController.ts (88%) rename {src => applications/browser-extension/src}/contentScript/integrations/deferredLoginTypes.ts (96%) rename {src => applications/browser-extension/src}/contentScript/lifecycle.test.ts (90%) rename {src => applications/browser-extension/src}/contentScript/lifecycle.ts (94%) rename {src => applications/browser-extension/src}/contentScript/loadActivationEnhancements.ts (89%) rename {src => applications/browser-extension/src}/contentScript/loadActivationEnhancementsCore.test.ts (88%) rename {src => applications/browser-extension/src}/contentScript/loadActivationEnhancementsCore.ts (91%) rename {src => applications/browser-extension/src}/contentScript/messenger/api.ts (98%) rename {src => applications/browser-extension/src}/contentScript/messenger/registration.ts (75%) rename {src => applications/browser-extension/src}/contentScript/messenger/runBrickTypes.ts (82%) rename {src => applications/browser-extension/src}/contentScript/modalDom.tsx (93%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/beautify.ts (100%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/draft/overlay.ts (87%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/draft/runStarterBrickReaderPreview.ts (100%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/draft/updateDraftModComponent.ts (100%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/elementInformation.test.ts (94%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/elementInformation.ts (92%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/elementPicker.test.ts (87%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/elementPicker.ts (95%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/insertButton.tsx (87%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/resetTab.ts (88%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/runBrickPreview.ts (86%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/runRendererBrick.ts (81%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/selectElement.test.ts (96%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/selectElement.ts (87%) rename {src => applications/browser-extension/src}/contentScript/pageEditor/types.ts (81%) rename {src => applications/browser-extension/src}/contentScript/partnerIntegrations.ts (94%) rename {src => applications/browser-extension/src}/contentScript/performanceMonitoring.test.ts (92%) rename {src => applications/browser-extension/src}/contentScript/performanceMonitoring.ts (93%) rename {src => applications/browser-extension/src}/contentScript/pipelineProtocol/runHeadlessPipeline.ts (85%) rename {src => applications/browser-extension/src}/contentScript/pipelineProtocol/runMapArgs.ts (88%) rename {src => applications/browser-extension/src}/contentScript/pipelineProtocol/runRendererPipeline.ts (81%) rename {src => applications/browser-extension/src}/contentScript/pipelineProtocol/types.ts (73%) rename {src => applications/browser-extension/src}/contentScript/platform/contentScriptPlatformProtocol.ts (83%) rename {src => applications/browser-extension/src}/contentScript/popover.scss (100%) rename {src => applications/browser-extension/src}/contentScript/popoverDom.ts (95%) rename {src => applications/browser-extension/src}/contentScript/ready.ts (97%) rename {src => applications/browser-extension/src}/contentScript/setExtensionIdInApp.ts (100%) rename {src => applications/browser-extension/src}/contentScript/sidebarActivation.ts (84%) rename {src => applications/browser-extension/src}/contentScript/sidebarController.tsx (95%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/SnippetShortcutMenu.scss (100%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx (90%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx (87%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx (90%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx (93%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx (94%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts (83%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts (94%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts (90%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts (95%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts (92%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/useKeyboardQuery.ts (97%) rename {src => applications/browser-extension/src}/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts (88%) rename {src => applications/browser-extension/src}/contentScript/stateController/modVariablePolicyController.ts (88%) rename {src => applications/browser-extension/src}/contentScript/stateController/stateController.test.ts (94%) rename {src => applications/browser-extension/src}/contentScript/stateController/stateController.ts (91%) rename {src => applications/browser-extension/src}/contentScript/stateController/stateEventHelpers.ts (96%) rename {src => applications/browser-extension/src}/contentScript/textEditorDom.ts (89%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/ActionRegistry.test.ts (93%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/ActionRegistry.ts (86%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/SelectionMenu.scss (97%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/SelectionMenu.stories.tsx (90%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/SelectionMenu.tsx (84%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/selectionMenuController.test.ts (82%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/selectionMenuController.tsx (93%) rename {src => applications/browser-extension/src}/contentScript/textSelectionMenu/useActionRegistry.ts (87%) rename {src => applications/browser-extension/src}/contentScript/tooltipDom.ts (99%) rename {src => applications/browser-extension/src}/contentScript/walkthroughModalProtocol.tsx (100%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/ApiTaskOptions.tsx (76%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/AwaitResultField.tsx (81%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/BotOptions.test.tsx (87%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/BotOptions.tsx (79%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/FolderIdConfigAlert.tsx (89%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RemoteFileInputArguments.tsx (83%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RemoteFileSelectField.test.tsx (95%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RemoteFileSelectField.tsx (87%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RunApiTask.test.ts (82%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RunApiTask.ts (88%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RunBot.test.ts (95%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/RunBot.ts (90%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/SetCopilotDataEffect.ts (85%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/WorkspaceTypeField.tsx (79%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/__snapshots__/BotOptions.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/aaApi.test.ts (82%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/aaApi.ts (95%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/aaFrameProtocol.ts (95%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/aaTypes.ts (95%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/aaUtils.test.ts (98%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/aaUtils.ts (95%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/contract.ts (100%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts (93%) rename {src => applications/browser-extension/src}/contrib/automationanywhere/util.ts (85%) rename {src => applications/browser-extension/src}/contrib/ckeditor/ckeditor.test.ts (89%) rename {src => applications/browser-extension/src}/contrib/ckeditor/ckeditorDom.ts (100%) rename {src => applications/browser-extension/src}/contrib/ckeditor/ckeditorProtocol.ts (97%) rename {src => applications/browser-extension/src}/contrib/deepgram/deepgramTypes.ts (88%) rename {src => applications/browser-extension/src}/contrib/draftjs/draftJsDom.ts (98%) rename {src => applications/browser-extension/src}/contrib/editors.ts (50%) rename {src => applications/browser-extension/src}/contrib/google/geocode.ts (87%) rename {src => applications/browser-extension/src}/contrib/google/sheets/bricks/append.test.ts (94%) rename {src => applications/browser-extension/src}/contrib/google/sheets/bricks/append.ts (93%) rename {src => applications/browser-extension/src}/contrib/google/sheets/bricks/lookup.test.ts (91%) rename {src => applications/browser-extension/src}/contrib/google/sheets/bricks/lookup.ts (89%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts (94%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts (91%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/handleGoogleRequestRejection.ts (84%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/schemas.ts (90%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/sheetsApi.test.ts (87%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/sheetsApi.ts (92%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/sheetsHelpers.test.ts (95%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/sheetsHelpers.ts (100%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/types.ts (100%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/useGoogleAccount.ts (81%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/useSpreadsheetId.test.tsx (86%) rename {src => applications/browser-extension/src}/contrib/google/sheets/core/useSpreadsheetId.ts (82%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx (94%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx (86%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx (90%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx (87%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/RequireGoogleSheet.tsx (78%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/SpreadsheetPickerWidget.module.scss (100%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx (84%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx (83%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/TabField.test.tsx (94%) rename {src => applications/browser-extension/src}/contrib/google/sheets/ui/TabField.tsx (87%) rename {src => applications/browser-extension/src}/contrib/hubspot/upsert.ts (95%) rename {src => applications/browser-extension/src}/contrib/navigationRules.ts (89%) rename {src => applications/browser-extension/src}/contrib/pipedrive/create.ts (91%) rename {src => applications/browser-extension/src}/contrib/pipedrive/readers.ts (91%) rename {src => applications/browser-extension/src}/contrib/pipedrive/resolvers.ts (86%) rename {src => applications/browser-extension/src}/contrib/registerContribBricks.ts (89%) rename {src => applications/browser-extension/src}/contrib/remoteOptionUtils.ts (78%) rename {src => applications/browser-extension/src}/contrib/salesforce/lead.ts (87%) rename {src => applications/browser-extension/src}/contrib/salesforce/navigation.ts (100%) rename {src => applications/browser-extension/src}/contrib/slack/message.ts (95%) rename {src => applications/browser-extension/src}/contrib/uipath/ProcessOptions.test.tsx (77%) rename {src => applications/browser-extension/src}/contrib/uipath/ProcessOptions.tsx (78%) rename {src => applications/browser-extension/src}/contrib/uipath/__snapshots__/ProcessOptions.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/contrib/uipath/process.ts (88%) rename {src => applications/browser-extension/src}/contrib/uipath/typeUtils.ts (89%) rename {src => applications/browser-extension/src}/contrib/uipath/uipathContract.ts (100%) rename {src => applications/browser-extension/src}/contrib/uipath/uipathHooks.ts (78%) rename {src => applications/browser-extension/src}/contrib/zapier/PushOptions.tsx (66%) rename {src => applications/browser-extension/src}/contrib/zapier/contract.ts (93%) rename {src => applications/browser-extension/src}/contrib/zapier/push.ts (78%) rename {src => applications/browser-extension/src}/data/model/ControlRoom.ts (84%) rename {src => applications/browser-extension/src}/data/model/Me.ts (90%) rename {src => applications/browser-extension/src}/data/model/MeTeam.ts (89%) rename {src => applications/browser-extension/src}/data/model/MeTeamMembership.ts (87%) rename {src => applications/browser-extension/src}/data/model/MeUserGroupMembership.ts (83%) rename {src => applications/browser-extension/src}/data/model/PartnerPrincipal.ts (93%) rename {src => applications/browser-extension/src}/data/model/Team.ts (89%) rename {src => applications/browser-extension/src}/data/model/TeamMembershipGroups.ts (91%) rename {src => applications/browser-extension/src}/data/model/TeamMembershipUser.ts (88%) rename {src => applications/browser-extension/src}/data/model/TeamMemberships.ts (89%) rename {src => applications/browser-extension/src}/data/model/TeamTheme.ts (91%) rename {src => applications/browser-extension/src}/data/model/UserMilestone.ts (94%) rename {src => applications/browser-extension/src}/data/model/UserPartner.ts (81%) rename {src => applications/browser-extension/src}/data/model/UserRole.ts (96%) rename {src => applications/browser-extension/src}/data/service/api.test.tsx (92%) rename {src => applications/browser-extension/src}/data/service/api.ts (100%) rename {src => applications/browser-extension/src}/data/service/apiClient.test.ts (92%) rename {src => applications/browser-extension/src}/data/service/apiClient.ts (92%) rename {src => applications/browser-extension/src}/data/service/apiVersioning.ts (97%) rename {src => applications/browser-extension/src}/data/service/backgroundApi.ts (83%) rename {src => applications/browser-extension/src}/data/service/baseQuery.ts (93%) rename {src => applications/browser-extension/src}/data/service/baseService.test.ts (94%) rename {src => applications/browser-extension/src}/data/service/baseService.ts (87%) rename {src => applications/browser-extension/src}/data/service/constants.ts (100%) rename {src => applications/browser-extension/src}/data/service/errorService.test.ts (94%) rename {src => applications/browser-extension/src}/data/service/errorService.ts (83%) rename {src => applications/browser-extension/src}/data/service/requestErrorUtils.ts (80%) rename {src => applications/browser-extension/src}/data/service/responseTypeHelpers.ts (97%) rename {src => applications/browser-extension/src}/data/service/urlPaths.ts (97%) rename {src => applications/browser-extension/src}/development/darkMode.js (100%) rename {src => applications/browser-extension/src}/development/errorsBadge.ts (94%) rename {src => applications/browser-extension/src}/development/headers.test.ts (92%) rename {src => applications/browser-extension/src}/development/hooks/useMessengerLogging.ts (86%) rename {src => applications/browser-extension/src}/development/hooks/useRenderCount.ts (100%) rename {src => applications/browser-extension/src}/development/messengerLogging.ts (100%) rename {src => applications/browser-extension/src}/development/runtimeLogging.ts (100%) rename {src => applications/browser-extension/src}/development/visualInjection.ts (96%) rename {src => applications/browser-extension/src}/domConstants.ts (100%) rename {src => applications/browser-extension/src}/errors/authErrors.ts (95%) rename {src => applications/browser-extension/src}/errors/businessErrors.test.ts (87%) rename {src => applications/browser-extension/src}/errors/businessErrors.ts (98%) rename {src => applications/browser-extension/src}/errors/clientRequestErrors.test.ts (98%) rename {src => applications/browser-extension/src}/errors/clientRequestErrors.ts (97%) rename {src => applications/browser-extension/src}/errors/contextInvalidated.test.ts (94%) rename {src => applications/browser-extension/src}/errors/contextInvalidated.ts (93%) rename {src => applications/browser-extension/src}/errors/errorHelpers.test.tsx (100%) rename {src => applications/browser-extension/src}/errors/errorHelpers.ts (100%) rename {src => applications/browser-extension/src}/errors/genericErrors.ts (97%) rename {src => applications/browser-extension/src}/errors/knownErrorMessages.ts (100%) rename {src => applications/browser-extension/src}/errors/networkErrorHelpers.test.ts (98%) rename {src => applications/browser-extension/src}/errors/networkErrorHelpers.ts (100%) rename {src => applications/browser-extension/src}/errors/rejectOnCancelled.ts (92%) rename {src => applications/browser-extension/src}/extensionConsole/App.tsx (67%) rename {src => applications/browser-extension/src}/extensionConsole/Navbar.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/Navbar.test.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/Navbar.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/Sidebar.test.tsx (95%) rename {src => applications/browser-extension/src}/extensionConsole/Sidebar.tsx (95%) rename {src => applications/browser-extension/src}/extensionConsole/SidebarLink.tsx (100%) rename {src => applications/browser-extension/src}/extensionConsole/__snapshots__/Navbar.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/components/IDBErrorDisplay.stories.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/components/IDBErrorDisplay.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/components/RequireBrickRegistry.tsx (81%) rename {src => applications/browser-extension/src}/extensionConsole/components/ServiceFieldError.tsx (91%) rename {src => applications/browser-extension/src}/extensionConsole/options.html (100%) rename {src => applications/browser-extension/src}/extensionConsole/options.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/options.tsx (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/BrowserBanner.test.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/BrowserBanner.tsx (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/InvitationBanner.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/UpdateBanner.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/__snapshots__/BrowserBanner.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/ActivateModCard.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/ActivateModCard.tsx (77%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/ActivateModPage.test.tsx (97%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/ActivateModPage.tsx (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/IntegrationDescriptor.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/IntegrationsBody.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/IntegrationsBody.test.tsx (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/IntegrationsBody.tsx (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/OptionsBody.stories.tsx (96%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/OptionsBody.test.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/OptionsBody.tsx (81%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/PermissionsBody.tsx (81%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/UrlPermissionsList.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/__snapshots__/ActivateModPage.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/__snapshots__/OptionsBody.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/activateMod/useModPermissions.ts (72%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/CountdownTimer.stories.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/DeploymentBanner.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/DeploymentModal.stories.tsx (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/DeploymentModal.test.tsx (93%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/DeploymentModal.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/DeploymentsContext.test.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/DeploymentsContext.tsx (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/__snapshots__/DeploymentModal.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/activateDeployments.ts (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/useAutoDeploy.test.ts (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/useAutoDeploy.ts (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/deployments/useDeactivateUnassignedDeploymentsEffect.ts (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/integrations/ConnectExtensionCard.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/integrations/IntegrationsPage.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/integrations/PrivateIntegrationsCard.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/integrations/PrivateIntegrationsCard.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/integrations/ZapierIntegrationModal.tsx (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/GetStartedView.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/GetStartedView.stories.tsx (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/GetStartedView.tsx (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ListFilters.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPage.stories.tsx (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPage.test.tsx (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPage.tsx (78%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageActions.test.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageActions.tsx (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageContent.tsx (78%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageSidebar.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageSidebar.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageTableLayout.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageTableLayout.test.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageTableLayout.tsx (95%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/ModsPageToolbar.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/Status.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/Status.test.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/Status.tsx (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/__snapshots__/ModsPageTableLayout.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/emptyView/EmptyView.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/emptyView/EmptyView.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/gridView/GridCard.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/gridView/GridCard.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/gridView/GridCardErrorBoundary.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/gridView/GridView.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/gridView/GridView.test.ts (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/gridView/GridView.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/labels/LastUpdatedLabel.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/labels/LastUpdatedLabel.tsx (96%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/labels/SharingLabel.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/labels/SharingLabel.tsx (97%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/listView/ListGroupHeader.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/listView/ListItem.module.scss (98%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/listView/ListItem.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/listView/ListItemErrorBoundary.tsx (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/listView/ListView.tsx (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/Modals.tsx (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/modLogsModal/ModLogsModal.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/modLogsModal/ModLogsModal.tsx (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/modModalsSelectors.ts (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/modModalsSlice.ts (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/CancelPublishContent.tsx (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/EditPublishContent.tsx (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/ModOwnerLabel.tsx (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/PublishContentLayout.tsx (81%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/PublishModContent.tsx (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/PublishModModals.test.tsx (76%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/PublishModModals.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/PublishedContent.tsx (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/ShareModModal.tsx (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/ShareModModalBody.tsx (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/ShareModals.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/__snapshots__/PublishModModals.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/useHasEditPermissions.ts (78%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modals/shareModals/useSortOrganizations.ts (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modsPageSelectors.ts (78%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modsPageSlice.ts (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/modsPageTypes.ts (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/onboardingView/OnboardingView.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/onboardingView/OnboardingView.stories.tsx (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/onboardingView/OnboardingView.test.tsx (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/onboardingView/OnboardingView.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/onboardingView/useOnboarding.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetCanEditModScope.test.ts (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetCanEditModScope.ts (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetModActivationStatus.test.ts (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetModActivationStatus.ts (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetModSharingSource.test.ts (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetModSharingSource.ts (82%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetModVersionStatus.test.ts (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildGetModVersionStatus.ts (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildModViewItems.ts (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildModsList.test.ts (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/buildModsList.ts (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/useReactivateMod.test.ts (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/mods/utils/useReactivateMod.ts (78%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/DefaultSetupCard.stories.tsx (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/DefaultSetupCard.tsx (96%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/SetupPage.test.tsx (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/SetupPage.tsx (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/partner/ControlRoomOAuthForm.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/partner/ControlRoomTokenForm.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/partner/PartnerSetupCard.stories.tsx (80%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/partner/PartnerSetupCard.tsx (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/partner/partnerOnboardingUtils.test.ts (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/onboarding/partner/partnerOnboardingUtils.ts (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/CodeEditor.tsx (98%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/CreatePage.tsx (95%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/EditPage.tsx (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/Editor.test.tsx (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/Editor.tsx (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/PackageHistory.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/PackageHistory.test.tsx (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/PackageHistory.tsx (97%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/SharingTable.tsx (93%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/DetailSection.tsx (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageDetail.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageDetail.stories.tsx (83%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageDetail.test.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageDetail.tsx (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageReference.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageReference.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageResult.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/PackageResult.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/referenceTab/__snapshots__/PackageDetail.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/useLogContext.ts (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/useSubmitPackage.test.tsx (85%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/useSubmitPackage.ts (86%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/validate.test.ts (75%) rename {src => applications/browser-extension/src}/extensionConsole/pages/packageEditor/validate.ts (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/AdvancedSettings.tsx (88%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/ExperimentalSettings.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/FactoryResetSettings.tsx (81%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/GeneralSettings.tsx (93%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/LoggingSettings.tsx (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/PrivacySettings.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/SettingToggle.tsx (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/SettingsCard.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/SettingsPage.tsx (76%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/StorageSettings.tsx (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/useDeploymentKeySetting.test.ts (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/useDeploymentKeySetting.ts (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/useDiagnostics.test.ts (89%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/useDiagnostics.ts (77%) rename {src => applications/browser-extension/src}/extensionConsole/pages/settings/useServiceUrlSetting.ts (91%) rename {src => applications/browser-extension/src}/extensionConsole/pages/useRegistryIdParam.ts (90%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/EditablePackagesCard.module.scss (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/EditablePackagesCard.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/WorkshopPage.test.tsx (84%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/WorkshopPage.tsx (94%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/__snapshots__/WorkshopPage.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/workshopTypes.ts (92%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/workshopUtils.test.ts (87%) rename {src => applications/browser-extension/src}/extensionConsole/pages/workshop/workshopUtils.ts (95%) rename {src => applications/browser-extension/src}/extensionConsole/store.ts (72%) rename {src => applications/browser-extension/src}/extensionConsole/testHelpers.tsx (72%) rename {src => applications/browser-extension/src}/extensionConsole/toggleSidebar.tsx (100%) rename {src => applications/browser-extension/src}/extensionContext.ts (100%) rename {src => applications/browser-extension/src}/extensionPages/extensionPagePlatform.test.ts (84%) rename {src => applications/browser-extension/src}/extensionPages/extensionPagePlatform.ts (83%) rename {src => applications/browser-extension/src}/globals.d.ts (100%) rename {src => applications/browser-extension/src}/hooks/logging.ts (92%) rename {src => applications/browser-extension/src}/hooks/useAbortSignal.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useAbortSignal.ts (100%) rename {src => applications/browser-extension/src}/hooks/useAdminConsoleUrl.ts (92%) rename {src => applications/browser-extension/src}/hooks/useAsyncExternalStore.test.ts (93%) rename {src => applications/browser-extension/src}/hooks/useAsyncExternalStore.ts (97%) rename {src => applications/browser-extension/src}/hooks/useAsyncModOptionsValidationSchema.ts (96%) rename {src => applications/browser-extension/src}/hooks/useAsyncState.test.ts (98%) rename {src => applications/browser-extension/src}/hooks/useAsyncState.ts (98%) rename {src => applications/browser-extension/src}/hooks/useAuthOptions.test.ts (87%) rename {src => applications/browser-extension/src}/hooks/useAuthOptions.ts (89%) rename {src => applications/browser-extension/src}/hooks/useAuthorizationGrantFlow.ts (92%) rename {src => applications/browser-extension/src}/hooks/useAutoFocus.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useAutoFocusConfiguration.ts (100%) rename {src => applications/browser-extension/src}/hooks/useBrickOptions.ts (91%) rename {src => applications/browser-extension/src}/hooks/useBrowserIdentifier.ts (91%) rename {src => applications/browser-extension/src}/hooks/useContextInvalidated.ts (100%) rename {src => applications/browser-extension/src}/hooks/useDatabaseOptions.ts (88%) rename {src => applications/browser-extension/src}/hooks/useDebouncedEffect.ts (100%) rename {src => applications/browser-extension/src}/hooks/useDeriveAsyncState.test.ts (94%) rename {src => applications/browser-extension/src}/hooks/useDeriveAsyncState.ts (98%) rename {src => applications/browser-extension/src}/hooks/useDocumentSelection.ts (96%) rename {src => applications/browser-extension/src}/hooks/useDocumentVisibility.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useDocumentVisibility.ts (100%) rename {src => applications/browser-extension/src}/hooks/useEventListener.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useEventListener.ts (100%) rename {src => applications/browser-extension/src}/hooks/useFlags.test.tsx (100%) rename {src => applications/browser-extension/src}/hooks/useFlags.ts (93%) rename {src => applications/browser-extension/src}/hooks/useInterval.ts (100%) rename {src => applications/browser-extension/src}/hooks/useIsEnterpriseUser.ts (86%) rename {src => applications/browser-extension/src}/hooks/useIsMounted.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useIsMounted.ts (100%) rename {src => applications/browser-extension/src}/hooks/useKeyboardShortcut.ts (100%) rename {src => applications/browser-extension/src}/hooks/useMemoCompare.test.ts (98%) rename {src => applications/browser-extension/src}/hooks/useMemoCompare.ts (100%) rename {src => applications/browser-extension/src}/hooks/useMergeAsyncState.test.ts (91%) rename {src => applications/browser-extension/src}/hooks/useMergeAsyncState.ts (95%) rename {src => applications/browser-extension/src}/hooks/useMilestones.test.ts (83%) rename {src => applications/browser-extension/src}/hooks/useMilestones.ts (89%) rename {src => applications/browser-extension/src}/hooks/useOnMountOnly.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useOnMountOnly.ts (100%) rename {src => applications/browser-extension/src}/hooks/usePreviousValue.ts (100%) rename {src => applications/browser-extension/src}/hooks/useQuickbarShortcut.ts (96%) rename {src => applications/browser-extension/src}/hooks/useReduxState.ts (100%) rename {src => applications/browser-extension/src}/hooks/useRefreshRegistries.ts (96%) rename {src => applications/browser-extension/src}/hooks/useReportError.ts (91%) rename {src => applications/browser-extension/src}/hooks/useScrollLock.module.scss (100%) rename {src => applications/browser-extension/src}/hooks/useScrollLock.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useScrollLock.ts (100%) rename {src => applications/browser-extension/src}/hooks/useSetDocumentTitle.test.tsx (92%) rename {src => applications/browser-extension/src}/hooks/useSetDocumentTitle.ts (100%) rename {src => applications/browser-extension/src}/hooks/useTheme.test.ts (88%) rename {src => applications/browser-extension/src}/hooks/useTheme.ts (91%) rename {src => applications/browser-extension/src}/hooks/useTimeoutState.test.ts (100%) rename {src => applications/browser-extension/src}/hooks/useTimeoutState.ts (100%) rename {src => applications/browser-extension/src}/hooks/useToggleFormField.test.tsx (95%) rename {src => applications/browser-extension/src}/hooks/useToggleFormField.tsx (100%) rename {src => applications/browser-extension/src}/hooks/useUndo.test.ts (99%) rename {src => applications/browser-extension/src}/hooks/useUndo.ts (96%) rename {src => applications/browser-extension/src}/hooks/useUpdatableAsyncState.ts (100%) rename {src => applications/browser-extension/src}/hooks/useUserAction.ts (89%) rename {src => applications/browser-extension/src}/hooks/useWindowSize.test.ts (96%) rename {src => applications/browser-extension/src}/hooks/useWindowSize.ts (100%) rename {src => applications/browser-extension/src}/icons/Icon.module.scss (100%) rename {src => applications/browser-extension/src}/icons/Icon.tsx (94%) rename {src => applications/browser-extension/src}/icons/IconSelector.tsx (96%) rename {src => applications/browser-extension/src}/icons/arrow-downward.svg (100%) rename {src => applications/browser-extension/src}/icons/arrow-up-from-bracket-solid.svg (100%) rename {src => applications/browser-extension/src}/icons/arrow-upward.svg (100%) rename {src => applications/browser-extension/src}/icons/constants.ts (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/automation-anywhere.svg (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/favicon.svg (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/ic-unsaved.svg (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/ic-warning.svg (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/icon-sparkles.svg (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/logo.svg (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/uipath.ai (100%) rename {src => applications/browser-extension/src}/icons/custom-icons/uipath.svg (100%) rename {src => applications/browser-extension/src}/icons/delete.svg (100%) rename {src => applications/browser-extension/src}/icons/drag-handle.svg (100%) rename {src => applications/browser-extension/src}/icons/duplicate.svg (100%) rename {src => applications/browser-extension/src}/icons/error.svg (100%) rename {src => applications/browser-extension/src}/icons/getSvgIcon.ts (97%) rename {src => applications/browser-extension/src}/icons/info.svg (100%) rename {src => applications/browser-extension/src}/icons/list.ts (100%) rename {src => applications/browser-extension/src}/icons/select-parent.svg (100%) rename {src => applications/browser-extension/src}/icons/types.ts (100%) rename {src => applications/browser-extension/src}/icons/warning.svg (100%) rename {src => applications/browser-extension/src}/integrations/UserDefinedIntegration.test.ts (92%) rename {src => applications/browser-extension/src}/integrations/UserDefinedIntegration.ts (96%) rename {src => applications/browser-extension/src}/integrations/autoConfigure.ts (89%) rename {src => applications/browser-extension/src}/integrations/components/IntegrationAuthSelector.tsx (91%) rename {src => applications/browser-extension/src}/integrations/components/RequireIntegrationConfig.test.tsx (90%) rename {src => applications/browser-extension/src}/integrations/components/RequireIntegrationConfig.tsx (82%) rename {src => applications/browser-extension/src}/integrations/constants.ts (94%) rename {src => applications/browser-extension/src}/integrations/integrationConfigLocator.test.ts (83%) rename {src => applications/browser-extension/src}/integrations/integrationConfigLocator.ts (92%) rename {src => applications/browser-extension/src}/integrations/integrationTypes.ts (100%) rename {src => applications/browser-extension/src}/integrations/registry.ts (83%) rename {src => applications/browser-extension/src}/integrations/sanitizeIntegrationConfig.test.ts (86%) rename {src => applications/browser-extension/src}/integrations/sanitizeIntegrationConfig.ts (95%) rename {src => applications/browser-extension/src}/integrations/store/IntegrationsSliceModIntegrationsContextAdapter.tsx (88%) rename {src => applications/browser-extension/src}/integrations/store/integrationsMigrations.ts (97%) rename {src => applications/browser-extension/src}/integrations/store/integrationsSelectors.ts (87%) rename {src => applications/browser-extension/src}/integrations/store/integrationsSlice.test.ts (80%) rename {src => applications/browser-extension/src}/integrations/store/integrationsSlice.ts (88%) rename {src => applications/browser-extension/src}/integrations/useSanitizedIntegrationConfigFormikAdapter.test.ts (92%) rename {src => applications/browser-extension/src}/integrations/useSanitizedIntegrationConfigFormikAdapter.ts (91%) rename {src => applications/browser-extension/src}/integrations/util/checkIntegrationAuth.ts (86%) rename {src => applications/browser-extension/src}/integrations/util/collectExistingConfiguredDependenciesForMod.test.ts (93%) rename {src => applications/browser-extension/src}/integrations/util/collectExistingConfiguredDependenciesForMod.ts (79%) rename {src => applications/browser-extension/src}/integrations/util/extractIntegrationIdsFromSchema.test.ts (89%) rename {src => applications/browser-extension/src}/integrations/util/extractIntegrationIdsFromSchema.ts (95%) rename {src => applications/browser-extension/src}/integrations/util/findSanitizedIntegrationConfigWithRetry.ts (81%) rename {src => applications/browser-extension/src}/integrations/util/getModDefinitionIntegrationIds.test.ts (91%) rename {src => applications/browser-extension/src}/integrations/util/getModDefinitionIntegrationIds.ts (82%) rename {src => applications/browser-extension/src}/integrations/util/getUnconfiguredComponentIntegrations.test.ts (93%) rename {src => applications/browser-extension/src}/integrations/util/getUnconfiguredComponentIntegrations.ts (84%) rename {src => applications/browser-extension/src}/integrations/util/makeIntegrationContextFromDependencies.ts (83%) rename {src => applications/browser-extension/src}/integrations/util/permissionsHelpers.ts (81%) rename {src => applications/browser-extension/src}/integrations/util/pixiebrixConfigurationFactory.ts (93%) rename {src => applications/browser-extension/src}/integrations/util/pixiebrixIntegrationDependencyFactory.ts (90%) rename {src => applications/browser-extension/src}/integrations/util/readRawConfigurations.ts (77%) rename {src => applications/browser-extension/src}/layout/EnvironmentBanner.tsx (89%) rename {src => applications/browser-extension/src}/layout/ErrorDisplay.tsx (90%) rename {src => applications/browser-extension/src}/layout/Footer.tsx (100%) rename {src => applications/browser-extension/src}/layout/Page.stories.tsx (98%) rename {src => applications/browser-extension/src}/layout/Page.tsx (96%) rename {src => applications/browser-extension/src}/manifest.json (100%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionConstants.ts (100%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionHooks.test.ts (94%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionHooks.ts (93%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionPermissionsHelpers.test.ts (87%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionPermissionsHelpers.ts (88%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionRawApiCalls.ts (95%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitions.test.tsx (86%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionsListenerMiddleware.ts (96%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionsSelectors.ts (100%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionsSlice.test.ts (95%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionsSlice.ts (96%) rename {src => applications/browser-extension/src}/modDefinitions/modDefinitionsTypes.ts (100%) rename {src => applications/browser-extension/src}/modDefinitions/registry.ts (93%) rename {src => applications/browser-extension/src}/modDefinitions/util/isSchemaServicesFormat.ts (88%) rename {src => applications/browser-extension/src}/modDefinitions/util/mapModDefinitionToModMetadata.test.ts (87%) rename {src => applications/browser-extension/src}/modDefinitions/util/mapModDefinitionToModMetadata.ts (89%) rename {src => applications/browser-extension/src}/mods/ModIntegrationsContext.tsx (92%) rename {src => applications/browser-extension/src}/mods/hooks/useFindModInstance.ts (84%) rename {src => applications/browser-extension/src}/mods/hooks/useModPermissions.ts (74%) rename {src => applications/browser-extension/src}/mv3/SessionStorage.test.ts (100%) rename {src => applications/browser-extension/src}/mv3/SessionStorage.ts (97%) rename {src => applications/browser-extension/src}/mv3/api.ts (100%) rename {src => applications/browser-extension/src}/pageEditor/components/DimensionGate.stories.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/components/DimensionGate.test.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/components/DimensionGate.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/components/LoginCard.stories.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/components/LoginCard.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/components/SelectorMatchWidget.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/components/TabConnectionErrorBanner.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/components/ToggleField.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/components/UrlPatternWidget.test.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/components/UrlPatternWidget.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/components/__snapshots__/UrlPatternWidget.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/consts.ts (100%) rename {src => applications/browser-extension/src}/pageEditor/context/TabInspectionGate.tsx (93%) rename {src => applications/browser-extension/src}/pageEditor/context/connection.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/__snapshots__/documentTree.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/allowedElementTypes.ts (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/createNewDocumentBuilderElement.test.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/createNewDocumentBuilderElement.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/documentBuilderTypes.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/documentTree.test.tsx (95%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/documentTree.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/ButtonOptions.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/DocumentOptions.test.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/DocumentOptions.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/ElementEditor.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/ListOptions.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/MoveElement.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/PipelineOptions.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/RemoveElement.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/getElementCollectionName.test.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/getElementCollectionName.ts (95%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/getElementEditSchemas.tsx (96%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/edit/useElementOptions.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/elementTypeLabels.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useDeleteElement.ts (82%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useDuplicateElement.test.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useDuplicateElement.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useMoveElement.test.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useMoveElement.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useMoveWithinParent.ts (83%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/hooks/useSelectParentElement.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/DocumentOutline.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/DocumentOutline.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/OutlineItem.stories.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/OutlineItem.test.tsx (96%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/OutlineItem.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/__snapshots__/OutlineItem.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/outline/outlineHelpers.ts (92%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/AddElementAction.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/AddElementAction.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/DocumentPreview.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/DocumentPreview.test.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/DocumentPreview.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/ElementPreview.module.scss (93%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/ElementPreview.test.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/ElementPreview.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/__snapshots__/ElementPreview.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/documentTree.module.scss (95%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Basic.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Button.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Card.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Card.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Container.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Image.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/List.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Pipeline.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/elementsPreview/Unknown.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/flaps/ActiveElementFlap.module.scss (92%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/flaps/ActiveElementFlap.tsx (77%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/flaps/Flaps.module.scss (93%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/flaps/Flaps.tsx (93%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/flaps/HoveredFlap.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/getPreviewComponentDefinition.test.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/getPreviewComponentDefinition.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/preview/previewVariables.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/render/BlockElement.tsx (76%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/render/ButtonElement.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/render/CardElement.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/render/DocumentContext.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/render/ListElement.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/documentBuilder/utils.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/editorPermissionsHelpers.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/events.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/fields/AlertOptions.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/fields/ApiVersionField.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/fields/AssignModVariableOptions.tsx (76%) rename {src => applications/browser-extension/src}/pageEditor/fields/CollapsibleFieldSection.module.scss (97%) rename {src => applications/browser-extension/src}/pageEditor/fields/CollapsibleFieldSection.test.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/fields/CollapsibleFieldSection.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/fields/ConfigErrorBoundary.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/fields/ConnectedCollapsibleFieldSection.test.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/fields/ConnectedCollapsibleFieldSection.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/fields/DatabaseGetOptions.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/fields/DatabaseOptions.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/fields/DatabasePutOptions.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/fields/FormModalOptions.test.tsx (74%) rename {src => applications/browser-extension/src}/pageEditor/fields/FormModalOptions.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/fields/FormRendererOptions.test.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/fields/FormRendererOptions.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/fields/LocationWidget.tsx (95%) rename {src => applications/browser-extension/src}/pageEditor/fields/MultiSelectWidget.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/fields/PipelineToggleField.test.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/fields/PipelineToggleField.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/fields/RemoteMethodOptions.test.ts (95%) rename {src => applications/browser-extension/src}/pageEditor/fields/RemoteMethodOptions.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/fields/SelectorMatchField.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/fields/SelectorSelectorWidget.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/fields/SelectorSelectorWidget.test.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/fields/SelectorSelectorWidget.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/fields/TemplateWidget.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/fields/UrlMatchPatternField.stories.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/fields/UrlMatchPatternField.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/fields/UrlPatternField.stories.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/fields/UrlPatternField.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/fields/creatableAutosuggest/CreatableAutosuggest.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/fields/creatableAutosuggest/CreatableAutosuggest.stories.tsx (96%) rename {src => applications/browser-extension/src}/pageEditor/fields/creatableAutosuggest/CreatableAutosuggest.tsx (99%) rename {src => applications/browser-extension/src}/pageEditor/fields/devtoolFieldOverrides.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/fields/formFieldTypeOptions.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/fields/makeLockableFieldProps.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/fields/selectorListItem/SelectorListItem.module.css (100%) rename {src => applications/browser-extension/src}/pageEditor/fields/selectorListItem/SelectorListItem.stories.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/fields/selectorListItem/SelectorListItem.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/hooks/updateReduxForSavedModDefinition.ts (75%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useAddNewModComponent.ts (78%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useApiVersionAtLeast.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useBuildAndValidateMod.test.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useBuildAndValidateMod.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCheckModStarterBrickInvariants.test.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCheckModStarterBrickInvariants.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useClearModChanges.ts (84%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useClearModComponentChanges.ts (81%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCompareModComponentCounts.test.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCompareModComponentCounts.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCreateModFromMod.test.ts (80%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCreateModFromMod.ts (83%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCreateModFromModComponent.test.ts (77%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCreateModFromModComponent.ts (80%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCreateModFromUnsavedMod.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useCurrentInspectedUrl.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useDeactivateMod.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useDeleteDraftModComponent.test.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useDeleteDraftModComponent.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useEscapeHandler.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useModComponentTrace.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useRegisterDraftModInstanceOnAllFrames.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useSaveMod.test.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/hooks/useSaveMod.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/layout/EditorContent.test.tsx (76%) rename {src => applications/browser-extension/src}/pageEditor/layout/EditorContent.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/layout/EditorLayout.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/layout/EditorLayout.tsx (80%) rename {src => applications/browser-extension/src}/pageEditor/layout/ModComponentFormStateWizard.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/layout/ModComponentFormStateWizard.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/layout/Panel.tsx (72%) rename {src => applications/browser-extension/src}/pageEditor/layout/PanelContent.test.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/layout/PanelContent.tsx (71%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ActionButtons.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ActionMenu.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ActivatedModComponentListItem.test.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ActivatedModComponentListItem.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/DraftModComponentListItem.test.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/DraftModComponentListItem.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/Entry.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/HomeButton.module.scss (96%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/HomeButton.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModActionMenu.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModComponentActionMenu.stories.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModComponentActionMenu.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModComponentIcons.test.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModComponentIcons.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModComponentListItem.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModListItem.test.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModListItem.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModListingPanel.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModListingPanel.test.tsx (93%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModListingPanel.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModSidebarListItems.module.scss (97%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ModSidebarListItems.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/NewModButton.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/ReloadButton.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/SaveButton.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/SaveButton.stories.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/SaveButton.tsx (96%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/__snapshots__/DraftModComponentListItem.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/__snapshots__/ModComponentIcons.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/arrangeSidebarItems.test.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/arrangeSidebarItems.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/common.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/filterSidebarItems.test.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/filterSidebarItems.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/modals/CreateModModal.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/modals/MoveOrCopyToModModal.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/modListingPanel/modals/SaveAsNewModModal.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/modals/Modals.tsx (69%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/AddBrickModal.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/AddBrickModal.test.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/AddBrickModal.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/BrickDetail.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/BrickGridItem.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/BrickGridItem.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/BrickGridItemRenderer.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/QuickAdd.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/TagList.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/TagList.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/TagSearchInput.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/TagSearchInput.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/__snapshots__/AddBrickModal.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/addBrickModalConstants.ts (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/addBrickModalHelpers.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/addBrickModalTypes.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/addBrickModalVariables.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/groupListingsByTag.test.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/groupListingsByTag.ts (92%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/useAddBrick.ts (82%) rename {src => applications/browser-extension/src}/pageEditor/modals/addBrickModal/useBrickSearch.ts (92%) rename {src => applications/browser-extension/src}/pageEditor/pageEditor.html (100%) rename {src => applications/browser-extension/src}/pageEditor/pageEditor.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/HomePane.module.scss (98%) rename {src => applications/browser-extension/src}/pageEditor/panes/HomePane.stories.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/panes/HomePane.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/panes/ModComponentEditorPane.test.tsx (93%) rename {src => applications/browser-extension/src}/pageEditor/panes/ModComponentEditorPane.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/panes/ModEditorPane.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/ModEditorPane.tsx (71%) rename {src => applications/browser-extension/src}/pageEditor/panes/NoTabAccessPane.test.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/panes/NoTabAccessPane.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/panes/NonScriptablePage.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/NonScriptablePage.test.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/panes/NonScriptablePage.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/panes/Pane.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/RestrictedPane.stories.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/RestrictedPane.tsx (95%) rename {src => applications/browser-extension/src}/pageEditor/panes/StaleSessionPane.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/panes/__snapshots__/ModComponentEditorPane.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/__snapshots__/NoTabAccessPane.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/__snapshots__/NonScriptablePage.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/panes/insert/InsertButtonPane.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/panes/insert/InsertPane.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/panes/insert/exampleStarterBrickConfigs.ts (82%) rename {src => applications/browser-extension/src}/pageEditor/panes/save/SaveDataIntegrityErrorModal.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/panes/save/saveHelpers.test.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/panes/save/saveHelpers.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/protocol.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/adapter.ts (75%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/base.test.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/base.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/button.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/contextMenu.test.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/contextMenu.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/dynamicQuickBar.ts (83%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/formStateTypes.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/modComponentFormStateAdapter.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/pipelineMapping.test.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/pipelineMapping.ts (92%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/quickBar.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/sidebar.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/starterBricks/trigger.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/store/analysisManager.ts (77%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/baseFormStateTypes.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorInvariantMiddleware.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorAnalysisSelectors.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorClipboardSelectors.ts (92%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorDataPanelSelectors.ts (78%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorDesignViewSelectors.ts (81%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorErrorSelectors.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorModComponentSelectors.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorModSelectors.test.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorModSelectors.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorModalSelectors.ts (97%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorNavigationSelectors.ts (95%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/editorPipelineSelectors.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSelectors/index.ts (100%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSlice.test.ts (92%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSlice.ts (95%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSliceHelpers.test.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/editorSliceHelpers.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/pageEditorTypes.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/uiState.ts (91%) rename {src => applications/browser-extension/src}/pageEditor/store/editor/uiStateTypes.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/store/runtime/runtimeSelectors.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/store/runtime/runtimeSlice.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/store/runtime/runtimeSliceTypes.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/store/session/sessionSelectors.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/store/session/sessionSlice.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/store/session/sessionSliceTypes.ts (94%) rename {src => applications/browser-extension/src}/pageEditor/store/store.ts (74%) rename {src => applications/browser-extension/src}/pageEditor/store/tabState/tabStateSelectors.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/store/tabState/tabStateSlice.ts (84%) rename {src => applications/browser-extension/src}/pageEditor/store/tabState/tabStateTypes.ts (95%) rename {src => applications/browser-extension/src}/pageEditor/tabs/ExtraPermissionsSection.test.tsx (91%) rename {src => applications/browser-extension/src}/pageEditor/tabs/ExtraPermissionsSection.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/Logs.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/MatchRulesSection.test.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/MatchRulesSection.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/tabs/__snapshots__/ExtraPermissionsSection.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/__snapshots__/MatchRulesSection.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/button/ButtonConfiguration.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/tabs/contextMenu/ContextMenuConfiguration.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/tabs/dynamicQuickBar/DynamicQuickBarConfiguration.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/AnalysisResult.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/EditTab.module.scss (98%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/EditTab.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/StarterBrickConfigPanel.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/UnsupportedRuntimeVersion.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/BrickDataPanel.test.tsx (80%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/BrickDataPanel.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/DataTabJsonTree.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/DataTabJsonTree.test.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/DataTabJsonTree.tsx (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/DataTabPane.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/ErrorDisplay.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/ErrorDisplay.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/StarterBrickDataPanel.test.tsx (80%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/StarterBrickDataPanel.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/__snapshots__/BrickDataPanel.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/__snapshots__/DataTabJsonTree.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/__snapshots__/StarterBrickDataPanel.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/dataPanelTabs.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/dataPanelTypes.ts (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/BrickInputTab.test.tsx (80%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/BrickInputTab.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/BrickOutputTab.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/CommentsTab.test.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/CommentsTab.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/DesignTab.tsx (73%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/ModComponentFormStateTab.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/ModVariablesTab.test.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/ModVariablesTab.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/NodeFormStateTab.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/OutlineTab.tsx (72%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/StarterBrickInputTab.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/StarterBrickOutputTab.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/ViewModeField.module.scss (96%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/ViewModeField.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/__snapshots__/ModVariablesTab.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/useBrickTraceRecord.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/tabs/useIsSidebarPanelStale.ts (88%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/dataPanel/useDataPanelActiveTabKey.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editHelpers.test.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editHelpers.ts (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editTabTypes.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editTabVariables.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/CommentsPreview.module.scss (97%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/CommentsPreview.test.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/CommentsPreview.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/EditorNodeConfigPanel.module.scss (97%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/EditorNodeConfigPanel.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/OutputVariableField.test.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeConfigPanel/OutputVariableField.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/EditorNodeLayout.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/decideStatus.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/nodeSummary.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/nodeSummary.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePasteBrick.ts (82%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/helpers.ts (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/index.tsx (71%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/types.ts (77%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useCreateNodeActions.ts (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useGetBrickContentProps.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useGetIsBrickPipelineExpanded.ts (81%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useGetNodeMovement.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useGetNodeState.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useGetSubPipelineNodes.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useGetTraceHandling.ts (85%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useLastBrickHandling.ts (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useMakeFoundationNode.ts (72%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useMapBrickToNodes.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodeLayout/usePipelineNodes/useMapPipelineToNodes.ts (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/OutputKeyView.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/OutputKeyView.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/PipelineFooterNode.module.scss (96%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/PipelineFooterNode.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/PipelineHeaderNode.module.scss (95%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/PipelineHeaderNode.tsx (96%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/PipelineOffsetView.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/PipelineOffsetView.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/TrailingMessage.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/TrailingMessage.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/brickNode/BrickNode.module.scss (97%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/brickNode/BrickNode.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/brickNode/BrickNodeContent.module.scss (95%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/brickNode/BrickNodeContent.tsx (95%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/brickNode/MoveBrickControl.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/brickNode/MoveBrickControl.tsx (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/nodeActions/NodeActionsView.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/editorNodes/nodeActions/NodeActionsView.tsx (95%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/useReportTraceError.test.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/editTab/useReportTraceError.ts (81%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/AdvancedLinks.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/AdvancedLinks.test.tsx (97%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/AdvancedLinks.tsx (89%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/BrickConfiguration.test.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/BrickConfiguration.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/BrickPreview.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/StarterBrickPreview.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/__snapshots__/BrickConfiguration.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/configurationConstants.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/effect/useDocumentPreviewRunBlock.ts (86%) rename {src => applications/browser-extension/src}/pageEditor/tabs/logs/LogsTab.tsx (94%) rename {src => applications/browser-extension/src}/pageEditor/tabs/logs/NavItemBadge.tsx (95%) rename {src => applications/browser-extension/src}/pageEditor/tabs/logs/useLogsBadgeState.ts (96%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modMetadata/ModMetadataEditor.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modMetadata/ModMetadataEditor.test.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modMetadata/ModMetadataEditor.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modOptionsArgs/ModOptionsArgsEditor.test.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modOptionsArgs/ModOptionsArgsEditor.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modOptionsArgs/__snapshots__/ModOptionsArgsEditor.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modOptionsDefinitions/ModOptionsDefinitionEditor.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modOptionsDefinitions/ModOptionsDefinitionEditor.test.tsx (78%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modOptionsDefinitions/ModOptionsDefinitionEditor.tsx (79%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/ModVariablesDefinitionEditor.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/ModVariablesDefinitionEditor.test.tsx (84%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/ModVariablesDefinitionEditor.tsx (81%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/ModVariablesTable.module.scss (100%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/ModVariablesTable.tsx (92%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/modVariablesDefinitionEditorHelpers.test.ts (98%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/modVariablesDefinitionEditorHelpers.ts (90%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/modVariablesDefinitionEditorTypes.ts (93%) rename {src => applications/browser-extension/src}/pageEditor/tabs/modVariablesDefinition/useInferredModVariablesQuery.ts (66%) rename {src => applications/browser-extension/src}/pageEditor/tabs/quickBar/QuickBarConfiguration.tsx (85%) rename {src => applications/browser-extension/src}/pageEditor/tabs/sidebar/SidebarConfiguration.tsx (83%) rename {src => applications/browser-extension/src}/pageEditor/tabs/trigger/DebounceFieldSet.tsx (75%) rename {src => applications/browser-extension/src}/pageEditor/tabs/trigger/TriggerConfiguration.test.tsx (65%) rename {src => applications/browser-extension/src}/pageEditor/tabs/trigger/TriggerConfiguration.tsx (88%) rename {src => applications/browser-extension/src}/pageEditor/tabs/trigger/__snapshots__/TriggerConfiguration.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/pageEditor/testHelpers.ts (69%) rename {src => applications/browser-extension/src}/pageEditor/toolbar/PermissionsToolbar.tsx (87%) rename {src => applications/browser-extension/src}/pageEditor/toolbar/ReloadToolbar.tsx (86%) rename {src => applications/browser-extension/src}/pageEditor/utils.ts (89%) rename {src => applications/browser-extension/src}/pageScript/elementInfo.ts (89%) rename {src => applications/browser-extension/src}/pageScript/frameworks/adapters.ts (86%) rename {src => applications/browser-extension/src}/pageScript/frameworks/component.ts (97%) rename {src => applications/browser-extension/src}/pageScript/frameworks/contrib/angularjs.ts (95%) rename {src => applications/browser-extension/src}/pageScript/frameworks/contrib/ember.ts (95%) rename {src => applications/browser-extension/src}/pageScript/frameworks/contrib/react.ts (97%) rename {src => applications/browser-extension/src}/pageScript/frameworks/contrib/vue.ts (97%) rename {src => applications/browser-extension/src}/pageScript/frameworks/dom.ts (95%) rename {src => applications/browser-extension/src}/pageScript/frameworks/errors.ts (100%) rename {src => applications/browser-extension/src}/pageScript/messenger/api.ts (92%) rename {src => applications/browser-extension/src}/pageScript/messenger/constants.ts (100%) rename {src => applications/browser-extension/src}/pageScript/messenger/receiver.ts (95%) rename {src => applications/browser-extension/src}/pageScript/messenger/sender.ts (95%) rename {src => applications/browser-extension/src}/pageScript/pageScript.ts (94%) rename {src => applications/browser-extension/src}/permissions/deploymentPermissionsHelpers.ts (88%) rename {src => applications/browser-extension/src}/permissions/modComponentPermissionsHelpers.ts (89%) rename {src => applications/browser-extension/src}/permissions/patterns.ts (100%) rename {src => applications/browser-extension/src}/permissions/permissionsTypes.ts (100%) rename {src => applications/browser-extension/src}/permissions/permissionsUtils.ts (98%) rename {src => applications/browser-extension/src}/permissions/useExtensionPermissions.test.ts (95%) rename {src => applications/browser-extension/src}/permissions/useExtensionPermissions.ts (97%) rename {src => applications/browser-extension/src}/permissions/useRequestPermissionsCallback.ts (92%) rename {src => applications/browser-extension/src}/platform/capabilities.ts (100%) rename {src => applications/browser-extension/src}/platform/forms/formController.ts (93%) rename {src => applications/browser-extension/src}/platform/forms/formTypes.ts (95%) rename {src => applications/browser-extension/src}/platform/panels/panelController.ts (96%) rename {src => applications/browser-extension/src}/platform/panels/panelTypes.ts (87%) rename {src => applications/browser-extension/src}/platform/platformBase.ts (74%) rename {src => applications/browser-extension/src}/platform/platformContext.ts (93%) rename {src => applications/browser-extension/src}/platform/platformProtocol.ts (75%) rename {src => applications/browser-extension/src}/platform/platformTypes/audioProtocol.ts (100%) rename {src => applications/browser-extension/src}/platform/platformTypes/badgeProtocol.ts (89%) rename {src => applications/browser-extension/src}/platform/platformTypes/captureProtocol.ts (93%) rename {src => applications/browser-extension/src}/platform/platformTypes/clipboardProtocol.ts (92%) rename {src => applications/browser-extension/src}/platform/platformTypes/contextMenuProtocol.ts (96%) rename {src => applications/browser-extension/src}/platform/platformTypes/debuggerProtocol.ts (91%) rename {src => applications/browser-extension/src}/platform/platformTypes/panelProtocol.ts (85%) rename {src => applications/browser-extension/src}/platform/platformTypes/quickBarProtocol.ts (94%) rename {src => applications/browser-extension/src}/platform/platformTypes/snippetShortcutMenuProtocol.ts (94%) rename {src => applications/browser-extension/src}/platform/platformTypes/stateProtocol.ts (87%) rename {src => applications/browser-extension/src}/platform/platformTypes/templateProtocol.ts (100%) rename {src => applications/browser-extension/src}/platform/platformTypes/textSelectionMenuProtocol.ts (90%) rename {src => applications/browser-extension/src}/platform/platformTypes/toastProtocol.ts (94%) rename {src => applications/browser-extension/src}/platform/state/stateHelpers.test.ts (91%) rename {src => applications/browser-extension/src}/platform/state/stateHelpers.ts (96%) rename {src => applications/browser-extension/src}/platform/state/stateTypes.ts (95%) rename {src => applications/browser-extension/src}/registry/hydrateInnerDefinitions.ts (94%) rename {src => applications/browser-extension/src}/registry/memoryRegistry.ts (96%) rename {src => applications/browser-extension/src}/registry/packageRegistry.test.ts (93%) rename {src => applications/browser-extension/src}/registry/packageRegistry.ts (97%) rename {src => applications/browser-extension/src}/runtime/apiVersionOptions.ts (100%) rename {src => applications/browser-extension/src}/runtime/brickYaml.test.ts (96%) rename {src => applications/browser-extension/src}/runtime/brickYaml.ts (97%) rename {src => applications/browser-extension/src}/runtime/extendModVariableContext.test.ts (93%) rename {src => applications/browser-extension/src}/runtime/extendModVariableContext.ts (96%) rename {src => applications/browser-extension/src}/runtime/getType.ts (92%) rename {src => applications/browser-extension/src}/runtime/mapArgs.test.ts (96%) rename {src => applications/browser-extension/src}/runtime/mapArgs.ts (96%) rename {src => applications/browser-extension/src}/runtime/pathHelpers.test.ts (99%) rename {src => applications/browser-extension/src}/runtime/pathHelpers.ts (97%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/autoescape.test.ts (85%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/component.test.ts (85%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/conditional.test.ts (90%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/deferExpression.test.ts (90%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/deploymentAlert.test.ts (85%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/featureFlag.test.ts (84%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/implicitDataFlow.test.ts (93%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/integrationContext.test.ts (89%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/modVariableContext.test.ts (89%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/options.test.ts (86%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/outputKey.test.ts (91%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/pipelineExpression.test.ts (86%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/root.test.ts (92%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/templateEngine.test.ts (92%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/testHelpers.ts (92%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/trace.test.ts (92%) rename {src => applications/browser-extension/src}/runtime/pipelineTests/validateInput.test.ts (86%) rename {src => applications/browser-extension/src}/runtime/reducePipeline.ts (96%) rename {src => applications/browser-extension/src}/runtime/renderers.test.ts (96%) rename {src => applications/browser-extension/src}/runtime/renderers.ts (94%) rename {src => applications/browser-extension/src}/runtime/runtimeTypes.test.ts (95%) rename {src => applications/browser-extension/src}/runtime/runtimeTypes.ts (97%) rename {src => applications/browser-extension/src}/runtime/runtimeUtils.test.ts (95%) rename {src => applications/browser-extension/src}/runtime/runtimeUtils.ts (91%) rename {src => applications/browser-extension/src}/sandbox/messenger/api.ts (96%) rename {src => applications/browser-extension/src}/sandbox/messenger/executor.test.ts (94%) rename {src => applications/browser-extension/src}/sandbox/messenger/executor.ts (96%) rename {src => applications/browser-extension/src}/sandbox/messenger/registration.ts (95%) rename {src => applications/browser-extension/src}/sandbox/postMessage.test.ts (99%) rename {src => applications/browser-extension/src}/sandbox/postMessage.ts (96%) rename {src => applications/browser-extension/src}/sandbox/sandbox.html (100%) rename {src => applications/browser-extension/src}/sandbox/sandbox.ts (100%) rename {src => applications/browser-extension/src}/sidebar/ConnectedSidebar.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/ConnectedSidebar.test.tsx (85%) rename {src => applications/browser-extension/src}/sidebar/ConnectedSidebar.tsx (85%) rename {src => applications/browser-extension/src}/sidebar/ConnectingOverlay.tsx (96%) rename {src => applications/browser-extension/src}/sidebar/DefaultContent.test.tsx (82%) rename {src => applications/browser-extension/src}/sidebar/DefaultPanel.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/DefaultPanel.tsx (91%) rename {src => applications/browser-extension/src}/sidebar/FormBody.test.tsx (79%) rename {src => applications/browser-extension/src}/sidebar/FormBody.tsx (85%) rename {src => applications/browser-extension/src}/sidebar/Header.test.tsx (89%) rename {src => applications/browser-extension/src}/sidebar/Header.tsx (91%) rename {src => applications/browser-extension/src}/sidebar/LoginPanel.stories.tsx (86%) rename {src => applications/browser-extension/src}/sidebar/LoginPanel.tsx (88%) rename {src => applications/browser-extension/src}/sidebar/PanelBody.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/PanelBody.test.tsx (93%) rename {src => applications/browser-extension/src}/sidebar/PanelBody.tsx (88%) rename {src => applications/browser-extension/src}/sidebar/RendererComponent.test.tsx (79%) rename {src => applications/browser-extension/src}/sidebar/RendererComponent.tsx (95%) rename {src => applications/browser-extension/src}/sidebar/SidebarApp.tsx (83%) rename {src => applications/browser-extension/src}/sidebar/SidebarBody.test.tsx (80%) rename {src => applications/browser-extension/src}/sidebar/SidebarBody.tsx (81%) rename {src => applications/browser-extension/src}/sidebar/SidebarErrorBoundary.tsx (97%) rename {src => applications/browser-extension/src}/sidebar/Tabs.module.scss (99%) rename {src => applications/browser-extension/src}/sidebar/Tabs.test.tsx (96%) rename {src => applications/browser-extension/src}/sidebar/Tabs.tsx (92%) rename {src => applications/browser-extension/src}/sidebar/TemporaryPanelTabPane.tsx (78%) rename {src => applications/browser-extension/src}/sidebar/UnavailableOverlay.tsx (100%) rename {src => applications/browser-extension/src}/sidebar/__snapshots__/ConnectedSidebar.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/__snapshots__/FormBody.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/__snapshots__/Header.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/__snapshots__/PanelBody.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/__snapshots__/SidebarBody.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/activateMod/ActivateModInputs.tsx (86%) rename {src => applications/browser-extension/src}/sidebar/activateMod/ActivateModPanel.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/activateMod/ActivateModPanel.test.tsx (88%) rename {src => applications/browser-extension/src}/sidebar/activateMod/ActivateModPanel.tsx (89%) rename {src => applications/browser-extension/src}/sidebar/activateMod/ActivateMultipleModsPanel.test.tsx (100%) rename {src => applications/browser-extension/src}/sidebar/activateMod/ActivateMultipleModsPanel.tsx (84%) rename {src => applications/browser-extension/src}/sidebar/activateMod/RequireMods.test.ts (93%) rename {src => applications/browser-extension/src}/sidebar/activateMod/RequireMods.tsx (84%) rename {src => applications/browser-extension/src}/sidebar/activateMod/__snapshots__/ActivateModPanel.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/blurSidebarOverlay.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/components/RootCancelledPanel.stories.tsx (90%) rename {src => applications/browser-extension/src}/sidebar/components/RootCancelledPanel.test.tsx (84%) rename {src => applications/browser-extension/src}/sidebar/components/RootCancelledPanel.tsx (91%) rename {src => applications/browser-extension/src}/sidebar/components/RootErrorPanel.stories.tsx (91%) rename {src => applications/browser-extension/src}/sidebar/components/RootErrorPanel.test.tsx (89%) rename {src => applications/browser-extension/src}/sidebar/components/RootErrorPanel.tsx (93%) rename {src => applications/browser-extension/src}/sidebar/components/__snapshots__/RootCancelledPanel.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/components/__snapshots__/RootErrorPanel.test.tsx.snap (100%) rename {src => applications/browser-extension/src}/sidebar/connectedTarget.tsx (93%) rename {src => applications/browser-extension/src}/sidebar/hooks/useConnectedTargetUrl.tsx (92%) rename {src => applications/browser-extension/src}/sidebar/hooks/useHideEmptySidebarEffect.ts (89%) rename {src => applications/browser-extension/src}/sidebar/messenger/api.ts (96%) rename {src => applications/browser-extension/src}/sidebar/messenger/registration.ts (96%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ActiveSidebarModsList.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ActiveSidebarModsList.tsx (87%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ActiveSidebarModsListItem.module.scss (97%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ActiveSidebarModsListItem.tsx (77%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ModLauncher.module.scss (100%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ModLauncher.test.tsx (88%) rename {src => applications/browser-extension/src}/sidebar/modLauncher/ModLauncher.tsx (80%) rename {src => applications/browser-extension/src}/sidebar/protocol.tsx (98%) rename {src => applications/browser-extension/src}/sidebar/sidebar.html (100%) rename {src => applications/browser-extension/src}/sidebar/sidebar.scss (96%) rename {src => applications/browser-extension/src}/sidebar/sidebar.tsx (100%) rename {src => applications/browser-extension/src}/sidebar/sidebarBootstrapOverrides.scss (100%) rename {src => applications/browser-extension/src}/sidebar/sidebarSelectors.ts (91%) rename {src => applications/browser-extension/src}/sidebar/staticPanelUtils.tsx (91%) rename {src => applications/browser-extension/src}/sidebar/store.ts (73%) rename {src => applications/browser-extension/src}/sidebar/telemetryConstants.ts (100%) rename {src => applications/browser-extension/src}/sidebar/testHelpers.ts (71%) rename {src => applications/browser-extension/src}/starterBricks/button/buttonStarterBrick.test.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/button/buttonStarterBrick.ts (94%) rename {src => applications/browser-extension/src}/starterBricks/button/buttonStarterBrickTypes.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/contextMenu/contextMenuReader.ts (95%) rename {src => applications/browser-extension/src}/starterBricks/contextMenu/contextMenuStarterBrick.test.ts (94%) rename {src => applications/browser-extension/src}/starterBricks/contextMenu/contextMenuStarterBrick.ts (87%) rename {src => applications/browser-extension/src}/starterBricks/contextMenu/contextMenuTypes.ts (92%) rename {src => applications/browser-extension/src}/starterBricks/dynamicQuickBar/dynamicQuickBarStarterBrick.test.ts (85%) rename {src => applications/browser-extension/src}/starterBricks/dynamicQuickBar/dynamicQuickBarStarterBrick.tsx (85%) rename {src => applications/browser-extension/src}/starterBricks/dynamicQuickBar/dynamicQuickBarTypes.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/dynamicQuickBar/quickBarQueryReader.ts (94%) rename {src => applications/browser-extension/src}/starterBricks/factory.ts (70%) rename {src => applications/browser-extension/src}/starterBricks/helpers.test.ts (95%) rename {src => applications/browser-extension/src}/starterBricks/helpers.ts (95%) rename {src => applications/browser-extension/src}/starterBricks/quickBar/quickBarStarterBrick.test.ts (85%) rename {src => applications/browser-extension/src}/starterBricks/quickBar/quickBarStarterBrick.tsx (84%) rename {src => applications/browser-extension/src}/starterBricks/quickBar/quickBarTypes.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/registry.ts (91%) rename {src => applications/browser-extension/src}/starterBricks/sidebar/sidebarStarterBrick.test.ts (94%) rename {src => applications/browser-extension/src}/starterBricks/sidebar/sidebarStarterBrick.ts (91%) rename {src => applications/browser-extension/src}/starterBricks/sidebar/sidebarStarterBrickTypes.ts (96%) rename {src => applications/browser-extension/src}/starterBricks/starterBrickConstants.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/starterBrickModUtils.test.ts (95%) rename {src => applications/browser-extension/src}/starterBricks/starterBrickModUtils.ts (86%) rename {src => applications/browser-extension/src}/starterBricks/starterBrickUtils.ts (96%) rename {src => applications/browser-extension/src}/starterBricks/testHelpers.ts (95%) rename {src => applications/browser-extension/src}/starterBricks/trigger/triggerEventReaders.ts (94%) rename {src => applications/browser-extension/src}/starterBricks/trigger/triggerStarterBrick.test.ts (95%) rename {src => applications/browser-extension/src}/starterBricks/trigger/triggerStarterBrick.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/trigger/triggerStarterBrickTypes.ts (100%) rename {src => applications/browser-extension/src}/starterBricks/types.ts (97%) rename {src => applications/browser-extension/src}/store/ReduxPersistenceContext.ts (100%) rename {src => applications/browser-extension/src}/store/StorageInterface.ts (100%) rename {src => applications/browser-extension/src}/store/browserExtensionIdStorage.ts (96%) rename {src => applications/browser-extension/src}/store/checkActiveModComponentAvailability.test.ts (85%) rename {src => applications/browser-extension/src}/store/checkAvailableActivatedModComponents.test.ts (78%) rename {src => applications/browser-extension/src}/store/checkAvailableDraftModComponents.test.ts (82%) rename {src => applications/browser-extension/src}/store/commonActions.ts (100%) rename {src => applications/browser-extension/src}/store/deactivateModHelpers.ts (89%) rename {src => applications/browser-extension/src}/store/defaultMiddlewareConfig.ts (100%) rename {src => applications/browser-extension/src}/store/editorMigrations.test.ts (97%) rename {src => applications/browser-extension/src}/store/editorMigrations.ts (96%) rename {src => applications/browser-extension/src}/store/editorStorage.test.ts (82%) rename {src => applications/browser-extension/src}/store/editorStorage.ts (87%) rename {src => applications/browser-extension/src}/store/enterprise/managedStorage.test.ts (94%) rename {src => applications/browser-extension/src}/store/enterprise/managedStorage.ts (96%) rename {src => applications/browser-extension/src}/store/enterprise/managedStorageTypes.ts (97%) rename {src => applications/browser-extension/src}/store/enterprise/singleSignOn.test.ts (93%) rename {src => applications/browser-extension/src}/store/enterprise/singleSignOn.ts (94%) rename {src => applications/browser-extension/src}/store/enterprise/useManagedStorageState.test.ts (88%) rename {src => applications/browser-extension/src}/store/enterprise/useManagedStorageState.ts (89%) rename {src => applications/browser-extension/src}/store/migratePersistedState.test.ts (99%) rename {src => applications/browser-extension/src}/store/migratePersistedState.ts (100%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentMigrations.test.ts (98%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentMigrations.ts (94%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentSelectors.ts (93%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentSlice.ts (84%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentSliceInitialState.ts (90%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentStorage.test.ts (84%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentStorage.ts (87%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentTypes.ts (99%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentUtils.test.ts (93%) rename {src => applications/browser-extension/src}/store/modComponents/modComponentUtils.ts (93%) rename {src => applications/browser-extension/src}/store/modComponents/modInstanceSelectors.ts (91%) rename {src => applications/browser-extension/src}/store/modComponents/modInstanceUtils.ts (89%) rename {src => applications/browser-extension/src}/store/sessionChanges/sessionChangesListenerMiddleware.ts (84%) rename {src => applications/browser-extension/src}/store/sessionChanges/sessionChangesSelectors.test.ts (77%) rename {src => applications/browser-extension/src}/store/sessionChanges/sessionChangesSelectors.ts (90%) rename {src => applications/browser-extension/src}/store/sessionChanges/sessionChangesSlice.ts (90%) rename {src => applications/browser-extension/src}/store/sessionChanges/sessionChangesTypes.ts (94%) rename {src => applications/browser-extension/src}/store/settings/settingsMigrations.ts (98%) rename {src => applications/browser-extension/src}/store/settings/settingsSelectors.test.ts (92%) rename {src => applications/browser-extension/src}/store/settings/settingsSelectors.ts (92%) rename {src => applications/browser-extension/src}/store/settings/settingsSlice.test.ts (81%) rename {src => applications/browser-extension/src}/store/settings/settingsSlice.ts (92%) rename {src => applications/browser-extension/src}/store/settings/settingsStorage.ts (81%) rename {src => applications/browser-extension/src}/store/settings/settingsTypes.ts (97%) rename {src => applications/browser-extension/src}/store/sidebar/constants.ts (92%) rename {src => applications/browser-extension/src}/store/sidebar/eventKeyUtils.test.ts (93%) rename {src => applications/browser-extension/src}/store/sidebar/eventKeyUtils.tsx (94%) rename {src => applications/browser-extension/src}/store/sidebar/initialState.ts (93%) rename {src => applications/browser-extension/src}/store/sidebar/sidebarSlice.test.ts (95%) rename {src => applications/browser-extension/src}/store/sidebar/sidebarSlice.ts (94%) rename {src => applications/browser-extension/src}/store/sidebar/sidebarStorage.test.ts (88%) rename {src => applications/browser-extension/src}/store/sidebar/sidebarStorage.ts (89%) rename {src => applications/browser-extension/src}/store/sidebar/sidebarUtils.ts (92%) rename {src => applications/browser-extension/src}/store/sidebar/thunks/addFormPanel.ts (87%) rename {src => applications/browser-extension/src}/store/sidebar/thunks/addTemporaryPanel.ts (87%) rename {src => applications/browser-extension/src}/store/sidebar/thunks/removeFormPanel.ts (85%) rename {src => applications/browser-extension/src}/store/sidebar/thunks/removeTemporaryPanel.ts (86%) rename {src => applications/browser-extension/src}/store/sidebar/thunks/resolveTemporaryPanel.ts (87%) rename {src => applications/browser-extension/src}/store/workshopSlice.ts (92%) rename {src => applications/browser-extension/src}/telemetry/BackgroundLogger.ts (92%) rename {src => applications/browser-extension/src}/telemetry/deployments.ts (95%) rename {src => applications/browser-extension/src}/telemetry/dnt.ts (97%) rename {src => applications/browser-extension/src}/telemetry/events.ts (100%) rename {src => applications/browser-extension/src}/telemetry/initErrorReporter.ts (95%) rename {src => applications/browser-extension/src}/telemetry/lexicon.ts (100%) rename {src => applications/browser-extension/src}/telemetry/logging.test.ts (92%) rename {src => applications/browser-extension/src}/telemetry/logging.ts (96%) rename {src => applications/browser-extension/src}/telemetry/performance.test.ts (90%) rename {src => applications/browser-extension/src}/telemetry/performance.ts (92%) rename {src => applications/browser-extension/src}/telemetry/reportError.test.ts (100%) rename {src => applications/browser-extension/src}/telemetry/reportError.ts (95%) rename {src => applications/browser-extension/src}/telemetry/reportEvent.ts (87%) rename {src => applications/browser-extension/src}/telemetry/reportToApplicationErrorTelemetry.test.ts (90%) rename {src => applications/browser-extension/src}/telemetry/reportToApplicationErrorTelemetry.ts (84%) rename {src => applications/browser-extension/src}/telemetry/reportUncaughtErrors.ts (91%) rename {src => applications/browser-extension/src}/telemetry/telemetryHelpers.test.ts (84%) rename {src => applications/browser-extension/src}/telemetry/telemetryHelpers.ts (96%) rename {src => applications/browser-extension/src}/telemetry/telemetryTypes.ts (96%) rename {src => applications/browser-extension/src}/telemetry/trace.ts (98%) rename {src => applications/browser-extension/src}/telemetry/traceHelpers.test.ts (95%) rename {src => applications/browser-extension/src}/telemetry/traceHelpers.ts (97%) rename {src => applications/browser-extension/src}/testUtils/FixJsdomEnvironment.js (100%) rename {src => applications/browser-extension/src}/testUtils/appApiMock.ts (100%) rename {src => applications/browser-extension/src}/testUtils/extendedExpectations.ts (100%) rename {src => applications/browser-extension/src}/testUtils/factories/authFactories.ts (92%) rename {src => applications/browser-extension/src}/testUtils/factories/brickFactories.ts (77%) rename {src => applications/browser-extension/src}/testUtils/factories/browserFactories.ts (100%) rename {src => applications/browser-extension/src}/testUtils/factories/databaseFactories.ts (90%) rename {src => applications/browser-extension/src}/testUtils/factories/deploymentFactories.ts (84%) rename {src => applications/browser-extension/src}/testUtils/factories/domFactories.ts (100%) rename {src => applications/browser-extension/src}/testUtils/factories/featureFlagFactories.ts (95%) rename {src => applications/browser-extension/src}/testUtils/factories/integrationFactories.ts (89%) rename {src => applications/browser-extension/src}/testUtils/factories/logFactories.ts (87%) rename {src => applications/browser-extension/src}/testUtils/factories/marketplaceFactories.ts (87%) rename {src => applications/browser-extension/src}/testUtils/factories/messengerFactories.ts (100%) rename {src => applications/browser-extension/src}/testUtils/factories/metadataFactory.ts (87%) rename {src => applications/browser-extension/src}/testUtils/factories/milestoneFactories.ts (94%) rename {src => applications/browser-extension/src}/testUtils/factories/modComponentFactories.ts (84%) rename {src => applications/browser-extension/src}/testUtils/factories/modDefinitionFactories.ts (89%) rename {src => applications/browser-extension/src}/testUtils/factories/modInstanceFactories.ts (79%) rename {src => applications/browser-extension/src}/testUtils/factories/modViewItemFactory.ts (88%) rename {src => applications/browser-extension/src}/testUtils/factories/organizationFactories.ts (91%) rename {src => applications/browser-extension/src}/testUtils/factories/pageEditorFactories.ts (85%) rename {src => applications/browser-extension/src}/testUtils/factories/registryFactories.ts (87%) rename {src => applications/browser-extension/src}/testUtils/factories/runtimeFactories.ts (84%) rename {src => applications/browser-extension/src}/testUtils/factories/selectorFactories.ts (93%) rename {src => applications/browser-extension/src}/testUtils/factories/sidebarEntryFactories.ts (92%) rename {src => applications/browser-extension/src}/testUtils/factories/stringFactories.ts (94%) rename {src => applications/browser-extension/src}/testUtils/factories/traceFactories.ts (86%) rename {src => applications/browser-extension/src}/testUtils/formHelpers.tsx (94%) rename {src => applications/browser-extension/src}/testUtils/injectRegistries.ts (87%) rename {src => applications/browser-extension/src}/testUtils/permissionsMock.ts (94%) rename {src => applications/browser-extension/src}/testUtils/platformMock.ts (88%) rename {src => applications/browser-extension/src}/testUtils/rawJestTransformer.mjs (100%) rename {src => applications/browser-extension/src}/testUtils/readme.md (100%) rename {src => applications/browser-extension/src}/testUtils/renderWithCommonStore.ts (83%) rename {src => applications/browser-extension/src}/testUtils/rtkQueryFactories.ts (100%) rename {src => applications/browser-extension/src}/testUtils/storyUtils.ts (80%) rename {src => applications/browser-extension/src}/testUtils/testAfterEnv.ts (100%) rename {src => applications/browser-extension/src}/testUtils/testEnv.js (100%) rename {src => applications/browser-extension/src}/testUtils/testHelpers.tsx (100%) rename {src => applications/browser-extension/src}/testUtils/testItRenders.tsx (100%) rename {src => applications/browser-extension/src}/testUtils/testMiddleware.ts (100%) rename {src => applications/browser-extension/src}/testUtils/userEventHelpers.ts (100%) rename {src => applications/browser-extension/src}/testUtils/userMock.ts (85%) rename {src => applications/browser-extension/src}/themes/colors.scss (100%) rename {src => applications/browser-extension/src}/themes/light.ts (100%) rename {src => applications/browser-extension/src}/themes/themeStore.test.ts (91%) rename {src => applications/browser-extension/src}/themes/themeStore.ts (84%) rename {src => applications/browser-extension/src}/themes/themeTypes.ts (100%) rename {src => applications/browser-extension/src}/themes/themeUtils.ts (90%) rename {src => applications/browser-extension/src}/tinyPages/RestrictedUrlPopupApp.tsx (90%) rename {src => applications/browser-extension/src}/tinyPages/devtools.html (100%) rename {src => applications/browser-extension/src}/tinyPages/devtools.ts (92%) rename {src => applications/browser-extension/src}/tinyPages/ephemeralForm.html (100%) rename {src => applications/browser-extension/src}/tinyPages/ephemeralForm.tsx (100%) rename {src => applications/browser-extension/src}/tinyPages/ephemeralModal.scss (100%) rename {src => applications/browser-extension/src}/tinyPages/ephemeralPanel.html (100%) rename {src => applications/browser-extension/src}/tinyPages/ephemeralPanel.tsx (100%) rename {src => applications/browser-extension/src}/tinyPages/frame.html (100%) rename {src => applications/browser-extension/src}/tinyPages/frame.ts (93%) rename {src => applications/browser-extension/src}/tinyPages/offscreen.html (100%) rename {src => applications/browser-extension/src}/tinyPages/offscreen.ts (98%) rename {src => applications/browser-extension/src}/tinyPages/offscreenDocumentController.ts (97%) rename {src => applications/browser-extension/src}/tinyPages/offscreenProtocol.ts (96%) rename {src => applications/browser-extension/src}/tinyPages/restrictedUrlPopup.html (100%) rename {src => applications/browser-extension/src}/tinyPages/restrictedUrlPopup.tsx (100%) rename {src => applications/browser-extension/src}/tinyPages/restrictedUrlPopupConstants.ts (100%) rename {src => applications/browser-extension/src}/tinyPages/restrictedUrlPopupUtils.ts (94%) rename {src => applications/browser-extension/src}/tinyPages/walkthroughModal.html (100%) rename {src => applications/browser-extension/src}/tinyPages/walkthroughModal.tsx (100%) rename {src => applications/browser-extension/src}/types/annotationTypes.ts (100%) rename {src => applications/browser-extension/src}/types/availabilityTypes.ts (100%) rename {src => applications/browser-extension/src}/types/brickTypes.ts (94%) rename {src => applications/browser-extension/src}/types/bricks/effectTypes.ts (90%) rename {src => applications/browser-extension/src}/types/bricks/readerTypes.ts (89%) rename {src => applications/browser-extension/src}/types/bricks/rendererTypes.ts (89%) rename {src => applications/browser-extension/src}/types/bricks/transformerTypes.ts (90%) rename {src => applications/browser-extension/src}/types/browserTypes.ts (100%) rename {src => applications/browser-extension/src}/types/contract.ts (95%) rename {src => applications/browser-extension/src}/types/deploymentTypes.ts (93%) rename {src => applications/browser-extension/src}/types/helpers.test.ts (98%) rename {src => applications/browser-extension/src}/types/helpers.ts (98%) rename {src => applications/browser-extension/src}/types/iconTypes.ts (100%) rename {src => applications/browser-extension/src}/types/inputTypes.ts (100%) rename {src => applications/browser-extension/src}/types/loggerTypes.ts (95%) rename {src => applications/browser-extension/src}/types/messengerTypes.ts (100%) rename {src => applications/browser-extension/src}/types/modComponentTypes.ts (96%) rename {src => applications/browser-extension/src}/types/modDefinitionTypes.ts (96%) rename {src => applications/browser-extension/src}/types/modInstanceTypes.ts (90%) rename {src => applications/browser-extension/src}/types/modTypes.ts (88%) rename {src => applications/browser-extension/src}/types/networkTypes.ts (100%) rename {src => applications/browser-extension/src}/types/reactDragAndDropNext.d.ts (99%) rename {src => applications/browser-extension/src}/types/reactTableConfig.d.ts (100%) rename {src => applications/browser-extension/src}/types/registryTypes.ts (96%) rename {src => applications/browser-extension/src}/types/rendererTypes.ts (89%) rename {src => applications/browser-extension/src}/types/runtimeTypes.ts (96%) rename {src => applications/browser-extension/src}/types/schemaTypes.ts (100%) rename {src => applications/browser-extension/src}/types/sidebarTypes.ts (93%) rename {src => applications/browser-extension/src}/types/sliceTypes.ts (100%) rename {src => applications/browser-extension/src}/types/starterBrickTypes.ts (92%) rename {src => applications/browser-extension/src}/types/stringTypes.ts (100%) rename {src => applications/browser-extension/src}/types/swagger.ts (99%) rename {src => applications/browser-extension/src}/urlConstants.ts (100%) rename {src => applications/browser-extension/src}/utils/ConsoleLogger.ts (96%) rename {src => applications/browser-extension/src}/utils/SimpleEventTarget.test.ts (100%) rename {src => applications/browser-extension/src}/utils/SimpleEventTarget.ts (100%) rename {src => applications/browser-extension/src}/utils/a11yUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/arrayUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/asyncStateUtils.test.ts (99%) rename {src => applications/browser-extension/src}/utils/asyncStateUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/browserUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/cachePromise.test.ts (98%) rename {src => applications/browser-extension/src}/utils/cachePromise.ts (100%) rename {src => applications/browser-extension/src}/utils/canvasUtils.test.ts (96%) rename {src => applications/browser-extension/src}/utils/canvasUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/castError.test.ts (97%) rename {src => applications/browser-extension/src}/utils/castError.ts (100%) rename {src => applications/browser-extension/src}/utils/clipboardUtils.ts (93%) rename {src => applications/browser-extension/src}/utils/debugUtils.test.ts (95%) rename {src => applications/browser-extension/src}/utils/debugUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/deploymentUtils.test.ts (94%) rename {src => applications/browser-extension/src}/utils/deploymentUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/detectRandomString.test.ts (100%) rename {src => applications/browser-extension/src}/utils/detectRandomString.ts (96%) rename {src => applications/browser-extension/src}/utils/domFieldUtils.test.ts (100%) rename {src => applications/browser-extension/src}/utils/domFieldUtils.ts (92%) rename {src => applications/browser-extension/src}/utils/domUtils.test.ts (99%) rename {src => applications/browser-extension/src}/utils/domUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/editorUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/enrichAxiosErrors.ts (87%) rename {src => applications/browser-extension/src}/utils/expectContext.ts (100%) rename {src => applications/browser-extension/src}/utils/expressionUtils.test.ts (98%) rename {src => applications/browser-extension/src}/utils/expressionUtils.ts (99%) rename {src => applications/browser-extension/src}/utils/extensionUtils.test.ts (95%) rename {src => applications/browser-extension/src}/utils/extensionUtils.ts (98%) rename {src => applications/browser-extension/src}/utils/focusController.ts (100%) rename {src => applications/browser-extension/src}/utils/focusTracker.ts (91%) rename {src => applications/browser-extension/src}/utils/formUtils.test.ts (97%) rename {src => applications/browser-extension/src}/utils/formUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/getOptionsArgForFieldValue.test.ts (93%) rename {src => applications/browser-extension/src}/utils/getOptionsArgForFieldValue.ts (95%) rename {src => applications/browser-extension/src}/utils/global.scss (100%) rename {src => applications/browser-extension/src}/utils/idbUtils.test.ts (97%) rename {src => applications/browser-extension/src}/utils/idbUtils.ts (96%) rename {src => applications/browser-extension/src}/utils/iframeUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/imageUtils.ts (96%) rename {src => applications/browser-extension/src}/utils/inference/inferSingleElementSelector.test.ts (96%) rename {src => applications/browser-extension/src}/utils/inference/inferSingleElementSelector.ts (95%) rename {src => applications/browser-extension/src}/utils/inference/markupInference.test.tsx (100%) rename {src => applications/browser-extension/src}/utils/inference/markupInference.ts (97%) rename {src => applications/browser-extension/src}/utils/inference/selectorInference.test.ts (99%) rename {src => applications/browser-extension/src}/utils/inference/selectorInference.ts (97%) rename {src => applications/browser-extension/src}/utils/inference/selectorInferenceUtils.test.ts (91%) rename {src => applications/browser-extension/src}/utils/inference/selectorInferenceUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/inference/selectorTypes.ts (100%) rename {src => applications/browser-extension/src}/utils/inference/siteSelectorHints.ts (98%) rename {src => applications/browser-extension/src}/utils/injectIframe.test.tsx (100%) rename {src => applications/browser-extension/src}/utils/injectIframe.tsx (97%) rename {src => applications/browser-extension/src}/utils/injectScriptTag.tsx (100%) rename {src => applications/browser-extension/src}/utils/injectStylesheet.tsx (96%) rename {src => applications/browser-extension/src}/utils/layout.scss (100%) rename {src => applications/browser-extension/src}/utils/legacyMessengerUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/mathUtils.test.ts (98%) rename {src => applications/browser-extension/src}/utils/mathUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/modUtils.test.ts (95%) rename {src => applications/browser-extension/src}/utils/modUtils.ts (95%) rename {src => applications/browser-extension/src}/utils/notificationTypes.ts (100%) rename {src => applications/browser-extension/src}/utils/notify.module.scss (100%) rename {src => applications/browser-extension/src}/utils/notify.stories.tsx (96%) rename {src => applications/browser-extension/src}/utils/notify.tsx (94%) rename {src => applications/browser-extension/src}/utils/nullishUtils.test.ts (96%) rename {src => applications/browser-extension/src}/utils/nullishUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/objToYaml.test.ts (100%) rename {src => applications/browser-extension/src}/utils/objToYaml.ts (93%) rename {src => applications/browser-extension/src}/utils/objectUtils.test.ts (97%) rename {src => applications/browser-extension/src}/utils/objectUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/openAllLinksInPopups.ts (100%) rename {src => applications/browser-extension/src}/utils/parseDataUrl.test.ts (100%) rename {src => applications/browser-extension/src}/utils/parseDataUrl.ts (100%) rename {src => applications/browser-extension/src}/utils/parseDefinitionList.test.ts (100%) rename {src => applications/browser-extension/src}/utils/parseDefinitionList.ts (100%) rename {src => applications/browser-extension/src}/utils/parseDomTable.test.ts (100%) rename {src => applications/browser-extension/src}/utils/parseDomTable.ts (100%) rename {src => applications/browser-extension/src}/utils/pluralize.ts (100%) rename {src => applications/browser-extension/src}/utils/preventNativeFormSubmission.ts (100%) rename {src => applications/browser-extension/src}/utils/promiseUtils.test.ts (98%) rename {src => applications/browser-extension/src}/utils/promiseUtils.ts (99%) rename {src => applications/browser-extension/src}/utils/reactUtils.tsx (100%) rename {src => applications/browser-extension/src}/utils/registryUtils.test.ts (96%) rename {src => applications/browser-extension/src}/utils/registryUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/sanitize.ts (100%) rename {src => applications/browser-extension/src}/utils/schemaUtils.test.ts (99%) rename {src => applications/browser-extension/src}/utils/schemaUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/selectionController.ts (97%) rename {src => applications/browser-extension/src}/utils/shadowWrap.ts (100%) rename {src => applications/browser-extension/src}/utils/sidePanelUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/storageUtils.ts (98%) rename {src => applications/browser-extension/src}/utils/stringUtils.test.ts (99%) rename {src => applications/browser-extension/src}/utils/stringUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/textAreaUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/themes.scss (100%) rename {src => applications/browser-extension/src}/utils/timeUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/typeUtils.ts (100%) rename {src => applications/browser-extension/src}/utils/urlUtils.test.ts (98%) rename {src => applications/browser-extension/src}/utils/urlUtils.ts (97%) rename {src => applications/browser-extension/src}/utils/variableUtils.test.ts (95%) rename {src => applications/browser-extension/src}/utils/variableUtils.ts (98%) rename {src => applications/browser-extension/src}/validators/formValidator.test.ts (99%) rename {src => applications/browser-extension/src}/validators/formValidator.ts (97%) rename {src => applications/browser-extension/src}/validators/schemaValidator.test.ts (85%) rename {src => applications/browser-extension/src}/validators/schemaValidator.ts (93%) rename {src => applications/browser-extension/src}/vendors/Overlay.tsx (100%) rename {src => applications/browser-extension/src}/vendors/bootstrapWithoutRem.css (100%) rename {src => applications/browser-extension/src}/vendors/encodings.ts (100%) rename {src => applications/browser-extension/src}/vendors/hoverintent.d.ts (100%) rename {src => applications/browser-extension/src}/vendors/hoverintent.js (100%) rename {src => applications/browser-extension/src}/vendors/intro.js/introjs.scss (100%) rename {src => applications/browser-extension/src}/vendors/jQueryInitialize.d.ts (100%) rename {src => applications/browser-extension/src}/vendors/jQueryInitialize.js (100%) rename {src => applications/browser-extension/src}/vendors/mixpanelBrowser.ts (100%) rename {src => applications/browser-extension/src}/vendors/page-metadata-parser/parser.d.ts (100%) rename {src => applications/browser-extension/src}/vendors/page-metadata-parser/parser.js (100%) rename {src => applications/browser-extension/src}/vendors/page-metadata-parser/url-utils.js (100%) rename {src => applications/browser-extension/src}/vendors/pkce.ts (100%) rename {src => applications/browser-extension/src}/vendors/process.js (100%) rename {src => applications/browser-extension/src}/vendors/randomStringDetection/LICENSE (100%) rename {src => applications/browser-extension/src}/vendors/randomStringDetection/detector.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/constants/globalOption.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/getDisplayName.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/getPatchedComponent.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/perf.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/perfTypes.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/readme.md (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/store.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/isClassComponent.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/isForwardRefComponent.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/isFunctionComponent.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/isMemoComponent.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/pushTask.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/shouldTrack.ts (100%) rename {src => applications/browser-extension/src}/vendors/reactPerformanceTesting/utils/symbols.ts (100%) rename {src => applications/browser-extension/src}/vendors/theme/app/app.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_background.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_base-colors.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_dashboard.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_demo.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_footer.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_functions.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_layout.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_misc.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_navbar.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_reset.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_responsive.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_settings-panel.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_sidebar.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_spinner.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_typography.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_utilities.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/_variables.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_accordions.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_badges.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_bootstrap-alerts.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_bootstrap-progress.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_breadcrumbs.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_buttons.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_cards.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_chats.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_checkbox-radio.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_dropdowns.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_forms.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_icons.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_kanban.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_landing.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_lists.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_pagination.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_popovers.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_portfolio.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_preview.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_pricing-table.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_product-tile.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_project-list.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_react-table.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_spinner.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_tables.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_tabs.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_tickets.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_timeline.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_todo-list.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_tooltips.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_user-listing.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_user-profile.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/_widgets.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/email/_mail-list-container.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/email/_mail-sidebar.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/email/_message-content.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/landing-screens/_auth.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_bar-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_circle-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_colored-balls.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_dot-opacity-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_flip-square-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_glowing-ball.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_jumping-dots-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_loaders.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_moving-square-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_pixel-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_square-box.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_square-path-loader.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/loaders/_variables.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_contex-menu.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_date-picker.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_full-calendar.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_jquery-jvectormap.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_no-ui-slider.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_rating.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_react-bootstrap-table.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_react-photo-gallery.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_react-table.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_react-tag-autocomplete.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_slick-carousel.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_sweet-alert.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/components/plugin-overrides/_wizard.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_animation.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_badges.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_blockqoute.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_buttons.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_cards.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_color-functions.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_misc.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_no-ui-slider.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_popovers.scss (100%) rename {src => applications/browser-extension/src}/vendors/theme/assets/styles/mixins/_tooltips.scss (100%) rename {static => applications/browser-extension/static}/audio/applause.mp3 (100%) rename {static => applications/browser-extension/static}/audio/doorbell.mp3 (100%) rename {static => applications/browser-extension/static}/audio/magic-wand.mp3 (100%) rename {static => applications/browser-extension/static}/audio/sad-trombone.mp3 (100%) rename {static => applications/browser-extension/static}/audio/success.mp3 (100%) rename {static => applications/browser-extension/static}/background.worker.js (100%) rename {static => applications/browser-extension/static}/backgroundCanary.js (100%) rename {static => applications/browser-extension/static}/icons/beta/logo128.png (100%) rename {static => applications/browser-extension/static}/icons/beta/logo16.png (100%) rename {static => applications/browser-extension/static}/icons/beta/logo32.png (100%) rename {static => applications/browser-extension/static}/icons/beta/logo48.png (100%) rename {static => applications/browser-extension/static}/icons/inactive/logo128.png (100%) rename {static => applications/browser-extension/static}/icons/inactive/logo16.png (100%) rename {static => applications/browser-extension/static}/icons/inactive/logo32.png (100%) rename {static => applications/browser-extension/static}/icons/inactive/logo48.png (100%) rename {static => applications/browser-extension/static}/icons/logo128.png (100%) rename {static => applications/browser-extension/static}/icons/logo16.png (100%) rename {static => applications/browser-extension/static}/icons/logo32.png (100%) rename {static => applications/browser-extension/static}/icons/logo48.png (100%) rename {static => applications/browser-extension/static}/img/fa-check-circle-solid-custom.svg (100%) rename {static => applications/browser-extension/static}/img/fa-circle-solid-loading-custom.svg (100%) rename {static => applications/browser-extension/static}/img/fa-exclamation-circle-custom.svg (100%) rename {static => applications/browser-extension/static}/img/fa-exclamation-triangle-custom.svg (100%) rename {static => applications/browser-extension/static}/img/fa-minus-circle-solid-custom.svg (100%) rename {static => applications/browser-extension/static}/img/google_sheets.svg (100%) rename {static => applications/browser-extension/static}/img/slack.svg (100%) rename {static => applications/browser-extension/static}/img/zapier.svg (100%) rename {static => applications/browser-extension/static}/loadFonts.js (100%) rename {static => applications/browser-extension/static}/loadingScreen.css (100%) rename {static => applications/browser-extension/static}/loadingScreen.js (100%) rename {static => applications/browser-extension/static}/managedStorageSchema.json (100%) rename tsconfig.json => applications/browser-extension/tsconfig.json (100%) create mode 100644 applications/browser-extension/tsconfig.tsbuildinfo rename webpack.config.mjs => applications/browser-extension/webpack.config.mjs (98%) rename webpack.sharedConfig.js => applications/browser-extension/webpack.sharedConfig.js (100%) diff --git a/.gitignore b/.gitignore index 2933526ee9..3db571a2a4 100644 --- a/.gitignore +++ b/.gitignore @@ -54,11 +54,11 @@ pixiebrix-extension-*.zip storybook-static # Playwright -/end-to-end-tests/.output/ -/end-to-end-tests/.report/ -/end-to-end-tests/.blob-report/ -/end-to-end-tests/.auth/ +/applications/browser-extension/end-to-end-tests/.output/ +/applications/browser-extension/end-to-end-tests/.report/ +/applications/browser-extension/end-to-end-tests/.blob-report/ +/applications/browser-extension/end-to-end-tests/.auth/ /playwright/.cache/ -/end-to-end-tests/blob-report.7z +/applications/browser-extension/end-to-end-tests/blob-report.7z /playwright-report/ .playwright-report/ diff --git a/.eslintignore b/applications/browser-extension/.eslintignore similarity index 100% rename from .eslintignore rename to applications/browser-extension/.eslintignore diff --git a/.eslintrc.js b/applications/browser-extension/.eslintrc.js similarity index 100% rename from .eslintrc.js rename to applications/browser-extension/.eslintrc.js diff --git a/.storybook/main.js b/applications/browser-extension/.storybook/main.js similarity index 100% rename from .storybook/main.js rename to applications/browser-extension/.storybook/main.js diff --git a/.storybook/preview-body.html b/applications/browser-extension/.storybook/preview-body.html similarity index 100% rename from .storybook/preview-body.html rename to applications/browser-extension/.storybook/preview-body.html diff --git a/.storybook/preview.js b/applications/browser-extension/.storybook/preview.js similarity index 100% rename from .storybook/preview.js rename to applications/browser-extension/.storybook/preview.js diff --git a/contrib/bricks/amazon-search.yaml b/applications/browser-extension/contrib/bricks/amazon-search.yaml similarity index 100% rename from contrib/bricks/amazon-search.yaml rename to applications/browser-extension/contrib/bricks/amazon-search.yaml diff --git a/contrib/bricks/duckduckgo-search.yaml b/applications/browser-extension/contrib/bricks/duckduckgo-search.yaml similarity index 100% rename from contrib/bricks/duckduckgo-search.yaml rename to applications/browser-extension/contrib/bricks/duckduckgo-search.yaml diff --git a/contrib/bricks/ebay-search.yaml b/applications/browser-extension/contrib/bricks/ebay-search.yaml similarity index 100% rename from contrib/bricks/ebay-search.yaml rename to applications/browser-extension/contrib/bricks/ebay-search.yaml diff --git a/contrib/bricks/google-scholar-table.yaml b/applications/browser-extension/contrib/bricks/google-scholar-table.yaml similarity index 100% rename from contrib/bricks/google-scholar-table.yaml rename to applications/browser-extension/contrib/bricks/google-scholar-table.yaml diff --git a/contrib/bricks/google-search.yaml b/applications/browser-extension/contrib/bricks/google-search.yaml similarity index 100% rename from contrib/bricks/google-search.yaml rename to applications/browser-extension/contrib/bricks/google-search.yaml diff --git a/contrib/bricks/hackernews.yaml b/applications/browser-extension/contrib/bricks/hackernews.yaml similarity index 100% rename from contrib/bricks/hackernews.yaml rename to applications/browser-extension/contrib/bricks/hackernews.yaml diff --git a/contrib/bricks/hubspot-contact-timeline.yaml b/applications/browser-extension/contrib/bricks/hubspot-contact-timeline.yaml similarity index 100% rename from contrib/bricks/hubspot-contact-timeline.yaml rename to applications/browser-extension/contrib/bricks/hubspot-contact-timeline.yaml diff --git a/contrib/bricks/hubspot-person-search.yaml b/applications/browser-extension/contrib/bricks/hubspot-person-search.yaml similarity index 100% rename from contrib/bricks/hubspot-person-search.yaml rename to applications/browser-extension/contrib/bricks/hubspot-person-search.yaml diff --git a/contrib/bricks/linkedin-search.yaml b/applications/browser-extension/contrib/bricks/linkedin-search.yaml similarity index 100% rename from contrib/bricks/linkedin-search.yaml rename to applications/browser-extension/contrib/bricks/linkedin-search.yaml diff --git a/contrib/bricks/nytimes-org.yaml b/applications/browser-extension/contrib/bricks/nytimes-org.yaml similarity index 100% rename from contrib/bricks/nytimes-org.yaml rename to applications/browser-extension/contrib/bricks/nytimes-org.yaml diff --git a/contrib/bricks/pipedrive-person-activity.yaml b/applications/browser-extension/contrib/bricks/pipedrive-person-activity.yaml similarity index 100% rename from contrib/bricks/pipedrive-person-activity.yaml rename to applications/browser-extension/contrib/bricks/pipedrive-person-activity.yaml diff --git a/contrib/bricks/quora-search.yaml b/applications/browser-extension/contrib/bricks/quora-search.yaml similarity index 100% rename from contrib/bricks/quora-search.yaml rename to applications/browser-extension/contrib/bricks/quora-search.yaml diff --git a/contrib/bricks/reddit-search.yaml b/applications/browser-extension/contrib/bricks/reddit-search.yaml similarity index 100% rename from contrib/bricks/reddit-search.yaml rename to applications/browser-extension/contrib/bricks/reddit-search.yaml diff --git a/contrib/bricks/yelp-search.yaml b/applications/browser-extension/contrib/bricks/yelp-search.yaml similarity index 100% rename from contrib/bricks/yelp-search.yaml rename to applications/browser-extension/contrib/bricks/yelp-search.yaml diff --git a/contrib/bricks/youtube-search.yaml b/applications/browser-extension/contrib/bricks/youtube-search.yaml similarity index 100% rename from contrib/bricks/youtube-search.yaml rename to applications/browser-extension/contrib/bricks/youtube-search.yaml diff --git a/contrib/bricks/youtube.yaml b/applications/browser-extension/contrib/bricks/youtube.yaml similarity index 100% rename from contrib/bricks/youtube.yaml rename to applications/browser-extension/contrib/bricks/youtube.yaml diff --git a/contrib/integrations/automation-anywhere-oauth2.yaml b/applications/browser-extension/contrib/integrations/automation-anywhere-oauth2.yaml similarity index 100% rename from contrib/integrations/automation-anywhere-oauth2.yaml rename to applications/browser-extension/contrib/integrations/automation-anywhere-oauth2.yaml diff --git a/contrib/integrations/automation-anywhere.yaml b/applications/browser-extension/contrib/integrations/automation-anywhere.yaml similarity index 100% rename from contrib/integrations/automation-anywhere.yaml rename to applications/browser-extension/contrib/integrations/automation-anywhere.yaml diff --git a/contrib/integrations/google-bigquery-dataset.yaml b/applications/browser-extension/contrib/integrations/google-bigquery-dataset.yaml similarity index 100% rename from contrib/integrations/google-bigquery-dataset.yaml rename to applications/browser-extension/contrib/integrations/google-bigquery-dataset.yaml diff --git a/contrib/integrations/google-geocode.yaml b/applications/browser-extension/contrib/integrations/google-geocode.yaml similarity index 100% rename from contrib/integrations/google-geocode.yaml rename to applications/browser-extension/contrib/integrations/google-geocode.yaml diff --git a/contrib/integrations/google-oauth2-pkce.yaml b/applications/browser-extension/contrib/integrations/google-oauth2-pkce.yaml similarity index 100% rename from contrib/integrations/google-oauth2-pkce.yaml rename to applications/browser-extension/contrib/integrations/google-oauth2-pkce.yaml diff --git a/contrib/integrations/google-sheet.yaml b/applications/browser-extension/contrib/integrations/google-sheet.yaml similarity index 100% rename from contrib/integrations/google-sheet.yaml rename to applications/browser-extension/contrib/integrations/google-sheet.yaml diff --git a/contrib/integrations/greenhouse.yaml b/applications/browser-extension/contrib/integrations/greenhouse.yaml similarity index 100% rename from contrib/integrations/greenhouse.yaml rename to applications/browser-extension/contrib/integrations/greenhouse.yaml diff --git a/contrib/integrations/hubspot.yaml b/applications/browser-extension/contrib/integrations/hubspot.yaml similarity index 100% rename from contrib/integrations/hubspot.yaml rename to applications/browser-extension/contrib/integrations/hubspot.yaml diff --git a/contrib/integrations/hunter.yaml b/applications/browser-extension/contrib/integrations/hunter.yaml similarity index 100% rename from contrib/integrations/hunter.yaml rename to applications/browser-extension/contrib/integrations/hunter.yaml diff --git a/contrib/integrations/microsoft-oauth2-pkce.yaml b/applications/browser-extension/contrib/integrations/microsoft-oauth2-pkce.yaml similarity index 100% rename from contrib/integrations/microsoft-oauth2-pkce.yaml rename to applications/browser-extension/contrib/integrations/microsoft-oauth2-pkce.yaml diff --git a/contrib/integrations/nytimes.yaml b/applications/browser-extension/contrib/integrations/nytimes.yaml similarity index 100% rename from contrib/integrations/nytimes.yaml rename to applications/browser-extension/contrib/integrations/nytimes.yaml diff --git a/contrib/integrations/pipedrive.yaml b/applications/browser-extension/contrib/integrations/pipedrive.yaml similarity index 100% rename from contrib/integrations/pipedrive.yaml rename to applications/browser-extension/contrib/integrations/pipedrive.yaml diff --git a/contrib/integrations/pixiebrix.yaml b/applications/browser-extension/contrib/integrations/pixiebrix.yaml similarity index 100% rename from contrib/integrations/pixiebrix.yaml rename to applications/browser-extension/contrib/integrations/pixiebrix.yaml diff --git a/contrib/integrations/rapidapi.yaml b/applications/browser-extension/contrib/integrations/rapidapi.yaml similarity index 100% rename from contrib/integrations/rapidapi.yaml rename to applications/browser-extension/contrib/integrations/rapidapi.yaml diff --git a/contrib/integrations/salesforce.yaml b/applications/browser-extension/contrib/integrations/salesforce.yaml similarity index 100% rename from contrib/integrations/salesforce.yaml rename to applications/browser-extension/contrib/integrations/salesforce.yaml diff --git a/contrib/integrations/serpapi.yaml b/applications/browser-extension/contrib/integrations/serpapi.yaml similarity index 100% rename from contrib/integrations/serpapi.yaml rename to applications/browser-extension/contrib/integrations/serpapi.yaml diff --git a/contrib/integrations/slack-hook.yaml b/applications/browser-extension/contrib/integrations/slack-hook.yaml similarity index 100% rename from contrib/integrations/slack-hook.yaml rename to applications/browser-extension/contrib/integrations/slack-hook.yaml diff --git a/contrib/integrations/uipath.yaml b/applications/browser-extension/contrib/integrations/uipath.yaml similarity index 100% rename from contrib/integrations/uipath.yaml rename to applications/browser-extension/contrib/integrations/uipath.yaml diff --git a/contrib/raw/hunter.txt b/applications/browser-extension/contrib/raw/hunter.txt similarity index 100% rename from contrib/raw/hunter.txt rename to applications/browser-extension/contrib/raw/hunter.txt diff --git a/contrib/readers/apartments-reader.yaml b/applications/browser-extension/contrib/readers/apartments-reader.yaml similarity index 100% rename from contrib/readers/apartments-reader.yaml rename to applications/browser-extension/contrib/readers/apartments-reader.yaml diff --git a/contrib/readers/empty-jquery-reader.yaml b/applications/browser-extension/contrib/readers/empty-jquery-reader.yaml similarity index 100% rename from contrib/readers/empty-jquery-reader.yaml rename to applications/browser-extension/contrib/readers/empty-jquery-reader.yaml diff --git a/contrib/readers/linkedin-contact-reader.yaml b/applications/browser-extension/contrib/readers/linkedin-contact-reader.yaml similarity index 100% rename from contrib/readers/linkedin-contact-reader.yaml rename to applications/browser-extension/contrib/readers/linkedin-contact-reader.yaml diff --git a/contrib/readers/linkedin-organization-reader.yaml b/applications/browser-extension/contrib/readers/linkedin-organization-reader.yaml similarity index 100% rename from contrib/readers/linkedin-organization-reader.yaml rename to applications/browser-extension/contrib/readers/linkedin-organization-reader.yaml diff --git a/contrib/readers/linkedin-profile-reader.yaml b/applications/browser-extension/contrib/readers/linkedin-profile-reader.yaml similarity index 100% rename from contrib/readers/linkedin-profile-reader.yaml rename to applications/browser-extension/contrib/readers/linkedin-profile-reader.yaml diff --git a/contrib/readers/redfin-reader.yaml b/applications/browser-extension/contrib/readers/redfin-reader.yaml similarity index 100% rename from contrib/readers/redfin-reader.yaml rename to applications/browser-extension/contrib/readers/redfin-reader.yaml diff --git a/contrib/readers/trello-card-reader.yaml b/applications/browser-extension/contrib/readers/trello-card-reader.yaml similarity index 100% rename from contrib/readers/trello-card-reader.yaml rename to applications/browser-extension/contrib/readers/trello-card-reader.yaml diff --git a/contrib/readers/zillow-reader.yaml b/applications/browser-extension/contrib/readers/zillow-reader.yaml similarity index 100% rename from contrib/readers/zillow-reader.yaml rename to applications/browser-extension/contrib/readers/zillow-reader.yaml diff --git a/contrib/recipes/apartments-sheets.yaml b/applications/browser-extension/contrib/recipes/apartments-sheets.yaml similarity index 100% rename from contrib/recipes/apartments-sheets.yaml rename to applications/browser-extension/contrib/recipes/apartments-sheets.yaml diff --git a/contrib/recipes/apartments-slack.yaml b/applications/browser-extension/contrib/recipes/apartments-slack.yaml similarity index 100% rename from contrib/recipes/apartments-slack.yaml rename to applications/browser-extension/contrib/recipes/apartments-slack.yaml diff --git a/contrib/recipes/contextMenus/amazon.yaml b/applications/browser-extension/contrib/recipes/contextMenus/amazon.yaml similarity index 100% rename from contrib/recipes/contextMenus/amazon.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/amazon.yaml diff --git a/contrib/recipes/contextMenus/duckduckgo.yaml b/applications/browser-extension/contrib/recipes/contextMenus/duckduckgo.yaml similarity index 100% rename from contrib/recipes/contextMenus/duckduckgo.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/duckduckgo.yaml diff --git a/contrib/recipes/contextMenus/ebay.yaml b/applications/browser-extension/contrib/recipes/contextMenus/ebay.yaml similarity index 100% rename from contrib/recipes/contextMenus/ebay.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/ebay.yaml diff --git a/contrib/recipes/contextMenus/google.yaml b/applications/browser-extension/contrib/recipes/contextMenus/google.yaml similarity index 100% rename from contrib/recipes/contextMenus/google.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/google.yaml diff --git a/contrib/recipes/contextMenus/linkedin.yaml b/applications/browser-extension/contrib/recipes/contextMenus/linkedin.yaml similarity index 100% rename from contrib/recipes/contextMenus/linkedin.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/linkedin.yaml diff --git a/contrib/recipes/contextMenus/quora.yaml b/applications/browser-extension/contrib/recipes/contextMenus/quora.yaml similarity index 100% rename from contrib/recipes/contextMenus/quora.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/quora.yaml diff --git a/contrib/recipes/contextMenus/reddit.yaml b/applications/browser-extension/contrib/recipes/contextMenus/reddit.yaml similarity index 100% rename from contrib/recipes/contextMenus/reddit.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/reddit.yaml diff --git a/contrib/recipes/contextMenus/yelp.yaml b/applications/browser-extension/contrib/recipes/contextMenus/yelp.yaml similarity index 100% rename from contrib/recipes/contextMenus/yelp.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/yelp.yaml diff --git a/contrib/recipes/contextMenus/youtube.yaml b/applications/browser-extension/contrib/recipes/contextMenus/youtube.yaml similarity index 100% rename from contrib/recipes/contextMenus/youtube.yaml rename to applications/browser-extension/contrib/recipes/contextMenus/youtube.yaml diff --git a/contrib/recipes/definition-example.yaml b/applications/browser-extension/contrib/recipes/definition-example.yaml similarity index 100% rename from contrib/recipes/definition-example.yaml rename to applications/browser-extension/contrib/recipes/definition-example.yaml diff --git a/contrib/recipes/linkedin-company-news.yaml b/applications/browser-extension/contrib/recipes/linkedin-company-news.yaml similarity index 100% rename from contrib/recipes/linkedin-company-news.yaml rename to applications/browser-extension/contrib/recipes/linkedin-company-news.yaml diff --git a/contrib/recipes/linkedin-google-search.yaml b/applications/browser-extension/contrib/recipes/linkedin-google-search.yaml similarity index 100% rename from contrib/recipes/linkedin-google-search.yaml rename to applications/browser-extension/contrib/recipes/linkedin-google-search.yaml diff --git a/contrib/recipes/linkedin-hubspot.yaml b/applications/browser-extension/contrib/recipes/linkedin-hubspot.yaml similarity index 100% rename from contrib/recipes/linkedin-hubspot.yaml rename to applications/browser-extension/contrib/recipes/linkedin-hubspot.yaml diff --git a/contrib/recipes/linkedin-pipedrive-panel.yaml b/applications/browser-extension/contrib/recipes/linkedin-pipedrive-panel.yaml similarity index 100% rename from contrib/recipes/linkedin-pipedrive-panel.yaml rename to applications/browser-extension/contrib/recipes/linkedin-pipedrive-panel.yaml diff --git a/contrib/recipes/linkedin-salesforce-hunter.yaml b/applications/browser-extension/contrib/recipes/linkedin-salesforce-hunter.yaml similarity index 100% rename from contrib/recipes/linkedin-salesforce-hunter.yaml rename to applications/browser-extension/contrib/recipes/linkedin-salesforce-hunter.yaml diff --git a/contrib/recipes/linkedin-scholar.yaml b/applications/browser-extension/contrib/recipes/linkedin-scholar.yaml similarity index 100% rename from contrib/recipes/linkedin-scholar.yaml rename to applications/browser-extension/contrib/recipes/linkedin-scholar.yaml diff --git a/contrib/recipes/linkedin-slack-person.yaml b/applications/browser-extension/contrib/recipes/linkedin-slack-person.yaml similarity index 100% rename from contrib/recipes/linkedin-slack-person.yaml rename to applications/browser-extension/contrib/recipes/linkedin-slack-person.yaml diff --git a/contrib/recipes/pipedrive-workday.yaml b/applications/browser-extension/contrib/recipes/pipedrive-workday.yaml similarity index 100% rename from contrib/recipes/pipedrive-workday.yaml rename to applications/browser-extension/contrib/recipes/pipedrive-workday.yaml diff --git a/contrib/recipes/redfin-sheets.yaml b/applications/browser-extension/contrib/recipes/redfin-sheets.yaml similarity index 100% rename from contrib/recipes/redfin-sheets.yaml rename to applications/browser-extension/contrib/recipes/redfin-sheets.yaml diff --git a/contrib/recipes/trello-slack.yaml b/applications/browser-extension/contrib/recipes/trello-slack.yaml similarity index 100% rename from contrib/recipes/trello-slack.yaml rename to applications/browser-extension/contrib/recipes/trello-slack.yaml diff --git a/contrib/recipes/v3-example.txt b/applications/browser-extension/contrib/recipes/v3-example.txt similarity index 100% rename from contrib/recipes/v3-example.txt rename to applications/browser-extension/contrib/recipes/v3-example.txt diff --git a/contrib/recipes/v3-optional-services-example.txt b/applications/browser-extension/contrib/recipes/v3-optional-services-example.txt similarity index 100% rename from contrib/recipes/v3-optional-services-example.txt rename to applications/browser-extension/contrib/recipes/v3-optional-services-example.txt diff --git a/contrib/recipes/zillow-sheets.yaml b/applications/browser-extension/contrib/recipes/zillow-sheets.yaml similarity index 100% rename from contrib/recipes/zillow-sheets.yaml rename to applications/browser-extension/contrib/recipes/zillow-sheets.yaml diff --git a/contrib/starterBricks/apartments-property-button.yaml b/applications/browser-extension/contrib/starterBricks/apartments-property-button.yaml similarity index 100% rename from contrib/starterBricks/apartments-property-button.yaml rename to applications/browser-extension/contrib/starterBricks/apartments-property-button.yaml diff --git a/contrib/starterBricks/linkedin-contact-info-button.yaml b/applications/browser-extension/contrib/starterBricks/linkedin-contact-info-button.yaml similarity index 100% rename from contrib/starterBricks/linkedin-contact-info-button.yaml rename to applications/browser-extension/contrib/starterBricks/linkedin-contact-info-button.yaml diff --git a/contrib/starterBricks/linkedin-contact-info-entry.yaml b/applications/browser-extension/contrib/starterBricks/linkedin-contact-info-entry.yaml similarity index 100% rename from contrib/starterBricks/linkedin-contact-info-entry.yaml rename to applications/browser-extension/contrib/starterBricks/linkedin-contact-info-entry.yaml diff --git a/contrib/starterBricks/linkedin-menu-extension.yaml b/applications/browser-extension/contrib/starterBricks/linkedin-menu-extension.yaml similarity index 100% rename from contrib/starterBricks/linkedin-menu-extension.yaml rename to applications/browser-extension/contrib/starterBricks/linkedin-menu-extension.yaml diff --git a/contrib/starterBricks/linkedin-organization-button.yaml b/applications/browser-extension/contrib/starterBricks/linkedin-organization-button.yaml similarity index 100% rename from contrib/starterBricks/linkedin-organization-button.yaml rename to applications/browser-extension/contrib/starterBricks/linkedin-organization-button.yaml diff --git a/contrib/starterBricks/linkedin-organization-panel.yaml b/applications/browser-extension/contrib/starterBricks/linkedin-organization-panel.yaml similarity index 100% rename from contrib/starterBricks/linkedin-organization-panel.yaml rename to applications/browser-extension/contrib/starterBricks/linkedin-organization-panel.yaml diff --git a/contrib/starterBricks/linkedin-person-panel.yaml b/applications/browser-extension/contrib/starterBricks/linkedin-person-panel.yaml similarity index 100% rename from contrib/starterBricks/linkedin-person-panel.yaml rename to applications/browser-extension/contrib/starterBricks/linkedin-person-panel.yaml diff --git a/contrib/starterBricks/pipedrive-deal-panel.yaml b/applications/browser-extension/contrib/starterBricks/pipedrive-deal-panel.yaml similarity index 100% rename from contrib/starterBricks/pipedrive-deal-panel.yaml rename to applications/browser-extension/contrib/starterBricks/pipedrive-deal-panel.yaml diff --git a/contrib/starterBricks/pipedrive-organization-extension.yaml b/applications/browser-extension/contrib/starterBricks/pipedrive-organization-extension.yaml similarity index 100% rename from contrib/starterBricks/pipedrive-organization-extension.yaml rename to applications/browser-extension/contrib/starterBricks/pipedrive-organization-extension.yaml diff --git a/contrib/starterBricks/pipedrive-person-extension.yaml b/applications/browser-extension/contrib/starterBricks/pipedrive-person-extension.yaml similarity index 100% rename from contrib/starterBricks/pipedrive-person-extension.yaml rename to applications/browser-extension/contrib/starterBricks/pipedrive-person-extension.yaml diff --git a/contrib/starterBricks/redfin-button.yaml b/applications/browser-extension/contrib/starterBricks/redfin-button.yaml similarity index 100% rename from contrib/starterBricks/redfin-button.yaml rename to applications/browser-extension/contrib/starterBricks/redfin-button.yaml diff --git a/contrib/starterBricks/selection-search.yaml b/applications/browser-extension/contrib/starterBricks/selection-search.yaml similarity index 100% rename from contrib/starterBricks/selection-search.yaml rename to applications/browser-extension/contrib/starterBricks/selection-search.yaml diff --git a/contrib/starterBricks/trello-card-action.yaml b/applications/browser-extension/contrib/starterBricks/trello-card-action.yaml similarity index 100% rename from contrib/starterBricks/trello-card-action.yaml rename to applications/browser-extension/contrib/starterBricks/trello-card-action.yaml diff --git a/contrib/starterBricks/zillow-button.yaml b/applications/browser-extension/contrib/starterBricks/zillow-button.yaml similarity index 100% rename from contrib/starterBricks/zillow-button.yaml rename to applications/browser-extension/contrib/starterBricks/zillow-button.yaml diff --git a/end-to-end-tests/README.md b/applications/browser-extension/end-to-end-tests/README.md similarity index 100% rename from end-to-end-tests/README.md rename to applications/browser-extension/end-to-end-tests/README.md diff --git a/end-to-end-tests/env.ts b/applications/browser-extension/end-to-end-tests/env.ts similarity index 98% rename from end-to-end-tests/env.ts rename to applications/browser-extension/end-to-end-tests/env.ts index 9f29b74358..6d2603be32 100644 --- a/end-to-end-tests/env.ts +++ b/applications/browser-extension/end-to-end-tests/env.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { loadEnv } from "../scripts/env"; +import { loadEnv } from "../../../scripts/env"; process.env.ENV_FILE ??= ".env.development"; loadEnv(); diff --git a/end-to-end-tests/fixtures/authentication.ts b/applications/browser-extension/end-to-end-tests/fixtures/authentication.ts similarity index 100% rename from end-to-end-tests/fixtures/authentication.ts rename to applications/browser-extension/end-to-end-tests/fixtures/authentication.ts diff --git a/end-to-end-tests/fixtures/environmentCheck.ts b/applications/browser-extension/end-to-end-tests/fixtures/environmentCheck.ts similarity index 100% rename from end-to-end-tests/fixtures/environmentCheck.ts rename to applications/browser-extension/end-to-end-tests/fixtures/environmentCheck.ts diff --git a/end-to-end-tests/fixtures/modDefinitions.ts b/applications/browser-extension/end-to-end-tests/fixtures/modDefinitions.ts similarity index 99% rename from end-to-end-tests/fixtures/modDefinitions.ts rename to applications/browser-extension/end-to-end-tests/fixtures/modDefinitions.ts index ebf3efe73d..5bfcbea589 100644 --- a/end-to-end-tests/fixtures/modDefinitions.ts +++ b/applications/browser-extension/end-to-end-tests/fixtures/modDefinitions.ts @@ -19,7 +19,7 @@ import { expect } from "@playwright/test"; import { test as pageContextFixture } from "./pageContext"; import { WorkshopPage } from "../pageObjects/extensionConsole/workshop/workshopPage"; import { createPatch } from "diff"; -import { dumpBrickYaml, loadBrickYaml } from "@/runtime/brickYaml"; +import { dumpBrickYaml, loadBrickYaml } from "../../src/runtime/brickYaml"; // The mod definitions are a map of mod names to their test metadata type ModDefinitions = Record< diff --git a/end-to-end-tests/fixtures/modDefinitions/README.md b/applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/README.md similarity index 100% rename from end-to-end-tests/fixtures/modDefinitions/README.md rename to applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/README.md diff --git a/end-to-end-tests/fixtures/modDefinitions/brick-actions.yaml b/applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/brick-actions.yaml similarity index 100% rename from end-to-end-tests/fixtures/modDefinitions/brick-actions.yaml rename to applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/brick-actions.yaml diff --git a/end-to-end-tests/fixtures/modDefinitions/brick-configuration.yaml b/applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/brick-configuration.yaml similarity index 100% rename from end-to-end-tests/fixtures/modDefinitions/brick-configuration.yaml rename to applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/brick-configuration.yaml diff --git a/end-to-end-tests/fixtures/modDefinitions/simple-sidebar-panel.yaml b/applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/simple-sidebar-panel.yaml similarity index 100% rename from end-to-end-tests/fixtures/modDefinitions/simple-sidebar-panel.yaml rename to applications/browser-extension/end-to-end-tests/fixtures/modDefinitions/simple-sidebar-panel.yaml diff --git a/end-to-end-tests/fixtures/pageContext.ts b/applications/browser-extension/end-to-end-tests/fixtures/pageContext.ts similarity index 100% rename from end-to-end-tests/fixtures/pageContext.ts rename to applications/browser-extension/end-to-end-tests/fixtures/pageContext.ts diff --git a/end-to-end-tests/fixtures/responses/giphy-search.json b/applications/browser-extension/end-to-end-tests/fixtures/responses/giphy-search.json similarity index 100% rename from end-to-end-tests/fixtures/responses/giphy-search.json rename to applications/browser-extension/end-to-end-tests/fixtures/responses/giphy-search.json diff --git a/end-to-end-tests/fixtures/testBase.ts b/applications/browser-extension/end-to-end-tests/fixtures/testBase.ts similarity index 100% rename from end-to-end-tests/fixtures/testBase.ts rename to applications/browser-extension/end-to-end-tests/fixtures/testBase.ts diff --git a/end-to-end-tests/fixtures/utils.ts b/applications/browser-extension/end-to-end-tests/fixtures/utils.ts similarity index 100% rename from end-to-end-tests/fixtures/utils.ts rename to applications/browser-extension/end-to-end-tests/fixtures/utils.ts diff --git a/end-to-end-tests/pageObjects/basePageObject.ts b/applications/browser-extension/end-to-end-tests/pageObjects/basePageObject.ts similarity index 100% rename from end-to-end-tests/pageObjects/basePageObject.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/basePageObject.ts diff --git a/end-to-end-tests/pageObjects/constants.ts b/applications/browser-extension/end-to-end-tests/pageObjects/constants.ts similarity index 100% rename from end-to-end-tests/pageObjects/constants.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/constants.ts diff --git a/end-to-end-tests/pageObjects/extensionConsole/localIntegrationsPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/localIntegrationsPage.ts similarity index 100% rename from end-to-end-tests/pageObjects/extensionConsole/localIntegrationsPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/localIntegrationsPage.ts diff --git a/end-to-end-tests/pageObjects/extensionConsole/modsPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/modsPage.ts similarity index 98% rename from end-to-end-tests/pageObjects/extensionConsole/modsPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/modsPage.ts index 7ca9d5063b..115bfab34d 100644 --- a/end-to-end-tests/pageObjects/extensionConsole/modsPage.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/modsPage.ts @@ -18,8 +18,8 @@ import { expect, type Page } from "@playwright/test"; import { getBaseExtensionConsoleUrl } from "../constants"; import { BasePageObject } from "../basePageObject"; -import { validateRegistryId } from "@/types/helpers"; -import { API_PATHS, UI_PATHS } from "@/data/service/urlPaths"; +import { validateRegistryId } from "../../../src/types/helpers"; +import { API_PATHS, UI_PATHS } from "../../../src/data/service/urlPaths"; import { DEFAULT_TIMEOUT } from "../../../playwright.config"; export class ModTableItem extends BasePageObject { diff --git a/end-to-end-tests/pageObjects/extensionConsole/workshop/createWorkshopModPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/createWorkshopModPage.ts similarity index 100% rename from end-to-end-tests/pageObjects/extensionConsole/workshop/createWorkshopModPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/createWorkshopModPage.ts diff --git a/end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts similarity index 94% rename from end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts index 16d38d04a2..7694ca6262 100644 --- a/end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage.ts @@ -16,7 +16,7 @@ */ import { WorkshopModEditor } from "./modEditor"; -import { BasePageObject } from "end-to-end-tests/pageObjects/basePageObject"; +import { BasePageObject } from "../../basePageObject"; import { expect } from "@playwright/test"; export class EditWorkshopModPage extends BasePageObject { diff --git a/end-to-end-tests/pageObjects/extensionConsole/workshop/modEditor.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/modEditor.ts similarity index 98% rename from end-to-end-tests/pageObjects/extensionConsole/workshop/modEditor.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/modEditor.ts index 83902a847c..cfa32fb21c 100644 --- a/end-to-end-tests/pageObjects/extensionConsole/workshop/modEditor.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/modEditor.ts @@ -18,7 +18,7 @@ import { expect } from "@playwright/test"; import fs from "node:fs/promises"; import path from "node:path"; -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../../../src/types/helpers"; import { BasePageObject } from "../../basePageObject"; export class WorkshopModEditor extends BasePageObject { diff --git a/end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage.ts similarity index 95% rename from end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage.ts index c1f6a4cee7..ff3b04bb96 100644 --- a/end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage.ts @@ -17,7 +17,7 @@ import { type Page, expect } from "@playwright/test"; import { getBaseExtensionConsoleUrl } from "../../constants"; -import { EditWorkshopModPage } from "end-to-end-tests/pageObjects/extensionConsole/workshop/editWorkshopModPage"; +import { EditWorkshopModPage } from "./editWorkshopModPage"; import { CreateWorkshopModPage } from "./createWorkshopModPage"; import { BasePageObject } from "../../basePageObject"; diff --git a/end-to-end-tests/pageObjects/extensionsShortcutsPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/extensionsShortcutsPage.ts similarity index 99% rename from end-to-end-tests/pageObjects/extensionsShortcutsPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/extensionsShortcutsPage.ts index fe100b92d0..07688eefbd 100644 --- a/end-to-end-tests/pageObjects/extensionsShortcutsPage.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/extensionsShortcutsPage.ts @@ -22,7 +22,7 @@ import { isChrome, isChromium, isMsEdge, -} from "end-to-end-tests/utils"; +} from "../utils"; import { BasePageObject } from "./basePageObject"; import { type SupportedChannel } from "../../playwright.config"; diff --git a/end-to-end-tests/pageObjects/external/googleAuthPopup.ts b/applications/browser-extension/end-to-end-tests/pageObjects/external/googleAuthPopup.ts similarity index 100% rename from end-to-end-tests/pageObjects/external/googleAuthPopup.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/external/googleAuthPopup.ts diff --git a/end-to-end-tests/pageObjects/floatingActionButton.ts b/applications/browser-extension/end-to-end-tests/pageObjects/floatingActionButton.ts similarity index 100% rename from end-to-end-tests/pageObjects/floatingActionButton.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/floatingActionButton.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/brickActionsPanel.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/brickActionsPanel.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/brickActionsPanel.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/brickActionsPanel.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/configurationForm.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/configurationForm.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/configurationForm.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/configurationForm.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/createModModal.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/createModModal.ts similarity index 95% rename from end-to-end-tests/pageObjects/pageEditor/createModModal.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/createModModal.ts index 357d5abcbd..9ba4d31223 100644 --- a/end-to-end-tests/pageObjects/pageEditor/createModModal.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/createModModal.ts @@ -16,9 +16,9 @@ */ import { BasePageObject } from "../basePageObject"; -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../../src/types/stringTypes"; import { ModifiesModFormState } from "./utils"; -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../../src/types/helpers"; export class CreateModModal extends BasePageObject { modIdInput = this.getByTestId("registryId-id-id"); diff --git a/end-to-end-tests/pageObjects/pageEditor/dataPanel.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/dataPanel.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/dataPanel.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/dataPanel.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/deactivateModModal.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/deactivateModModal.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/deactivateModModal.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/deactivateModModal.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/modEditorPane.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/modEditorPane.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/modEditorPane.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/modEditorPane.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/modListingPanel.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/modListingPanel.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/modListingPanel.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/modListingPanel.ts diff --git a/end-to-end-tests/pageObjects/pageEditor/pageEditorPage.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/pageEditorPage.ts similarity index 98% rename from end-to-end-tests/pageObjects/pageEditor/pageEditorPage.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/pageEditorPage.ts index ae09ba4517..a64a32743e 100644 --- a/end-to-end-tests/pageObjects/pageEditor/pageEditorPage.ts +++ b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/pageEditorPage.ts @@ -18,7 +18,7 @@ import { getBasePageEditorUrl } from "../constants"; import { type Page, expect, type Locator } from "@playwright/test"; import { WorkshopPage } from "../extensionConsole/workshop/workshopPage"; -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../../src/types/stringTypes"; import { BasePageObject } from "../basePageObject"; import { ModListingPanel } from "./modListingPanel"; import { BrickActionsPanel } from "./brickActionsPanel"; @@ -27,7 +27,7 @@ import { DataPanel } from "./dataPanel"; import { ModEditorPane } from "./modEditorPane"; import { ModifiesModFormState } from "./utils"; import { CreateModModal } from "./createModModal"; -import { DeactivateModModal } from "end-to-end-tests/pageObjects/pageEditor/deactivateModModal"; +import { DeactivateModModal } from "./deactivateModModal"; import { DEFAULT_TIMEOUT } from "../../../playwright.config"; class EditorPane extends BasePageObject { diff --git a/end-to-end-tests/pageObjects/pageEditor/utils.ts b/applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/utils.ts similarity index 100% rename from end-to-end-tests/pageObjects/pageEditor/utils.ts rename to applications/browser-extension/end-to-end-tests/pageObjects/pageEditor/utils.ts diff --git a/end-to-end-tests/setup/affiliated.setup.ts b/applications/browser-extension/end-to-end-tests/setup/affiliated.setup.ts similarity index 100% rename from end-to-end-tests/setup/affiliated.setup.ts rename to applications/browser-extension/end-to-end-tests/setup/affiliated.setup.ts diff --git a/end-to-end-tests/setup/unaffiliated.setup.ts b/applications/browser-extension/end-to-end-tests/setup/unaffiliated.setup.ts similarity index 100% rename from end-to-end-tests/setup/unaffiliated.setup.ts rename to applications/browser-extension/end-to-end-tests/setup/unaffiliated.setup.ts diff --git a/end-to-end-tests/setup/utils.ts b/applications/browser-extension/end-to-end-tests/setup/utils.ts similarity index 100% rename from end-to-end-tests/setup/utils.ts rename to applications/browser-extension/end-to-end-tests/setup/utils.ts diff --git a/end-to-end-tests/tests/bricks/sidebarEffects.spec.ts b/applications/browser-extension/end-to-end-tests/tests/bricks/sidebarEffects.spec.ts similarity index 100% rename from end-to-end-tests/tests/bricks/sidebarEffects.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/bricks/sidebarEffects.spec.ts diff --git a/end-to-end-tests/tests/deployments/deploymentActivation.spec.ts b/applications/browser-extension/end-to-end-tests/tests/deployments/deploymentActivation.spec.ts similarity index 100% rename from end-to-end-tests/tests/deployments/deploymentActivation.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/deployments/deploymentActivation.spec.ts diff --git a/end-to-end-tests/tests/extensionConsole/activation.spec.ts b/applications/browser-extension/end-to-end-tests/tests/extensionConsole/activation.spec.ts similarity index 99% rename from end-to-end-tests/tests/extensionConsole/activation.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/extensionConsole/activation.spec.ts index 60ec5aa62f..aefd4b364c 100644 --- a/end-to-end-tests/tests/extensionConsole/activation.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/extensionConsole/activation.spec.ts @@ -27,7 +27,7 @@ import { isChrome, } from "../../utils"; import path from "node:path"; -import { VALID_UUID_REGEX } from "@/types/stringTypes"; +import { VALID_UUID_REGEX } from "../../../src/types/stringTypes"; import { type Serializable } from "playwright-core/types/structs"; import { SERVICE_URL } from "../../env"; import { ExtensionsShortcutsPage } from "../../pageObjects/extensionsShortcutsPage"; diff --git a/end-to-end-tests/tests/extensionConsole/modsPage.spec.ts b/applications/browser-extension/end-to-end-tests/tests/extensionConsole/modsPage.spec.ts similarity index 100% rename from end-to-end-tests/tests/extensionConsole/modsPage.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/extensionConsole/modsPage.spec.ts diff --git a/end-to-end-tests/tests/extensionConsole/zapierModal.spec.ts b/applications/browser-extension/end-to-end-tests/tests/extensionConsole/zapierModal.spec.ts similarity index 100% rename from end-to-end-tests/tests/extensionConsole/zapierModal.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/extensionConsole/zapierModal.spec.ts diff --git a/end-to-end-tests/tests/modLifecycle.spec.ts b/applications/browser-extension/end-to-end-tests/tests/modLifecycle.spec.ts similarity index 97% rename from end-to-end-tests/tests/modLifecycle.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/modLifecycle.spec.ts index aab093c37a..3775a435c4 100644 --- a/end-to-end-tests/tests/modLifecycle.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/modLifecycle.spec.ts @@ -22,8 +22,8 @@ import { ActivateModPage, ModsPage, } from "../pageObjects/extensionConsole/modsPage"; -import { clickAndWaitForNewPage } from "end-to-end-tests/utils"; -import { WorkshopPage } from "end-to-end-tests/pageObjects/extensionConsole/workshop/workshopPage"; +import { clickAndWaitForNewPage } from "../utils"; +import { WorkshopPage } from "../pageObjects/extensionConsole/workshop/workshopPage"; test("create, run, package, and update mod", async ({ page, diff --git a/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts similarity index 100% rename from end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts diff --git a/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-button-starter-brick-to-mod.yaml b/applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-button-starter-brick-to-mod.yaml similarity index 100% rename from end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-button-starter-brick-to-mod.yaml rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-button-starter-brick-to-mod.yaml diff --git a/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-context-menu-starter-brick-to-mod.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-context-menu-starter-brick-to-mod.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-context-menu-starter-brick-to-mod.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-context-menu-starter-brick-to-mod.diff diff --git a/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-quick-bar-starter-brick-to-mod.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-quick-bar-starter-brick-to-mod.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-quick-bar-starter-brick-to-mod.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-quick-bar-starter-brick-to-mod.diff diff --git a/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-sidebar-panel-starter-brick-to-mod.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-sidebar-panel-starter-brick-to-mod.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-sidebar-panel-starter-brick-to-mod.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-sidebar-panel-starter-brick-to-mod.diff diff --git a/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-trigger-starter-brick-to-mod.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-trigger-starter-brick-to-mod.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-trigger-starter-brick-to-mod.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/addStarterBrick.spec.ts-snapshots/Add-starter-brick-to-mod/add-trigger-starter-brick-to-mod.diff diff --git a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts similarity index 98% rename from end-to-end-tests/tests/pageEditor/brickActions.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts index a1444292d6..aea180a9e6 100644 --- a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts @@ -19,7 +19,7 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { type PageEditorPage } from "end-to-end-tests/pageObjects/pageEditor/pageEditorPage"; +import { type PageEditorPage } from "../../pageObjects/pageEditor/pageEditorPage"; import { type ModListItem } from "../../pageObjects/pageEditor/modListingPanel"; const testModDefinitionName = "brick-actions"; diff --git a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-added.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-added.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-added.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-added.diff diff --git a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copied-to-another-mod.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copied-to-another-mod.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copied-to-another-mod.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copied-to-another-mod.diff diff --git a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copy-pasted.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copy-pasted.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copy-pasted.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-copy-pasted.diff diff --git a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-removed.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-removed.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-removed.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/brick-removed.diff diff --git a/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/bricks-moved.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/bricks-moved.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/bricks-moved.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickActions.spec.ts-snapshots/brick-actions-panel-behavior/bricks-moved.diff diff --git a/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts similarity index 98% rename from end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts index 4f197c89dd..75b82d06ce 100644 --- a/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts @@ -19,7 +19,7 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { type PageEditorPage } from "end-to-end-tests/pageObjects/pageEditor/pageEditorPage"; +import { type PageEditorPage } from "../../pageObjects/pageEditor/pageEditorPage"; import { type ConfigurationForm } from "../../pageObjects/pageEditor/configurationForm"; import { type ModListItem } from "../../pageObjects/pageEditor/modListingPanel"; diff --git a/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts-snapshots/brick-configuration/starter-brick-configuration-changes.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts-snapshots/brick-configuration/starter-brick-configuration-changes.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts-snapshots/brick-configuration/starter-brick-configuration-changes.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/brickConfiguration.spec.ts-snapshots/brick-configuration/starter-brick-configuration-changes.diff diff --git a/end-to-end-tests/tests/pageEditor/clearChanges.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/clearChanges.spec.ts similarity index 97% rename from end-to-end-tests/tests/pageEditor/clearChanges.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/clearChanges.spec.ts index 8d5a9af426..5d0e1ac849 100644 --- a/end-to-end-tests/tests/pageEditor/clearChanges.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/clearChanges.spec.ts @@ -19,7 +19,7 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { type PageEditorPage } from "end-to-end-tests/pageObjects/pageEditor/pageEditorPage"; +import { type PageEditorPage } from "../../pageObjects/pageEditor/pageEditorPage"; import { type ConfigurationForm } from "../../pageObjects/pageEditor/configurationForm"; import { type ModListItem } from "../../pageObjects/pageEditor/modListingPanel"; diff --git a/end-to-end-tests/tests/pageEditor/copyMod.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts similarity index 96% rename from end-to-end-tests/tests/pageEditor/copyMod.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts index 82d530d05f..051329b2b3 100644 --- a/end-to-end-tests/tests/pageEditor/copyMod.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts @@ -19,12 +19,12 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../../src/types/helpers"; import { type Serializable } from "playwright-core/types/structs"; import path from "node:path"; -import { FloatingActionButton } from "end-to-end-tests/pageObjects/floatingActionButton"; -import { getSidebarPage, runModViaQuickBar } from "end-to-end-tests/utils"; -import { VALID_UUID_REGEX } from "@/types/stringTypes"; +import { FloatingActionButton } from "../../pageObjects/floatingActionButton"; +import { getSidebarPage, runModViaQuickBar } from "../../utils"; +import { VALID_UUID_REGEX } from "../../../src/types/stringTypes"; test("copying a mod that uses the PixieBrix API is copied correctly", async ({ page, diff --git a/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-copy.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-copy.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-copy.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-copy.diff diff --git a/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-origin.yaml b/applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-origin.yaml similarity index 100% rename from end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-origin.yaml rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/copying-a-mod-that-uses-the-PixieBrix-API-is-copied-correctly/write-to-db-static-origin.yaml diff --git a/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-copy.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-copy.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-copy.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-copy.diff diff --git a/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-origin.yaml b/applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-origin.yaml similarity index 100% rename from end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-origin.yaml rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/copyMod.spec.ts-snapshots/run-a-copied-mod-with-a-built-in-integration/giphy-search-origin.yaml diff --git a/end-to-end-tests/tests/pageEditor/draftInjection.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/draftInjection.spec.ts similarity index 94% rename from end-to-end-tests/tests/pageEditor/draftInjection.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/draftInjection.spec.ts index 61c7591575..986b5fdb48 100644 --- a/end-to-end-tests/tests/pageEditor/draftInjection.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/draftInjection.spec.ts @@ -19,10 +19,10 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { type PageEditorPage } from "end-to-end-tests/pageObjects/pageEditor/pageEditorPage"; +import { type PageEditorPage } from "../../pageObjects/pageEditor/pageEditorPage"; import { getSidebarPage } from "../../utils"; -import { sleep } from "@/utils/timeUtils"; -import { FloatingActionButton } from "end-to-end-tests/pageObjects/floatingActionButton"; +import { sleep } from "../../../src/utils/timeUtils"; +import { FloatingActionButton } from "../../pageObjects/floatingActionButton"; test("#9381: inject non-selected/active sidebar", async ({ page, diff --git a/end-to-end-tests/tests/pageEditor/liveEditing.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/liveEditing.spec.ts similarity index 100% rename from end-to-end-tests/tests/pageEditor/liveEditing.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/liveEditing.spec.ts diff --git a/end-to-end-tests/tests/pageEditor/logsPane.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/logsPane.spec.ts similarity index 100% rename from end-to-end-tests/tests/pageEditor/logsPane.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/logsPane.spec.ts diff --git a/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts similarity index 97% rename from end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts index 32d12f8d87..7839fdb41a 100644 --- a/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts @@ -19,8 +19,8 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { type PageEditorPage } from "end-to-end-tests/pageObjects/pageEditor/pageEditorPage"; -import { sleep } from "@/utils/timeUtils"; +import { type PageEditorPage } from "../../pageObjects/pageEditor/pageEditorPage"; +import { sleep } from "../../../src/utils/timeUtils"; const testModDefinitionName = "simple-sidebar-panel"; test.use({ modDefinitionNames: [testModDefinitionName] }); diff --git a/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-inputs.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-inputs.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-inputs.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-inputs.diff diff --git a/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-metadata.diff b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-metadata.diff similarity index 100% rename from end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-metadata.diff rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/modEditorPane.spec.ts-snapshots/mod-editor-pane-behavior/updated-metadata.diff diff --git a/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts similarity index 100% rename from end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts diff --git a/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/add-save-mod-variable-definition/mod-variables-definition.yaml b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/add-save-mod-variable-definition/mod-variables-definition.yaml similarity index 100% rename from end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/add-save-mod-variable-definition/mod-variables-definition.yaml rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/add-save-mod-variable-definition/mod-variables-definition.yaml diff --git a/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/new-mod-variable-without-brick/mod-variables-definition-no-brick.yaml b/applications/browser-extension/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/new-mod-variable-without-brick/mod-variables-definition-no-brick.yaml similarity index 100% rename from end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/new-mod-variable-without-brick/mod-variables-definition-no-brick.yaml rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/modVariablesDefinition.spec.ts-snapshots/new-mod-variable-without-brick/mod-variables-definition-no-brick.yaml diff --git a/end-to-end-tests/tests/pageEditor/moveOrCopyModComponent.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/moveOrCopyModComponent.spec.ts similarity index 98% rename from end-to-end-tests/tests/pageEditor/moveOrCopyModComponent.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/moveOrCopyModComponent.spec.ts index 930ff142ac..17d781b34b 100644 --- a/end-to-end-tests/tests/pageEditor/moveOrCopyModComponent.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/moveOrCopyModComponent.spec.ts @@ -18,7 +18,7 @@ import { test, expect } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { type Page, test as base } from "@playwright/test"; -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../../src/types/helpers"; // Since 2.1.4, new mods are created with the name "New Mod" instead of being a standalone mod component const DEFAULT_MOD_NAME = "New Mod"; diff --git a/end-to-end-tests/tests/pageEditor/optionsArgs.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/optionsArgs.spec.ts similarity index 97% rename from end-to-end-tests/tests/pageEditor/optionsArgs.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/optionsArgs.spec.ts index 2c487efb0e..6f6d455b6c 100644 --- a/end-to-end-tests/tests/pageEditor/optionsArgs.spec.ts +++ b/applications/browser-extension/end-to-end-tests/tests/pageEditor/optionsArgs.spec.ts @@ -19,7 +19,7 @@ import { expect, test } from "../../fixtures/testBase"; // @ts-expect-error -- https://youtrack.jetbrains.com/issue/AQUA-711/Provide-a-run-configuration-for-Playwright-tests-in-specs-with-fixture-imports-only import { test as base } from "@playwright/test"; import { ActivateModPage } from "../../pageObjects/extensionConsole/modsPage"; -import { type PageEditorPage } from "end-to-end-tests/pageObjects/pageEditor/pageEditorPage"; +import { type PageEditorPage } from "../../pageObjects/pageEditor/pageEditorPage"; import { getSidebarPage, isMsEdge } from "../../utils"; test("mod editor pane behavior", async ({ diff --git a/end-to-end-tests/tests/pageEditor/saveMod.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/saveMod.spec.ts similarity index 100% rename from end-to-end-tests/tests/pageEditor/saveMod.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/saveMod.spec.ts diff --git a/end-to-end-tests/tests/pageEditor/specialPages.spec.ts b/applications/browser-extension/end-to-end-tests/tests/pageEditor/specialPages.spec.ts similarity index 100% rename from end-to-end-tests/tests/pageEditor/specialPages.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/pageEditor/specialPages.spec.ts diff --git a/end-to-end-tests/tests/regressions/doNotCloseSidebarOnPageEditorSave.spec.ts b/applications/browser-extension/end-to-end-tests/tests/regressions/doNotCloseSidebarOnPageEditorSave.spec.ts similarity index 100% rename from end-to-end-tests/tests/regressions/doNotCloseSidebarOnPageEditorSave.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/regressions/doNotCloseSidebarOnPageEditorSave.spec.ts diff --git a/end-to-end-tests/tests/regressions/formFlicker.spec.ts b/applications/browser-extension/end-to-end-tests/tests/regressions/formFlicker.spec.ts similarity index 100% rename from end-to-end-tests/tests/regressions/formFlicker.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/regressions/formFlicker.spec.ts diff --git a/end-to-end-tests/tests/regressions/hideModalsOnPageEditorRefresh.spec.ts b/applications/browser-extension/end-to-end-tests/tests/regressions/hideModalsOnPageEditorRefresh.spec.ts similarity index 100% rename from end-to-end-tests/tests/regressions/hideModalsOnPageEditorRefresh.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/regressions/hideModalsOnPageEditorRefresh.spec.ts diff --git a/end-to-end-tests/tests/regressions/sandboxBrickErrors.spec.ts b/applications/browser-extension/end-to-end-tests/tests/regressions/sandboxBrickErrors.spec.ts similarity index 100% rename from end-to-end-tests/tests/regressions/sandboxBrickErrors.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/regressions/sandboxBrickErrors.spec.ts diff --git a/end-to-end-tests/tests/regressions/sidebarLinks.spec.ts b/applications/browser-extension/end-to-end-tests/tests/regressions/sidebarLinks.spec.ts similarity index 100% rename from end-to-end-tests/tests/regressions/sidebarLinks.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/regressions/sidebarLinks.spec.ts diff --git a/end-to-end-tests/tests/regressions/welcomeStarterBricks.spec.ts b/applications/browser-extension/end-to-end-tests/tests/regressions/welcomeStarterBricks.spec.ts similarity index 100% rename from end-to-end-tests/tests/regressions/welcomeStarterBricks.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/regressions/welcomeStarterBricks.spec.ts diff --git a/end-to-end-tests/tests/runtime/allFrames.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/allFrames.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/allFrames.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/allFrames.spec.ts diff --git a/end-to-end-tests/tests/runtime/customEvents.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/customEvents.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/customEvents.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/customEvents.spec.ts diff --git a/end-to-end-tests/tests/runtime/googleSheetsIntegration.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/googleSheetsIntegration.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/googleSheetsIntegration.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/googleSheetsIntegration.spec.ts diff --git a/end-to-end-tests/tests/runtime/insertAtCursor.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/insertAtCursor.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/insertAtCursor.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/insertAtCursor.spec.ts diff --git a/end-to-end-tests/tests/runtime/localIntegrations.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/localIntegrations.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/localIntegrations.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/localIntegrations.spec.ts diff --git a/end-to-end-tests/tests/runtime/modVariables/variableSync.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/modVariables/variableSync.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/modVariables/variableSync.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/modVariables/variableSync.spec.ts diff --git a/end-to-end-tests/tests/runtime/sandbox.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/sandbox.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/sandbox.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/sandbox.spec.ts diff --git a/end-to-end-tests/tests/runtime/screenshotTab.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/screenshotTab.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/screenshotTab.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/screenshotTab.spec.ts diff --git a/end-to-end-tests/tests/runtime/setInputValue.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/setInputValue.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/setInputValue.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/setInputValue.spec.ts diff --git a/end-to-end-tests/tests/runtime/sidebar/sidebarActivation.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarActivation.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/sidebar/sidebarActivation.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarActivation.spec.ts diff --git a/end-to-end-tests/tests/runtime/sidebar/sidebarAuth.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarAuth.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/sidebar/sidebarAuth.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarAuth.spec.ts diff --git a/end-to-end-tests/tests/runtime/sidebar/sidebarController.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarController.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/sidebar/sidebarController.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarController.spec.ts diff --git a/end-to-end-tests/tests/runtime/sidebar/sidebarNavigation.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarNavigation.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/sidebar/sidebarNavigation.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarNavigation.spec.ts diff --git a/end-to-end-tests/tests/runtime/sidebar/sidebarPanelTheme.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarPanelTheme.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/sidebar/sidebarPanelTheme.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/sidebar/sidebarPanelTheme.spec.ts diff --git a/end-to-end-tests/tests/runtime/srcdocFrames.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/srcdocFrames.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/srcdocFrames.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/srcdocFrames.spec.ts diff --git a/end-to-end-tests/tests/runtime/textSnippets.spec.ts b/applications/browser-extension/end-to-end-tests/tests/runtime/textSnippets.spec.ts similarity index 100% rename from end-to-end-tests/tests/runtime/textSnippets.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/runtime/textSnippets.spec.ts diff --git a/end-to-end-tests/tests/smoke/floatingActionButton.spec.ts b/applications/browser-extension/end-to-end-tests/tests/smoke/floatingActionButton.spec.ts similarity index 100% rename from end-to-end-tests/tests/smoke/floatingActionButton.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/smoke/floatingActionButton.spec.ts diff --git a/end-to-end-tests/tests/smoke/modsPage.spec.ts b/applications/browser-extension/end-to-end-tests/tests/smoke/modsPage.spec.ts similarity index 100% rename from end-to-end-tests/tests/smoke/modsPage.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/smoke/modsPage.spec.ts diff --git a/end-to-end-tests/tests/smoke/pageEditor.spec.ts b/applications/browser-extension/end-to-end-tests/tests/smoke/pageEditor.spec.ts similarity index 100% rename from end-to-end-tests/tests/smoke/pageEditor.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/smoke/pageEditor.spec.ts diff --git a/end-to-end-tests/tests/smoke/sidebar.spec.ts b/applications/browser-extension/end-to-end-tests/tests/smoke/sidebar.spec.ts similarity index 100% rename from end-to-end-tests/tests/smoke/sidebar.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/smoke/sidebar.spec.ts diff --git a/end-to-end-tests/tests/smoke/workshopPage.spec.ts b/applications/browser-extension/end-to-end-tests/tests/smoke/workshopPage.spec.ts similarity index 100% rename from end-to-end-tests/tests/smoke/workshopPage.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/smoke/workshopPage.spec.ts diff --git a/end-to-end-tests/tests/telemetry/errors.spec.ts b/applications/browser-extension/end-to-end-tests/tests/telemetry/errors.spec.ts similarity index 100% rename from end-to-end-tests/tests/telemetry/errors.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/telemetry/errors.spec.ts diff --git a/end-to-end-tests/tests/workshop/createMod.spec.ts b/applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts similarity index 100% rename from end-to-end-tests/tests/workshop/createMod.spec.ts rename to applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts diff --git a/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/description-change.diff b/applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/description-change.diff similarity index 100% rename from end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/description-change.diff rename to applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/description-change.diff diff --git a/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/final-definition.yaml b/applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/final-definition.yaml similarity index 100% rename from end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/final-definition.yaml rename to applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/final-definition.yaml diff --git a/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/heading-change.diff b/applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/heading-change.diff similarity index 100% rename from end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/heading-change.diff rename to applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/heading-change.diff diff --git a/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/no-changes.diff b/applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/no-changes.diff similarity index 100% rename from end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/no-changes.diff rename to applications/browser-extension/end-to-end-tests/tests/workshop/createMod.spec.ts-snapshots/can-create-a-new-mod-from-a-yaml-definition-and-update-it/no-changes.diff diff --git a/end-to-end-tests/utils.ts b/applications/browser-extension/end-to-end-tests/utils.ts similarity index 100% rename from end-to-end-tests/utils.ts rename to applications/browser-extension/end-to-end-tests/utils.ts diff --git a/eslint-local-rules/index.js b/applications/browser-extension/eslint-local-rules/index.js similarity index 100% rename from eslint-local-rules/index.js rename to applications/browser-extension/eslint-local-rules/index.js diff --git a/eslint-local-rules/noCrossBoundaryImports.js b/applications/browser-extension/eslint-local-rules/noCrossBoundaryImports.js similarity index 100% rename from eslint-local-rules/noCrossBoundaryImports.js rename to applications/browser-extension/eslint-local-rules/noCrossBoundaryImports.js diff --git a/eslint-local-rules/noCrossBoundaryImports.test.js b/applications/browser-extension/eslint-local-rules/noCrossBoundaryImports.test.js similarity index 100% rename from eslint-local-rules/noCrossBoundaryImports.test.js rename to applications/browser-extension/eslint-local-rules/noCrossBoundaryImports.test.js diff --git a/eslint-local-rules/noExpressionLiterals.js b/applications/browser-extension/eslint-local-rules/noExpressionLiterals.js similarity index 100% rename from eslint-local-rules/noExpressionLiterals.js rename to applications/browser-extension/eslint-local-rules/noExpressionLiterals.js diff --git a/eslint-local-rules/noExpressionLiterals.test.js b/applications/browser-extension/eslint-local-rules/noExpressionLiterals.test.js similarity index 100% rename from eslint-local-rules/noExpressionLiterals.test.js rename to applications/browser-extension/eslint-local-rules/noExpressionLiterals.test.js diff --git a/eslint-local-rules/noInvalidDataTestId.js b/applications/browser-extension/eslint-local-rules/noInvalidDataTestId.js similarity index 100% rename from eslint-local-rules/noInvalidDataTestId.js rename to applications/browser-extension/eslint-local-rules/noInvalidDataTestId.js diff --git a/eslint-local-rules/noInvalidDataTestId.test.js b/applications/browser-extension/eslint-local-rules/noInvalidDataTestId.test.js similarity index 100% rename from eslint-local-rules/noInvalidDataTestId.test.js rename to applications/browser-extension/eslint-local-rules/noInvalidDataTestId.test.js diff --git a/eslint-local-rules/noNullRtkQueryArgs.js b/applications/browser-extension/eslint-local-rules/noNullRtkQueryArgs.js similarity index 100% rename from eslint-local-rules/noNullRtkQueryArgs.js rename to applications/browser-extension/eslint-local-rules/noNullRtkQueryArgs.js diff --git a/eslint-local-rules/noNullRtkQueryArgs.test.js b/applications/browser-extension/eslint-local-rules/noNullRtkQueryArgs.test.js similarity index 100% rename from eslint-local-rules/noNullRtkQueryArgs.test.js rename to applications/browser-extension/eslint-local-rules/noNullRtkQueryArgs.test.js diff --git a/eslint-local-rules/noRestrictedSyntax.tsx b/applications/browser-extension/eslint-local-rules/noRestrictedSyntax.tsx similarity index 100% rename from eslint-local-rules/noRestrictedSyntax.tsx rename to applications/browser-extension/eslint-local-rules/noRestrictedSyntax.tsx diff --git a/eslint-local-rules/notBothLabelAndLockableProps.js b/applications/browser-extension/eslint-local-rules/notBothLabelAndLockableProps.js similarity index 100% rename from eslint-local-rules/notBothLabelAndLockableProps.js rename to applications/browser-extension/eslint-local-rules/notBothLabelAndLockableProps.js diff --git a/eslint-local-rules/notBothLabelAndLockableProps.test.js b/applications/browser-extension/eslint-local-rules/notBothLabelAndLockableProps.test.js similarity index 100% rename from eslint-local-rules/notBothLabelAndLockableProps.test.js rename to applications/browser-extension/eslint-local-rules/notBothLabelAndLockableProps.test.js diff --git a/eslint-local-rules/persistBackgroundData.js b/applications/browser-extension/eslint-local-rules/persistBackgroundData.js similarity index 100% rename from eslint-local-rules/persistBackgroundData.js rename to applications/browser-extension/eslint-local-rules/persistBackgroundData.js diff --git a/eslint-local-rules/persistBackgroundData.txt b/applications/browser-extension/eslint-local-rules/persistBackgroundData.txt similarity index 100% rename from eslint-local-rules/persistBackgroundData.txt rename to applications/browser-extension/eslint-local-rules/persistBackgroundData.txt diff --git a/eslint-local-rules/preferAxiosMockAdapter.js b/applications/browser-extension/eslint-local-rules/preferAxiosMockAdapter.js similarity index 100% rename from eslint-local-rules/preferAxiosMockAdapter.js rename to applications/browser-extension/eslint-local-rules/preferAxiosMockAdapter.js diff --git a/eslint-local-rules/preferAxiosMockAdapter.test.js b/applications/browser-extension/eslint-local-rules/preferAxiosMockAdapter.test.js similarity index 100% rename from eslint-local-rules/preferAxiosMockAdapter.test.js rename to applications/browser-extension/eslint-local-rules/preferAxiosMockAdapter.test.js diff --git a/eslint-local-rules/preferNullish.js b/applications/browser-extension/eslint-local-rules/preferNullish.js similarity index 100% rename from eslint-local-rules/preferNullish.js rename to applications/browser-extension/eslint-local-rules/preferNullish.js diff --git a/eslint-local-rules/preferNullish.test.js b/applications/browser-extension/eslint-local-rules/preferNullish.test.js similarity index 100% rename from eslint-local-rules/preferNullish.test.js rename to applications/browser-extension/eslint-local-rules/preferNullish.test.js diff --git a/eslint-local-rules/preferNullishable.js b/applications/browser-extension/eslint-local-rules/preferNullishable.js similarity index 100% rename from eslint-local-rules/preferNullishable.js rename to applications/browser-extension/eslint-local-rules/preferNullishable.js diff --git a/eslint-local-rules/preferNullishable.test.js b/applications/browser-extension/eslint-local-rules/preferNullishable.test.js similarity index 100% rename from eslint-local-rules/preferNullishable.test.js rename to applications/browser-extension/eslint-local-rules/preferNullishable.test.js diff --git a/eslint-local-rules/preferUsingStepsForLongTests.js b/applications/browser-extension/eslint-local-rules/preferUsingStepsForLongTests.js similarity index 100% rename from eslint-local-rules/preferUsingStepsForLongTests.js rename to applications/browser-extension/eslint-local-rules/preferUsingStepsForLongTests.js diff --git a/img/aa-logo-small.png b/applications/browser-extension/img/aa-logo-small.png similarity index 100% rename from img/aa-logo-small.png rename to applications/browser-extension/img/aa-logo-small.png diff --git a/img/aa-logo.svg b/applications/browser-extension/img/aa-logo.svg similarity index 100% rename from img/aa-logo.svg rename to applications/browser-extension/img/aa-logo.svg diff --git a/img/beta-logo-small.svg b/applications/browser-extension/img/beta-logo-small.svg similarity index 100% rename from img/beta-logo-small.svg rename to applications/browser-extension/img/beta-logo-small.svg diff --git a/img/beta-logo.svg b/applications/browser-extension/img/beta-logo.svg similarity index 100% rename from img/beta-logo.svg rename to applications/browser-extension/img/beta-logo.svg diff --git a/img/blueprint-activation-complete.png b/applications/browser-extension/img/blueprint-activation-complete.png similarity index 100% rename from img/blueprint-activation-complete.png rename to applications/browser-extension/img/blueprint-activation-complete.png diff --git a/img/demo.gif b/applications/browser-extension/img/demo.gif similarity index 100% rename from img/demo.gif rename to applications/browser-extension/img/demo.gif diff --git a/img/devtools-dock-bottom-icon.svg b/applications/browser-extension/img/devtools-dock-bottom-icon.svg similarity index 100% rename from img/devtools-dock-bottom-icon.svg rename to applications/browser-extension/img/devtools-dock-bottom-icon.svg diff --git a/img/devtools-docking-context-menu.png b/applications/browser-extension/img/devtools-docking-context-menu.png similarity index 100% rename from img/devtools-docking-context-menu.png rename to applications/browser-extension/img/devtools-docking-context-menu.png diff --git a/img/devtools-pixiebrix-toolbar-hidden.png b/applications/browser-extension/img/devtools-pixiebrix-toolbar-hidden.png similarity index 100% rename from img/devtools-pixiebrix-toolbar-hidden.png rename to applications/browser-extension/img/devtools-pixiebrix-toolbar-hidden.png diff --git a/img/devtools-pixiebrix-toolbar-screenshot.png b/applications/browser-extension/img/devtools-pixiebrix-toolbar-screenshot.png similarity index 100% rename from img/devtools-pixiebrix-toolbar-screenshot.png rename to applications/browser-extension/img/devtools-pixiebrix-toolbar-screenshot.png diff --git a/img/devtools-pixiebrix-toolbar-tab.png b/applications/browser-extension/img/devtools-pixiebrix-toolbar-tab.png similarity index 100% rename from img/devtools-pixiebrix-toolbar-tab.png rename to applications/browser-extension/img/devtools-pixiebrix-toolbar-tab.png diff --git a/img/devtools-shortcut-mac.svg b/applications/browser-extension/img/devtools-shortcut-mac.svg similarity index 100% rename from img/devtools-shortcut-mac.svg rename to applications/browser-extension/img/devtools-shortcut-mac.svg diff --git a/img/devtools-shortcut-windows.svg b/applications/browser-extension/img/devtools-shortcut-windows.svg similarity index 100% rename from img/devtools-shortcut-windows.svg rename to applications/browser-extension/img/devtools-shortcut-windows.svg diff --git a/img/example-permissions-dialog.png b/applications/browser-extension/img/example-permissions-dialog.png similarity index 100% rename from img/example-permissions-dialog.png rename to applications/browser-extension/img/example-permissions-dialog.png diff --git a/img/home-pane-bg-illustration.png b/applications/browser-extension/img/home-pane-bg-illustration.png similarity index 100% rename from img/home-pane-bg-illustration.png rename to applications/browser-extension/img/home-pane-bg-illustration.png diff --git a/img/home.svg b/applications/browser-extension/img/home.svg similarity index 100% rename from img/home.svg rename to applications/browser-extension/img/home.svg diff --git a/img/inspect-context-menu.png b/applications/browser-extension/img/inspect-context-menu.png similarity index 100% rename from img/inspect-context-menu.png rename to applications/browser-extension/img/inspect-context-menu.png diff --git a/img/logo-small.svg b/applications/browser-extension/img/logo-small.svg similarity index 100% rename from img/logo-small.svg rename to applications/browser-extension/img/logo-small.svg diff --git a/img/logo.svg b/applications/browser-extension/img/logo.svg similarity index 100% rename from img/logo.svg rename to applications/browser-extension/img/logo.svg diff --git a/img/marketplace.svg b/applications/browser-extension/img/marketplace.svg similarity index 98% rename from img/marketplace.svg rename to applications/browser-extension/img/marketplace.svg index 9f574fe7d1..2d6c39fa83 100644 --- a/img/marketplace.svg +++ b/applications/browser-extension/img/marketplace.svg @@ -1,348 +1,348 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/paintbrush.svg b/applications/browser-extension/img/paintbrush.svg similarity index 100% rename from img/paintbrush.svg rename to applications/browser-extension/img/paintbrush.svg diff --git a/img/workshop.svg b/applications/browser-extension/img/workshop.svg similarity index 100% rename from img/workshop.svg rename to applications/browser-extension/img/workshop.svg diff --git a/jest.config.js b/applications/browser-extension/jest.config.js similarity index 100% rename from jest.config.js rename to applications/browser-extension/jest.config.js diff --git a/knip.mjs b/applications/browser-extension/knip.mjs similarity index 85% rename from knip.mjs rename to applications/browser-extension/knip.mjs index 3ea429f355..690786a1db 100644 --- a/knip.mjs +++ b/applications/browser-extension/knip.mjs @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2024 PixieBrix, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import configFactory from "./webpack.config.mjs"; const config = configFactory(process.env, {}); diff --git a/applications/browser-extension/package.json b/applications/browser-extension/package.json new file mode 100644 index 0000000000..98f4cd2c99 --- /dev/null +++ b/applications/browser-extension/package.json @@ -0,0 +1,325 @@ +{ + "name": "@pixiebrix/extension", + "version": "2.1.8-alpha.0", + "description": "PixieBrix Browser Extension", + "scripts": { + "test": "TZ=UTC jest", + "test:watch": "TZ=UTC jest --watchAll", + "test:e2e": "playwright test", + "test:e2e:debug": "PWDEBUG=console playwright test", + "lint": "npm run lint:full -- --rule '{\"import/no-cycle\": \"off\"}'", + "lint:fast": "ESLINT_NO_IMPORTS=1 eslint src --ext js,jsx,ts,tsx --quiet", + "lint:full": "eslint src end-to-end-tests --ext js,jsx,ts,tsx --quiet --report-unused-disable-directives", + "lint:staged": "eslint --ext js,jsx,ts,tsx --fix --quiet --report-unused-disable-directives", + "fix": "npm run lint -- --fix", + "watch": "concurrently npm:watch:webpack 'npm:watch:*(!webpack) -- --preserveWatchOutput' -r", + "watch:webpack": "ENV_FILE='.env.development' webpack ${HMR:-watch} --mode development", + "watch:webpack-hmr": "HMR=serve npm run watch:webpack", + "watch:typescript": "tsc --noEmit --watch", + "build": "concurrently npm:build:webpack npm:build:typescript -r", + "build:webpack": "NODE_OPTIONS=--max_old_space_size=8192 webpack --mode production", + "build:typescript": "tsc --noEmit", + "generate:headers": "npm run test -- src/development/headers.test.ts --no-silent", + "storybook": "storybook dev -p 6006 -s public", + "build-storybook": "storybook build", + "dead-code": "npm run dead-code:base -- --include files,duplicates,dependencies,classMembers,binaries,enumMembers,nsTypes,exports,nsExports", + "dead-code:base": "knip --config knip.mjs --tags=-knip", + "dead-code:prod": "npm run dead-code -- --production" + }, + "engine-strict": true, + "engines": { + "node": "20.12.0", + "npm": "10.5.0" + }, + "author": "Todd Schiller", + "license": "AGPL-3.0", + "repository": "https://github.com/pixiebrix/pixiebrix-extension", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^10.1.0", + "@atlaskit/tree": "^8.11.0", + "@cfworker/json-schema": "^2.0.1", + "@datadog/browser-logs": "^5.29.1", + "@datadog/browser-rum": "^5.29.1", + "@deepgram/sdk": "^3.9.0", + "@floating-ui/dom": "^1.6.12", + "@fortawesome/fontawesome-svg-core": "1.2.36", + "@fortawesome/free-brands-svg-icons": "^5.15.4", + "@fortawesome/free-regular-svg-icons": "^5.15.4", + "@fortawesome/free-solid-svg-icons": "^5.15.3", + "@fortawesome/react-fontawesome": "^0.2.2", + "@mozilla/readability": "^0.5.0", + "@pixiebrix/jq-web": "^0.5.1", + "@reduxjs/toolkit": "^1.9.7", + "@rjsf/bootstrap-4": "^5.22.3", + "@rjsf/core": "^5.22.3", + "@rjsf/utils": "^5.22.3", + "@szhsin/react-menu": "^4.2.2", + "@tiptap/pm": "^2.9.1", + "@tiptap/react": "^2.9.1", + "@tiptap/starter-kit": "^2.9.1", + "@vespaiach/axios-fetch-adapter": "^0.3.1", + "@xobotyi/scrollbar-width": "^1.9.5", + "abort-utils": "^1.2.0", + "ace-builds": "^1.36.3", + "autocompleter": "^9.3.2", + "axios": "^0.28.1", + "axios-auth-refresh": "^3.3.6", + "batched-function": "^2.0.1", + "bootstrap": "^4.6.0", + "bootstrap-icons": "^1.11.3", + "bootstrap-switch-button-react": "^1.2.0", + "canvas-confetti": "^1.9.3", + "chrono-node": "^2.7.7", + "classnames": "^2.5.1", + "code-tag": "^1.2.0", + "connected-react-router": "^6.9.1", + "copy-text-to-clipboard": "^3.2.0", + "csharp-helpers": "^0.9.3", + "css-selector-generator": "^3.6.9", + "date-fns": "^4.1.0", + "dompurify": "^3.1.7", + "downloadjs": "^1.4.7", + "exifreader": "^4.25.0", + "export-to-csv": "^1.4.0", + "filenamify": "^6.0.0", + "filter-altered-clicks": "^2.1.1", + "fit-textarea": "^3.0.0", + "formik": "^2.4.6", + "fuse.js": "^7.0.0", + "handlebars": "^4.7.8", + "history": "^4.10.1", + "holderjs": "^2.9.9", + "html-to-text": "^9.0.5", + "htmlmetaparser": "^2.1.3", + "htmlparser2": "^9.1.0", + "http-status-codes": "^2.3.0", + "idb": "^8.0.0", + "iframe-resizer": "^4.4.5", + "immer": "^9.0.18", + "intrinsic-scale": "^4.0.1", + "intro.js": "^7.2.0", + "is-promise": "^4.0.0", + "jquery": "^3.7.1", + "js-beautify": "^1.15.1", + "js-cookie": "^3.0.5", + "js-yaml": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "json5": "^2.2.3", + "jsonpath-plus": "^10.1.0", + "jszip": "^3.10.1", + "kbar": "^0.1.0-beta.45", + "lodash-es": "^4.17.21", + "mark.js": "^8.11.1", + "marked": "^14.1.3", + "memoize-one": "^6.0.0", + "mustache": "^4.2.0", + "nunjucks": "^3.2.4", + "object-hash": "^2.2.0", + "one-event": "^4.3.0", + "p-defer": "^4.0.1", + "p-memoize": "^7.1.1", + "p-retry": "^6.2.0", + "p-timeout": "^6.1.3", + "papaparse": "^5.4.1", + "primeicons": "^6.0.1", + "primereact": "^7.1.0", + "prop-types": "^15.7.2", + "proper-event": "^0.9.2", + "psl": "^1.8.0", + "react": "^17.0.2", + "react-ace": "^13.0.0", + "react-autosuggest": "^10.1.0", + "react-bootstrap": "^1.6.1", + "react-dom": "^17.0.2", + "react-draggable": "^4.4.6", + "react-hot-toast": "^2.4.1", + "react-hotkeys": "^2.0.0", + "react-image-crop": "^11.0.7", + "react-json-tree": "^0.19.0", + "react-outside-click-handler": "^1.3.0", + "react-redux": "^8.1.3", + "react-router": "5.3.4", + "react-router-dom": "^5.3.4", + "react-select": "^5.8.2", + "react-select-virtualized": "^5.6.0", + "react-shadow": "^20.5.0", + "react-spinners": "^0.13.0", + "react-table": "^7.7.0", + "react-virtualized": "^9.22.5", + "react-virtualized-auto-sizer": "^1.0.24", + "react-window": "^1.8.10", + "redux-logger": "^3.0.6", + "redux-persist": "^6.0.0", + "redux-persist-webextension-storage": "^1.0.2", + "redux-state-sync": "^3.1.4", + "regenerator-runtime": "^0.14.1", + "schema-to-yup": "1.12.14", + "semver": "^7.6.3", + "serialize-error": "^11.0.3", + "simple-icons": "^5.8.0", + "slugify": "^1.6.6", + "stemmer": "^2.0.1", + "uint8array-extras": "^1.4.0", + "urlpattern-polyfill": "^5.0.3", + "use-async-effect": "^2.2.7", + "use-debounce": "^10.0.4", + "use-sync-external-store": "^1.2.2", + "uuid": "^11.0.2", + "webext-content-scripts": "^2.7.0", + "webext-detect": "^5.1.0", + "webext-events": "^3.0.1", + "webext-inject-on-install": "^2.2.1", + "webext-messenger": "^0.28.0", + "webext-patterns": "^1.5.0", + "webext-permissions": "^3.1.3", + "webext-polyfill-kinda": "^1.0.2", + "webext-storage": "^1.2.2", + "webext-storage-cache": "^6.0.3", + "webext-tools": "^2.0.1", + "webextension-polyfill": "^0.12.0", + "whatwg-mimetype": "^4.0.0", + "yup": "^0.32.11" + }, + "devDependencies": { + "@axe-core/playwright": "^4.10.0", + "@fortawesome/fontawesome-common-types": "^0.2.36", + "@playwright/test": "^1.48.2", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", + "@shopify/jest-dom-mocks": "^5.2.0", + "@sindresorhus/tsconfig": "^6.0.0", + "@sinonjs/fake-timers": "^13.0.5", + "@storybook/addon-actions": "^7.6.17", + "@storybook/addon-essentials": "^7.6.17", + "@storybook/addon-links": "^7.6.17", + "@storybook/addon-storyshots": "^7.6.17", + "@storybook/react": "^7.6.17", + "@storybook/react-webpack5": "^7.6.17", + "@svgr/webpack": "^8.1.0", + "@swc/core": "^1.7.42", + "@swc/jest": "^0.2.37", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^12.1.5", + "@testing-library/react-hooks": "^8.0.1", + "@testing-library/user-event": "^14.5.2", + "@total-typescript/ts-reset": "^0.6.1", + "@types/chrome": "^0.0.280", + "@types/diff": "^6.0.0", + "@types/dom-chromium-ai": "^0.0.2", + "@types/dom-navigation": "^1.0.4", + "@types/dompurify": "^3.0.5", + "@types/downloadjs": "^1.4.6", + "@types/gapi.client": "^1.0.8", + "@types/gapi.client.drive-v3": "^0.0.5", + "@types/gapi.client.oauth2-v2": "^0.0.4", + "@types/gapi.client.sheets-v4": "^0.0.4", + "@types/holderjs": "^2.9.4", + "@types/html-to-text": "^9.0.4", + "@types/iframe-resizer": "^3.5.13", + "@types/intro.js": "^5.1.5", + "@types/jquery": "^3.5.32", + "@types/js-beautify": "^1.14.3", + "@types/js-cookie": "^3.0.6", + "@types/js-yaml": "^4.0.9", + "@types/jsdom": "^21.1.7", + "@types/json-schema": "^7.0.15", + "@types/json-stringify-safe": "^5.0.3", + "@types/lodash": "^4.17.13", + "@types/mark.js": "^8.11.12", + "@types/mustache": "^4.2.5", + "@types/node": "^22.8.7", + "@types/nunjucks": "^3.2.6", + "@types/object-hash": "^2.1.1", + "@types/papaparse": "^5.3.15", + "@types/psl": "^1.1.3", + "@types/react-autosuggest": "^10.1.11", + "@types/react-dom": "^17.0.9", + "@types/react-outside-click-handler": "^1.3.4", + "@types/react-redux": "^7.1.18", + "@types/react-router-dom": "^5.3.3", + "@types/react-table": "^7.7.20", + "@types/react-virtualized-auto-sizer": "^1.0.4", + "@types/react-window": "^1.8.8", + "@types/redux-logger": "^3.0.12", + "@types/redux-persist-webextension-storage": "^1.0.3", + "@types/redux-state-sync": "^3.1.10", + "@types/semver": "^7.5.8", + "@types/sinonjs__fake-timers": "^8.1.5", + "@types/use-sync-external-store": "^0.0.6", + "@types/webextension-polyfill": "^0.12.1", + "@types/webpack": "^5.28.5", + "@types/webpack-env": "^1.18.5", + "@types/whatwg-mimetype": "^3.0.2", + "@typescript-eslint/rule-tester": "^8.11.0", + "axios-mock-adapter": "^2.1.0", + "blob-polyfill": "^9.0.20240710", + "compass-mixins": "^0.12.10", + "concurrently": "^9.0.1", + "cooky-cutter": "^1.5.4", + "copy-webpack-plugin": "^12.0.2", + "csp-parse": "0.0.2", + "css-loader": "^6.11.0", + "css-minimizer-webpack-plugin": "^7.0.0", + "diff": "^7.0.0", + "dotenv": "^16.4.5", + "eslint": "^8.57.0", + "eslint-config-pixiebrix": "^0.40.1", + "eslint-plugin-local-rules": "^3.0.2", + "eslint-plugin-playwright": "^2.0.0", + "fake-indexeddb": "^6.0.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-extended": "^4.0.2", + "jest-location-mock": "^2.0.0", + "jest-webextension-mock": "^3.9.0", + "jsdom": "^25.0.1", + "jsdom-testing-mocks": "^1.13.1", + "knip": "^5.36.2", + "mini-css-extract-plugin": "^2.6.1", + "mockdate": "^3.0.5", + "msw": "^1.3.5", + "msw-storybook-addon": "^1.10.0", + "multimatch": "^5.0.0", + "node-polyfill-webpack-plugin": "^4.0.0", + "otpauth": "^9.3.4", + "path-browserify": "^1.0.1", + "prettier": "3.1.0", + "react-beautiful-dnd-next": "^11.0.5", + "react-refresh-typescript": "^2.0.9", + "react-select-event": "^5.3.0", + "sass-loader": "^16.0.3", + "shadow-dom-testing-library": "^1.11.3", + "storybook": "^7.6.17", + "storybook-addon-swc": "^1.2.0", + "style-loader": "^4.0.0", + "terser-webpack-plugin": "^5.3.10", + "timezone-mock": "^1.3.6", + "ts-loader": "^9.5.1", + "type-fest": "^4.26.1", + "typescript": "^5.6.3", + "typescript-plugin-css-modules": "^5.1.0", + "webpack": "^5.96.1", + "webpack-build-notifier": "^3.1.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.1.0", + "webpack-merge": "^6.0.1", + "webpack-target-webextension": "^1.1.2", + "yaml-jest-transform": "^2.0.2", + "yaml-loader": "^0.8.1" + }, + "overrides": { + "@typescript-eslint/eslint-plugin": "7.16.0" + }, + "webExt": { + "sourceDir": "dist", + "run": { + "startUrl": [ + "https://pbx.vercel.app/" + ] + } + }, + "msw": { + "workerDirectory": "public" + } +} diff --git a/playwright.config.ts b/applications/browser-extension/playwright.config.ts similarity index 86% rename from playwright.config.ts rename to applications/browser-extension/playwright.config.ts index 7607b68a36..85fa46faa8 100644 --- a/playwright.config.ts +++ b/applications/browser-extension/playwright.config.ts @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2024 PixieBrix, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { defineConfig } from "@playwright/test"; import { CI, E2E_CHROMIUM_CHANNELS, E2E_TIMEOUT } from "./end-to-end-tests/env"; import { type ValueOf } from "type-fest"; diff --git a/public/mockServiceWorker.js b/applications/browser-extension/public/mockServiceWorker.js similarity index 100% rename from public/mockServiceWorker.js rename to applications/browser-extension/public/mockServiceWorker.js diff --git a/schemas/component.json b/applications/browser-extension/schemas/component.json similarity index 100% rename from schemas/component.json rename to applications/browser-extension/schemas/component.json diff --git a/schemas/database.json b/applications/browser-extension/schemas/database.json similarity index 100% rename from schemas/database.json rename to applications/browser-extension/schemas/database.json diff --git a/schemas/draft-07.json b/applications/browser-extension/schemas/draft-07.json similarity index 100% rename from schemas/draft-07.json rename to applications/browser-extension/schemas/draft-07.json diff --git a/schemas/effect.json b/applications/browser-extension/schemas/effect.json similarity index 100% rename from schemas/effect.json rename to applications/browser-extension/schemas/effect.json diff --git a/schemas/element.json b/applications/browser-extension/schemas/element.json similarity index 100% rename from schemas/element.json rename to applications/browser-extension/schemas/element.json diff --git a/schemas/extensionPoint.json b/applications/browser-extension/schemas/extensionPoint.json similarity index 100% rename from schemas/extensionPoint.json rename to applications/browser-extension/schemas/extensionPoint.json diff --git a/schemas/googleSheetId.json b/applications/browser-extension/schemas/googleSheetId.json similarity index 100% rename from schemas/googleSheetId.json rename to applications/browser-extension/schemas/googleSheetId.json diff --git a/schemas/icon.json b/applications/browser-extension/schemas/icon.json similarity index 100% rename from schemas/icon.json rename to applications/browser-extension/schemas/icon.json diff --git a/schemas/innerDefinition.json b/applications/browser-extension/schemas/innerDefinition.json similarity index 100% rename from schemas/innerDefinition.json rename to applications/browser-extension/schemas/innerDefinition.json diff --git a/schemas/key.json b/applications/browser-extension/schemas/key.json similarity index 100% rename from schemas/key.json rename to applications/browser-extension/schemas/key.json diff --git a/schemas/metadata.json b/applications/browser-extension/schemas/metadata.json similarity index 100% rename from schemas/metadata.json rename to applications/browser-extension/schemas/metadata.json diff --git a/schemas/pipeline.json b/applications/browser-extension/schemas/pipeline.json similarity index 100% rename from schemas/pipeline.json rename to applications/browser-extension/schemas/pipeline.json diff --git a/schemas/reader.json b/applications/browser-extension/schemas/reader.json similarity index 100% rename from schemas/reader.json rename to applications/browser-extension/schemas/reader.json diff --git a/schemas/recipe.json b/applications/browser-extension/schemas/recipe.json similarity index 100% rename from schemas/recipe.json rename to applications/browser-extension/schemas/recipe.json diff --git a/schemas/ref.json b/applications/browser-extension/schemas/ref.json similarity index 100% rename from schemas/ref.json rename to applications/browser-extension/schemas/ref.json diff --git a/schemas/renderer.json b/applications/browser-extension/schemas/renderer.json similarity index 100% rename from schemas/renderer.json rename to applications/browser-extension/schemas/renderer.json diff --git a/schemas/service.json b/applications/browser-extension/schemas/service.json similarity index 100% rename from schemas/service.json rename to applications/browser-extension/schemas/service.json diff --git a/src/Storyshots.test.js b/applications/browser-extension/src/Storyshots.test.js similarity index 100% rename from src/Storyshots.test.js rename to applications/browser-extension/src/Storyshots.test.js diff --git a/src/__mocks__/@/auth/featureFlagStorage.ts b/applications/browser-extension/src/__mocks__/@/auth/featureFlagStorage.ts similarity index 96% rename from src/__mocks__/@/auth/featureFlagStorage.ts rename to applications/browser-extension/src/__mocks__/@/auth/featureFlagStorage.ts index 6001d27d36..aaed71a968 100644 --- a/src/__mocks__/@/auth/featureFlagStorage.ts +++ b/applications/browser-extension/src/__mocks__/@/auth/featureFlagStorage.ts @@ -17,7 +17,7 @@ // noinspection ES6PreferShortImport -- Override mock import { fetchFeatureFlags } from "../../../auth/featureFlagStorage"; -import { mapRestrictedFeatureToFeatureFlag } from "@/auth/featureFlags"; +import { mapRestrictedFeatureToFeatureFlag } from "../../../auth/featureFlags"; let flags: string[] | null = null; diff --git a/src/__mocks__/@/auth/useLinkState.ts b/applications/browser-extension/src/__mocks__/@/auth/useLinkState.ts similarity index 92% rename from src/__mocks__/@/auth/useLinkState.ts rename to applications/browser-extension/src/__mocks__/@/auth/useLinkState.ts index 86f644377e..a33a3d15ef 100644 --- a/src/__mocks__/@/auth/useLinkState.ts +++ b/applications/browser-extension/src/__mocks__/@/auth/useLinkState.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { valueToAsyncState } from "@/utils/asyncStateUtils"; +import { valueToAsyncState } from "../../../utils/asyncStateUtils"; const DEFAULT_LINK_STATE = valueToAsyncState(true); const useLinkState = jest.fn(() => DEFAULT_LINK_STATE); diff --git a/src/__mocks__/@/background/messenger/api.ts b/applications/browser-extension/src/__mocks__/@/background/messenger/api.ts similarity index 84% rename from src/__mocks__/@/background/messenger/api.ts rename to applications/browser-extension/src/__mocks__/@/background/messenger/api.ts index 4eff83d209..9bb65536fe 100644 --- a/src/__mocks__/@/background/messenger/api.ts +++ b/applications/browser-extension/src/__mocks__/@/background/messenger/api.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { RemoteResponse } from "@/types/contract"; -import { NetworkRequestConfig } from "@/types/networkTypes"; -import { RegistryId } from "@/types/registryTypes"; -import { Nullishable } from "@/utils/nullishUtils"; +import { SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import { RemoteResponse } from "../../../../types/contract"; +import { NetworkRequestConfig } from "../../../../types/networkTypes"; +import { RegistryId } from "../../../../types/registryTypes"; +import { Nullishable } from "../../../../utils/nullishUtils"; import { getMethod, backgroundTarget as bg } from "webext-messenger"; export * from "../../../../background/messenger/api"; diff --git a/src/__mocks__/@/components/DelayedRender.tsx b/applications/browser-extension/src/__mocks__/@/components/DelayedRender.tsx similarity index 100% rename from src/__mocks__/@/components/DelayedRender.tsx rename to applications/browser-extension/src/__mocks__/@/components/DelayedRender.tsx diff --git a/src/__mocks__/@/components/Stylesheets.tsx b/applications/browser-extension/src/__mocks__/@/components/Stylesheets.tsx similarity index 100% rename from src/__mocks__/@/components/Stylesheets.tsx rename to applications/browser-extension/src/__mocks__/@/components/Stylesheets.tsx diff --git a/src/__mocks__/@/components/asyncIcon.ts b/applications/browser-extension/src/__mocks__/@/components/asyncIcon.ts similarity index 87% rename from src/__mocks__/@/components/asyncIcon.ts rename to applications/browser-extension/src/__mocks__/@/components/asyncIcon.ts index 9b3e6f6575..e49b996253 100644 --- a/src/__mocks__/@/components/asyncIcon.ts +++ b/applications/browser-extension/src/__mocks__/@/components/asyncIcon.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import type { Nullishable } from "@/utils/nullishUtils"; -import type { IconStringDefinition } from "@/types/contract"; +import type { Nullishable } from "../../../utils/nullishUtils"; +import type { IconStringDefinition } from "../../../types/contract"; import type { IconProp } from "@fortawesome/fontawesome-svg-core"; export function useAsyncIcon( diff --git a/src/__mocks__/@/contentScript/focusCaptureDialog.ts b/applications/browser-extension/src/__mocks__/@/contentScript/focusCaptureDialog.ts similarity index 100% rename from src/__mocks__/@/contentScript/focusCaptureDialog.ts rename to applications/browser-extension/src/__mocks__/@/contentScript/focusCaptureDialog.ts diff --git a/src/__mocks__/@/data/service/apiClient.js b/applications/browser-extension/src/__mocks__/@/data/service/apiClient.js similarity index 100% rename from src/__mocks__/@/data/service/apiClient.js rename to applications/browser-extension/src/__mocks__/@/data/service/apiClient.js diff --git a/src/__mocks__/@/hooks/useContextInvalidated.ts b/applications/browser-extension/src/__mocks__/@/hooks/useContextInvalidated.ts similarity index 100% rename from src/__mocks__/@/hooks/useContextInvalidated.ts rename to applications/browser-extension/src/__mocks__/@/hooks/useContextInvalidated.ts diff --git a/src/__mocks__/@/icons/getSvgIcon.ts b/applications/browser-extension/src/__mocks__/@/icons/getSvgIcon.ts similarity index 100% rename from src/__mocks__/@/icons/getSvgIcon.ts rename to applications/browser-extension/src/__mocks__/@/icons/getSvgIcon.ts diff --git a/src/__mocks__/@/icons/list.ts b/applications/browser-extension/src/__mocks__/@/icons/list.ts similarity index 96% rename from src/__mocks__/@/icons/list.ts rename to applications/browser-extension/src/__mocks__/@/icons/list.ts index 997368c3fa..f833ff49d2 100644 --- a/src/__mocks__/@/icons/list.ts +++ b/applications/browser-extension/src/__mocks__/@/icons/list.ts @@ -16,7 +16,7 @@ */ // https://raw.githubusercontent.com/twbs/icons/main/icons/exclamation-triangle.svg -- bootstrap icon triangle -import { IconLibrary } from "@/types/iconTypes"; +import { IconLibrary } from "../../../types/iconTypes"; const icon = '\n' + diff --git a/src/__mocks__/@/sandbox/messenger/api.ts b/applications/browser-extension/src/__mocks__/@/sandbox/messenger/api.ts similarity index 93% rename from src/__mocks__/@/sandbox/messenger/api.ts rename to applications/browser-extension/src/__mocks__/@/sandbox/messenger/api.ts index b38fa62d9c..b80bfaa313 100644 --- a/src/__mocks__/@/sandbox/messenger/api.ts +++ b/applications/browser-extension/src/__mocks__/@/sandbox/messenger/api.ts @@ -16,4 +16,4 @@ */ // Skip the sandbox messenger during tests -export * from "@/sandbox/messenger/executor"; +export * from "../../../../sandbox/messenger/executor"; diff --git a/src/__mocks__/@/store/deactivateModHelpers.ts b/applications/browser-extension/src/__mocks__/@/store/deactivateModHelpers.ts similarity index 79% rename from src/__mocks__/@/store/deactivateModHelpers.ts rename to applications/browser-extension/src/__mocks__/@/store/deactivateModHelpers.ts index c272c6d511..307cdfdbd8 100644 --- a/src/__mocks__/@/store/deactivateModHelpers.ts +++ b/applications/browser-extension/src/__mocks__/@/store/deactivateModHelpers.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { AppDispatch } from "@/extensionConsole/store"; -import { actions as modComponentActions } from "@/store/modComponents/modComponentSlice"; -import type { RegistryId } from "@/types/registryTypes"; -import type { UUID } from "@/types/stringTypes"; +import { AppDispatch } from "../../../extensionConsole/store"; +import { actions as modComponentActions } from "../../../store/modComponents/modComponentSlice"; +import type { RegistryId } from "../../../types/registryTypes"; +import type { UUID } from "../../../types/stringTypes"; export const deactivateMod = jest.fn( (modId: RegistryId, _modComponentIds: UUID[]) => diff --git a/src/__mocks__/@/telemetry/logging.ts b/applications/browser-extension/src/__mocks__/@/telemetry/logging.ts similarity index 100% rename from src/__mocks__/@/telemetry/logging.ts rename to applications/browser-extension/src/__mocks__/@/telemetry/logging.ts diff --git a/src/__mocks__/@/telemetry/reportError.ts b/applications/browser-extension/src/__mocks__/@/telemetry/reportError.ts similarity index 100% rename from src/__mocks__/@/telemetry/reportError.ts rename to applications/browser-extension/src/__mocks__/@/telemetry/reportError.ts diff --git a/src/__mocks__/@/telemetry/reportEvent.ts b/applications/browser-extension/src/__mocks__/@/telemetry/reportEvent.ts similarity index 100% rename from src/__mocks__/@/telemetry/reportEvent.ts rename to applications/browser-extension/src/__mocks__/@/telemetry/reportEvent.ts diff --git a/src/__mocks__/@/telemetry/telemetryHelpers.ts b/applications/browser-extension/src/__mocks__/@/telemetry/telemetryHelpers.ts similarity index 89% rename from src/__mocks__/@/telemetry/telemetryHelpers.ts rename to applications/browser-extension/src/__mocks__/@/telemetry/telemetryHelpers.ts index 6a1a4c2b5e..89deaef7e6 100644 --- a/src/__mocks__/@/telemetry/telemetryHelpers.ts +++ b/applications/browser-extension/src/__mocks__/@/telemetry/telemetryHelpers.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { uuidv4 } from "@/types/helpers"; -import { UUID } from "@/types/stringTypes"; +import { uuidv4 } from "../../../types/helpers"; +import { UUID } from "../../../types/stringTypes"; import { StorageItem } from "webext-storage"; export const getUUID = jest.fn().mockResolvedValue(uuidv4()); diff --git a/src/__mocks__/@/utils/expectContext.ts b/applications/browser-extension/src/__mocks__/@/utils/expectContext.ts similarity index 100% rename from src/__mocks__/@/utils/expectContext.ts rename to applications/browser-extension/src/__mocks__/@/utils/expectContext.ts diff --git a/src/__mocks__/@/utils/injectScriptTag.ts b/applications/browser-extension/src/__mocks__/@/utils/injectScriptTag.ts similarity index 100% rename from src/__mocks__/@/utils/injectScriptTag.ts rename to applications/browser-extension/src/__mocks__/@/utils/injectScriptTag.ts diff --git a/src/__mocks__/@/utils/injectStylesheet.ts b/applications/browser-extension/src/__mocks__/@/utils/injectStylesheet.ts similarity index 100% rename from src/__mocks__/@/utils/injectStylesheet.ts rename to applications/browser-extension/src/__mocks__/@/utils/injectStylesheet.ts diff --git a/src/__mocks__/@/utils/shadowWrap.js b/applications/browser-extension/src/__mocks__/@/utils/shadowWrap.js similarity index 100% rename from src/__mocks__/@/utils/shadowWrap.js rename to applications/browser-extension/src/__mocks__/@/utils/shadowWrap.js diff --git a/src/__mocks__/@xobotyi/scrollbar-width.js b/applications/browser-extension/src/__mocks__/@xobotyi/scrollbar-width.js similarity index 100% rename from src/__mocks__/@xobotyi/scrollbar-width.js rename to applications/browser-extension/src/__mocks__/@xobotyi/scrollbar-width.js diff --git a/src/__mocks__/browserMock.mjs b/applications/browser-extension/src/__mocks__/browserMock.mjs similarity index 100% rename from src/__mocks__/browserMock.mjs rename to applications/browser-extension/src/__mocks__/browserMock.mjs diff --git a/src/__mocks__/connected-react-router.js b/applications/browser-extension/src/__mocks__/connected-react-router.js similarity index 100% rename from src/__mocks__/connected-react-router.js rename to applications/browser-extension/src/__mocks__/connected-react-router.js diff --git a/src/__mocks__/fit-textarea.js b/applications/browser-extension/src/__mocks__/fit-textarea.js similarity index 100% rename from src/__mocks__/fit-textarea.js rename to applications/browser-extension/src/__mocks__/fit-textarea.js diff --git a/src/__mocks__/holderjs.js b/applications/browser-extension/src/__mocks__/holderjs.js similarity index 100% rename from src/__mocks__/holderjs.js rename to applications/browser-extension/src/__mocks__/holderjs.js diff --git a/src/__mocks__/react-virtualized-auto-sizer.js b/applications/browser-extension/src/__mocks__/react-virtualized-auto-sizer.js similarity index 100% rename from src/__mocks__/react-virtualized-auto-sizer.js rename to applications/browser-extension/src/__mocks__/react-virtualized-auto-sizer.js diff --git a/src/__mocks__/readme.md b/applications/browser-extension/src/__mocks__/readme.md similarity index 92% rename from src/__mocks__/readme.md rename to applications/browser-extension/src/__mocks__/readme.md index 6a876e63e2..d67aa3e1b9 100644 --- a/src/__mocks__/readme.md +++ b/applications/browser-extension/src/__mocks__/readme.md @@ -18,7 +18,7 @@ To do that, use `jest.mock` and `jest.requireActual` to change the resolution, f ```js // Disable automatic __mocks__ resolution #6799 -jest.mock("@/telemetry/logging", () => jest.requireActual("./logging.ts")); +jest.mock("applications/browser-extension/src/__mocks__/@/telemetry/logging", () => jest.requireActual("./logging.ts")); ``` Note that you can't use `@/` in `requireActual` as that will likely still use the auto-mock. diff --git a/src/__mocks__/redux-state-sync.js b/applications/browser-extension/src/__mocks__/redux-state-sync.js similarity index 100% rename from src/__mocks__/redux-state-sync.js rename to applications/browser-extension/src/__mocks__/redux-state-sync.js diff --git a/src/__mocks__/stringMock.js b/applications/browser-extension/src/__mocks__/stringMock.js similarity index 100% rename from src/__mocks__/stringMock.js rename to applications/browser-extension/src/__mocks__/stringMock.js diff --git a/src/__mocks__/webext-detect.ts b/applications/browser-extension/src/__mocks__/webext-detect.ts similarity index 100% rename from src/__mocks__/webext-detect.ts rename to applications/browser-extension/src/__mocks__/webext-detect.ts diff --git a/src/__mocks__/webext-messenger.js b/applications/browser-extension/src/__mocks__/webext-messenger.js similarity index 100% rename from src/__mocks__/webext-messenger.js rename to applications/browser-extension/src/__mocks__/webext-messenger.js diff --git a/src/__snapshots__/Storyshots.test.js.snap b/applications/browser-extension/src/__snapshots__/Storyshots.test.js.snap similarity index 100% rename from src/__snapshots__/Storyshots.test.js.snap rename to applications/browser-extension/src/__snapshots__/Storyshots.test.js.snap diff --git a/src/activation/ActivationLink.tsx b/applications/browser-extension/src/activation/ActivationLink.tsx similarity index 89% rename from src/activation/ActivationLink.tsx rename to applications/browser-extension/src/activation/ActivationLink.tsx index 4939496762..1ae001dcab 100644 --- a/src/activation/ActivationLink.tsx +++ b/applications/browser-extension/src/activation/ActivationLink.tsx @@ -17,14 +17,14 @@ import { type RegistryId } from "@/types/registryTypes"; import React from "react"; -import notify from "@/utils/notify"; +import notify from "../utils/notify"; // eslint-disable-next-line no-restricted-imports -- Not actually using Form itself import { Form, InputGroup } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCopy } from "@fortawesome/free-solid-svg-icons"; -import AsyncButton from "@/components/AsyncButton"; -import { writeToClipboard } from "@/utils/clipboardUtils"; -import { createActivationUrl } from "@/activation/activationLinkUtils"; +import AsyncButton from "../components/AsyncButton"; +import { writeToClipboard } from "../utils/clipboardUtils"; +import { createActivationUrl } from "./activationLinkUtils"; type ActivationLinkProps = { modId: RegistryId; diff --git a/src/activation/PersonalDeploymentField.tsx b/applications/browser-extension/src/activation/PersonalDeploymentField.tsx similarity index 87% rename from src/activation/PersonalDeploymentField.tsx rename to applications/browser-extension/src/activation/PersonalDeploymentField.tsx index a2b117f51a..e01f1f1dc6 100644 --- a/src/activation/PersonalDeploymentField.tsx +++ b/applications/browser-extension/src/activation/PersonalDeploymentField.tsx @@ -16,8 +16,8 @@ */ import React from "react"; -import BooleanWidget from "@/components/fields/schemaFields/widgets/BooleanWidget"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; +import BooleanWidget from "../components/fields/schemaFields/widgets/BooleanWidget"; +import ConnectedFieldTemplate from "../components/form/ConnectedFieldTemplate"; const PersonalDeploymentField: React.FunctionComponent = () => ( { diff --git a/src/activation/activationLinkUtils.ts b/applications/browser-extension/src/activation/activationLinkUtils.ts similarity index 96% rename from src/activation/activationLinkUtils.ts rename to applications/browser-extension/src/activation/activationLinkUtils.ts index 5c11b679bd..f01d6af74a 100644 --- a/src/activation/activationLinkUtils.ts +++ b/applications/browser-extension/src/activation/activationLinkUtils.ts @@ -16,16 +16,16 @@ */ import type { EncodedJSON } from "@/types/stringTypes"; -import type { Nullishable } from "@/utils/nullishUtils"; +import type { Nullishable } from "../utils/nullishUtils"; import type { JsonObject } from "type-fest"; import type { RegistryId } from "@/types/registryTypes"; import { isRegistryId } from "@/types/helpers"; -import { DEFAULT_SERVICE_URL } from "@/urlConstants"; +import { DEFAULT_SERVICE_URL } from "../urlConstants"; import type { ModActivationConfig } from "@/types/modTypes"; import { isEmpty, uniq } from "lodash"; import deepEquals from "fast-deep-equal"; import { base64ToString, stringToBase64 } from "uint8array-extras"; -import { isPixieBrixDomain } from "@/utils/urlUtils"; +import { isPixieBrixDomain } from "../utils/urlUtils"; const ACTIVATE_PATH = "/activate"; diff --git a/src/activation/mapModComponentDefinitionToActivatedModComponent.ts b/applications/browser-extension/src/activation/mapModComponentDefinitionToActivatedModComponent.ts similarity index 91% rename from src/activation/mapModComponentDefinitionToActivatedModComponent.ts rename to applications/browser-extension/src/activation/mapModComponentDefinitionToActivatedModComponent.ts index 13cb9aa45f..c7f29ea758 100644 --- a/src/activation/mapModComponentDefinitionToActivatedModComponent.ts +++ b/applications/browser-extension/src/activation/mapModComponentDefinitionToActivatedModComponent.ts @@ -17,17 +17,17 @@ import type { ActivatedModComponent } from "@/types/modComponentTypes"; import { uuidv4 } from "@/types/helpers"; -import mapModDefinitionToModMetadata from "@/modDefinitions/util/mapModDefinitionToModMetadata"; -import getModDefinitionIntegrationIds from "@/integrations/util/getModDefinitionIntegrationIds"; +import mapModDefinitionToModMetadata from "../modDefinitions/util/mapModDefinitionToModMetadata"; +import getModDefinitionIntegrationIds from "../integrations/util/getModDefinitionIntegrationIds"; import type { ModComponentDefinition, ModDefinition, } from "@/types/modDefinitionTypes"; import type { Deployment } from "@/types/contract"; import type { OptionsArgs } from "@/types/runtimeTypes"; -import type { IntegrationDependency } from "@/integrations/integrationTypes"; -import { nowTimestamp } from "@/utils/timeUtils"; -import { emptyModVariablesDefinitionFactory } from "@/utils/modUtils"; +import type { IntegrationDependency } from "../integrations/integrationTypes"; +import { nowTimestamp } from "../utils/timeUtils"; +import { emptyModVariablesDefinitionFactory } from "../utils/modUtils"; import type { SetRequired } from "type-fest"; export type ActivateModComponentParam = { diff --git a/src/activation/modOptionsHelpers.ts b/applications/browser-extension/src/activation/modOptionsHelpers.ts similarity index 94% rename from src/activation/modOptionsHelpers.ts rename to applications/browser-extension/src/activation/modOptionsHelpers.ts index 7d9d7e76d2..2909da594d 100644 --- a/src/activation/modOptionsHelpers.ts +++ b/applications/browser-extension/src/activation/modOptionsHelpers.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { isDatabasePreviewField } from "@/components/fields/schemaFields/fieldTypeCheckers"; +import { isDatabasePreviewField } from "../components/fields/schemaFields/fieldTypeCheckers"; import { isEmpty } from "lodash"; import { isUUID } from "@/types/helpers"; import type { ModDefinition } from "@/types/modDefinitionTypes"; @@ -23,17 +23,17 @@ import type { UUID } from "@/types/stringTypes"; import type { OptionsArgs } from "@/types/runtimeTypes"; import type { Schema } from "@/types/schemaTypes"; import type { Deployment, DeploymentPayload } from "@/types/contract"; -import { getIsPersonalDeployment } from "@/store/modComponents/modInstanceUtils"; -import { PIXIEBRIX_INTEGRATION_ID } from "@/integrations/constants"; -import notify from "@/utils/notify"; +import { getIsPersonalDeployment } from "../store/modComponents/modInstanceUtils"; +import { PIXIEBRIX_INTEGRATION_ID } from "../integrations/constants"; +import notify from "../utils/notify"; import { appApi, useCreateUserDeploymentMutation, useDeleteUserDeploymentMutation, -} from "@/data/service/api"; +} from "../data/service/api"; import { useCallback } from "react"; import { type ModInstance } from "@/types/modInstanceTypes"; -import type { WizardValues } from "@/activation/wizardTypes"; +import type { WizardValues } from "./wizardTypes"; /** * Returns the default database name for an auto-created database. diff --git a/src/activation/useActivateMod.test.ts b/applications/browser-extension/src/activation/useActivateMod.test.ts similarity index 93% rename from src/activation/useActivateMod.test.ts rename to applications/browser-extension/src/activation/useActivateMod.test.ts index 32e671b3c7..ccadaf64f6 100644 --- a/src/activation/useActivateMod.test.ts +++ b/applications/browser-extension/src/activation/useActivateMod.test.ts @@ -15,43 +15,43 @@ * along with this program. If not, see . */ -import { type WizardValues } from "@/activation/wizardTypes"; -import { renderHook } from "@/pageEditor/testHelpers"; +import { type WizardValues } from "./wizardTypes"; +import { renderHook } from "../pageEditor/testHelpers"; import useActivateMod from "./useActivateMod"; import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { type StarterBrickDefinitionLike } from "@/starterBricks/types"; -import { type ContextMenuDefinition } from "@/starterBricks/contextMenu/contextMenuTypes"; -import { deactivateMod } from "@/store/deactivateModHelpers"; +import { type StarterBrickDefinitionLike } from "../starterBricks/types"; +import { type ContextMenuDefinition } from "../starterBricks/contextMenu/contextMenuTypes"; +import { deactivateMod } from "../store/deactivateModHelpers"; import { type ModDefinition } from "@/types/modDefinitionTypes"; -import modComponentSlice from "@/store/modComponents/modComponentSlice"; +import modComponentSlice from "../store/modComponents/modComponentSlice"; import { type InnerDefinitions } from "@/types/registryTypes"; -import { checkModDefinitionPermissions } from "@/modDefinitions/modDefinitionPermissionsHelpers"; -import { emptyPermissionsFactory } from "@/permissions/permissionsUtils"; -import databaseSchema from "@schemas/database.json"; +import { checkModDefinitionPermissions } from "../modDefinitions/modDefinitionPermissionsHelpers"; +import { emptyPermissionsFactory } from "../permissions/permissionsUtils"; +import databaseSchema from "../../schemas/database.json"; import { set } from "lodash"; import { modComponentDefinitionFactory, starterBrickDefinitionFactory, defaultModDefinitionFactory, -} from "@/testUtils/factories/modDefinitionFactories"; -import { metadataFactory } from "@/testUtils/factories/metadataFactory"; -import { databaseFactory } from "@/testUtils/factories/databaseFactories"; -import { reloadModsEveryTab } from "@/contentScript/messenger/api"; -import { appApiMock } from "@/testUtils/appApiMock"; +} from "../testUtils/factories/modDefinitionFactories"; +import { metadataFactory } from "../testUtils/factories/metadataFactory"; +import { databaseFactory } from "../testUtils/factories/databaseFactories"; +import { reloadModsEveryTab } from "../contentScript/messenger/api"; +import { appApiMock } from "../testUtils/appApiMock"; import type MockAdapter from "axios-mock-adapter"; import { StarterBrickTypes } from "@/types/starterBrickTypes"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { editablePackageMetadataFactory } from "@/testUtils/factories/registryFactories"; -import notify from "@/utils/notify"; +import { API_PATHS } from "../data/service/urlPaths"; +import { waitForEffect } from "../testUtils/testHelpers"; +import { editablePackageMetadataFactory } from "../testUtils/factories/registryFactories"; +import notify from "../utils/notify"; import { type Deployment, type EditablePackageMetadata, } from "@/types/contract"; -import { activatableDeploymentFactory } from "@/testUtils/factories/deploymentFactories"; +import { activatableDeploymentFactory } from "../testUtils/factories/deploymentFactories"; -jest.mock("@/contentScript/messenger/api"); -jest.mock("@/utils/notify"); +jest.mock("../contentScript/messenger/api"); +jest.mock("../utils/notify"); const mockedNotifyError = jest.mocked(notify.error); const checkPermissionsMock = jest.mocked(checkModDefinitionPermissions); diff --git a/src/activation/useActivateMod.ts b/applications/browser-extension/src/activation/useActivateMod.ts similarity index 86% rename from src/activation/useActivateMod.ts rename to applications/browser-extension/src/activation/useActivateMod.ts index d635e8d921..2790f11df7 100644 --- a/src/activation/useActivateMod.ts +++ b/applications/browser-extension/src/activation/useActivateMod.ts @@ -15,26 +15,26 @@ * along with this program. If not, see . */ -import { type WizardValues } from "@/activation/wizardTypes"; +import { type WizardValues } from "./wizardTypes"; import { type ModDefinition } from "@/types/modDefinitionTypes"; import { useCallback } from "react"; import { useDispatch, useSelector } from "react-redux"; -import modComponentSlice from "@/store/modComponents/modComponentSlice"; -import reportEvent from "@/telemetry/reportEvent"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { deactivateMod } from "@/store/deactivateModHelpers"; -import { ensurePermissionsFromUserGesture } from "@/permissions/permissionsUtils"; -import { checkModDefinitionPermissions } from "@/modDefinitions/modDefinitionPermissionsHelpers"; -import { useCreateDatabaseMutation } from "@/data/service/api"; -import { Events } from "@/telemetry/events"; -import { reloadModsEveryTab } from "@/contentScript/messenger/api"; +import modComponentSlice from "../store/modComponents/modComponentSlice"; +import reportEvent from "../telemetry/reportEvent"; +import { getErrorMessage } from "../errors/errorHelpers"; +import { deactivateMod } from "../store/deactivateModHelpers"; +import { ensurePermissionsFromUserGesture } from "../permissions/permissionsUtils"; +import { checkModDefinitionPermissions } from "../modDefinitions/modDefinitionPermissionsHelpers"; +import { useCreateDatabaseMutation } from "../data/service/api"; +import { Events } from "../telemetry/events"; +import { reloadModsEveryTab } from "../contentScript/messenger/api"; import { autoCreateDatabaseOptionsArgsInPlace, useManagePersonalDeployment, -} from "@/activation/modOptionsHelpers"; -import { type ReportEventData } from "@/telemetry/telemetryTypes"; -import { selectModInstanceMap } from "@/store/modComponents/modInstanceSelectors"; -import { type AppDispatch } from "@/extensionConsole/store"; +} from "./modOptionsHelpers"; +import { type ReportEventData } from "../telemetry/telemetryTypes"; +import { selectModInstanceMap } from "../store/modComponents/modInstanceSelectors"; +import { type AppDispatch } from "../extensionConsole/store"; export type ActivateResult = { success: boolean; diff --git a/src/activation/useActivateModWizard.test.tsx b/applications/browser-extension/src/activation/useActivateModWizard.test.tsx similarity index 87% rename from src/activation/useActivateModWizard.test.tsx rename to applications/browser-extension/src/activation/useActivateModWizard.test.tsx index bab29518bd..34af42ebb8 100644 --- a/src/activation/useActivateModWizard.test.tsx +++ b/applications/browser-extension/src/activation/useActivateModWizard.test.tsx @@ -17,42 +17,42 @@ import useActivateModWizard, { wizardStateFactory, -} from "@/activation/useActivateModWizard"; -import useDatabaseOptions from "@/hooks/useDatabaseOptions"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; +} from "./useActivateModWizard"; +import useDatabaseOptions from "../hooks/useDatabaseOptions"; +import { valueToAsyncState } from "../utils/asyncStateUtils"; import * as Yup from "yup"; import { autoUUIDSequence, uuidSequence, -} from "@/testUtils/factories/stringFactories"; -import { defaultModDefinitionFactory } from "@/testUtils/factories/modDefinitionFactories"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { makeDatabasePreviewName } from "@/activation/modOptionsHelpers"; +} from "../testUtils/factories/stringFactories"; +import { defaultModDefinitionFactory } from "../testUtils/factories/modDefinitionFactories"; +import { propertiesToSchema } from "../utils/schemaUtils"; +import { makeDatabasePreviewName } from "./modOptionsHelpers"; import { FeatureFlags, mapRestrictedFeatureToFeatureFlag, RestrictedFeatures, -} from "@/auth/featureFlags"; -import { publicSharingDefinitionFactory } from "@/testUtils/factories/registryFactories"; -import { BusinessError } from "@/errors/businessErrors"; +} from "../auth/featureFlags"; +import { publicSharingDefinitionFactory } from "../testUtils/factories/registryFactories"; +import { BusinessError } from "../errors/businessErrors"; import { type RegistryId } from "@/types/registryTypes"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { renderHook } from "@/extensionConsole/testHelpers"; +import { appApiMock } from "../testUtils/appApiMock"; +import { renderHook } from "../extensionConsole/testHelpers"; import { waitFor } from "@testing-library/react"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { type WizardStep } from "@/activation/wizardTypes"; +import { API_PATHS } from "../data/service/urlPaths"; +import { type WizardStep } from "./wizardTypes"; -jest.mock("@/components/integrations/AuthWidget", () => {}); +jest.mock("../components/integrations/AuthWidget", () => {}); -jest.mock("@/hooks/useDatabaseOptions", () => ({ +jest.mock("../hooks/useDatabaseOptions", () => ({ __esModule: true, default: jest.fn(() => valueToAsyncState([])), })); const useDatabaseOptionsMock = jest.mocked(useDatabaseOptions); -jest.mock("@/hooks/useAsyncModOptionsValidationSchema", () => ({ +jest.mock("../hooks/useAsyncModOptionsValidationSchema", () => ({ __esModule: true, default: jest.fn(() => valueToAsyncState({})), })); diff --git a/src/activation/useActivateModWizard.ts b/applications/browser-extension/src/activation/useActivateModWizard.ts similarity index 83% rename from src/activation/useActivateModWizard.ts rename to applications/browser-extension/src/activation/useActivateModWizard.ts index 8b52c5bd5f..8d215c8db5 100644 --- a/src/activation/useActivateModWizard.ts +++ b/applications/browser-extension/src/activation/useActivateModWizard.ts @@ -15,47 +15,47 @@ * along with this program. If not, see . */ -import { type WizardStep, type WizardValues } from "@/activation/wizardTypes"; +import { type WizardStep, type WizardValues } from "./wizardTypes"; import type React from "react"; import { mapValues } from "lodash"; -import OptionsBody from "@/extensionConsole/pages/activateMod/OptionsBody"; -import IntegrationsBody from "@/extensionConsole/pages/activateMod/IntegrationsBody"; -import PermissionsBody from "@/extensionConsole/pages/activateMod/PermissionsBody"; +import OptionsBody from "../extensionConsole/pages/activateMod/OptionsBody"; +import IntegrationsBody from "../extensionConsole/pages/activateMod/IntegrationsBody"; +import PermissionsBody from "../extensionConsole/pages/activateMod/PermissionsBody"; import * as Yup from "yup"; import { type AnyObjectSchema } from "yup"; -import useAsyncModOptionsValidationSchema from "@/hooks/useAsyncModOptionsValidationSchema"; +import useAsyncModOptionsValidationSchema from "../hooks/useAsyncModOptionsValidationSchema"; import { type ModDefinition } from "@/types/modDefinitionTypes"; import { type Schema } from "@/types/schemaTypes"; import { type RegistryId } from "@/types/registryTypes"; -import { type AuthOption } from "@/auth/authTypes"; -import { isDatabaseField } from "@/components/fields/schemaFields/fieldTypeCheckers"; +import { type AuthOption } from "../auth/authTypes"; +import { isDatabaseField } from "../components/fields/schemaFields/fieldTypeCheckers"; import { type Primitive } from "type-fest"; -import useDatabaseOptions from "@/hooks/useDatabaseOptions"; -import useMergeAsyncState from "@/hooks/useMergeAsyncState"; -import { type Option } from "@/components/form/widgets/SelectWidget"; +import useDatabaseOptions from "../hooks/useDatabaseOptions"; +import useMergeAsyncState from "../hooks/useMergeAsyncState"; +import { type Option } from "../components/form/widgets/SelectWidget"; import { type FetchableAsyncState } from "@/types/sliceTypes"; -import { isPrimitive } from "@/utils/typeUtils"; -import { PIXIEBRIX_INTEGRATION_ID } from "@/integrations/constants"; -import getUnconfiguredComponentIntegrations from "@/integrations/util/getUnconfiguredComponentIntegrations"; -import { makeDatabasePreviewName } from "@/activation/modOptionsHelpers"; -import { BusinessError } from "@/errors/businessErrors"; +import { isPrimitive } from "../utils/typeUtils"; +import { PIXIEBRIX_INTEGRATION_ID } from "../integrations/constants"; +import getUnconfiguredComponentIntegrations from "../integrations/util/getUnconfiguredComponentIntegrations"; +import { makeDatabasePreviewName } from "./modOptionsHelpers"; +import { BusinessError } from "../errors/businessErrors"; import useOrganizationActivationPolicy, { type OrganizationActivationPolicyResult, -} from "@/activation/useOrganizationActivationPolicy"; -import PersonalDeploymentField from "@/activation/PersonalDeploymentField"; -import useFlags from "@/hooks/useFlags"; -import { type FeatureFlag, FeatureFlags } from "@/auth/featureFlags"; -import type { IntegrationDependency } from "@/integrations/integrationTypes"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; -import { freeze } from "@/utils/objectUtils"; -import { fallbackValue } from "@/utils/asyncStateUtils"; +} from "./useOrganizationActivationPolicy"; +import PersonalDeploymentField from "./PersonalDeploymentField"; +import useFlags from "../hooks/useFlags"; +import { type FeatureFlag, FeatureFlags } from "../auth/featureFlags"; +import type { IntegrationDependency } from "../integrations/integrationTypes"; +import { useAuthOptions } from "../hooks/useAuthOptions"; +import { freeze } from "../utils/objectUtils"; +import { fallbackValue } from "../utils/asyncStateUtils"; import type { ModInstance } from "@/types/modInstanceTypes"; -import useFindModInstance from "@/mods/hooks/useFindModInstance"; +import useFindModInstance from "../mods/hooks/useFindModInstance"; import { hasDefinedModOptions, normalizeModOptionsDefinition, -} from "@/utils/modUtils"; -import { getIsPersonalDeployment } from "@/store/modComponents/modInstanceUtils"; +} from "../utils/modUtils"; +import { getIsPersonalDeployment } from "../store/modComponents/modInstanceUtils"; const STEPS: WizardStep[] = [ { key: "services", label: "Integrations", Component: IntegrationsBody }, diff --git a/src/activation/useOrganizationActivationPolicy.ts b/applications/browser-extension/src/activation/useOrganizationActivationPolicy.ts similarity index 89% rename from src/activation/useOrganizationActivationPolicy.ts rename to applications/browser-extension/src/activation/useOrganizationActivationPolicy.ts index 39033331a3..8dc15547ad 100644 --- a/src/activation/useOrganizationActivationPolicy.ts +++ b/applications/browser-extension/src/activation/useOrganizationActivationPolicy.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import useFlags, { type FlagHelpers } from "@/hooks/useFlags"; +import useFlags, { type FlagHelpers } from "../hooks/useFlags"; import { type ModDefinition } from "@/types/modDefinitionTypes"; -import { RestrictedFeatures } from "@/auth/featureFlags"; +import { RestrictedFeatures } from "../auth/featureFlags"; import { useSelector } from "react-redux"; -import { selectOrganizations } from "@/auth/authSelectors"; +import { selectOrganizations } from "../auth/authSelectors"; import { type FetchableAsyncState } from "@/types/sliceTypes"; -import useMergeAsyncState from "@/hooks/useMergeAsyncState"; +import useMergeAsyncState from "../hooks/useMergeAsyncState"; export type OrganizationActivationPolicyResult = { /** diff --git a/src/activation/wizardTypes.ts b/applications/browser-extension/src/activation/wizardTypes.ts similarity index 94% rename from src/activation/wizardTypes.ts rename to applications/browser-extension/src/activation/wizardTypes.ts index 27876b9789..0ccc8481a8 100644 --- a/src/activation/wizardTypes.ts +++ b/applications/browser-extension/src/activation/wizardTypes.ts @@ -17,7 +17,7 @@ import type React from "react"; import type { ModDefinition } from "@/types/modDefinitionTypes"; -import type { IntegrationDependency } from "@/integrations/integrationTypes"; +import type { IntegrationDependency } from "../integrations/integrationTypes"; import type { OptionsArgs } from "@/types/runtimeTypes"; export type WizardStep = { diff --git a/src/analysis/AnalysisAnnotationsContext.ts b/applications/browser-extension/src/analysis/AnalysisAnnotationsContext.ts similarity index 97% rename from src/analysis/AnalysisAnnotationsContext.ts rename to applications/browser-extension/src/analysis/AnalysisAnnotationsContext.ts index 55a4f029d6..92c13af306 100644 --- a/src/analysis/AnalysisAnnotationsContext.ts +++ b/applications/browser-extension/src/analysis/AnalysisAnnotationsContext.ts @@ -19,7 +19,7 @@ import { createContext } from "react"; import { type AnalysisAnnotation, type AnalysisRootState, -} from "@/analysis/analysisTypes"; +} from "./analysisTypes"; import { createSelector } from "@reduxjs/toolkit"; const defaultSelector: (state: AnalysisRootState) => AnalysisAnnotation[] = diff --git a/src/analysis/ReduxAnalysisManager.ts b/applications/browser-extension/src/analysis/ReduxAnalysisManager.ts similarity index 97% rename from src/analysis/ReduxAnalysisManager.ts rename to applications/browser-extension/src/analysis/ReduxAnalysisManager.ts index 817f8d76f7..122aec96fd 100644 --- a/src/analysis/ReduxAnalysisManager.ts +++ b/applications/browser-extension/src/analysis/ReduxAnalysisManager.ts @@ -18,7 +18,7 @@ import { selectActiveModComponentFormState, selectGetModDraftStateForModId, -} from "@/pageEditor/store/editor/editorSelectors"; +} from "../pageEditor/store/editor/editorSelectors"; import { type AnyAction, createListenerMiddleware, @@ -32,7 +32,7 @@ import { type TypedActionCreator, } from "@reduxjs/toolkit/dist/listenerMiddleware/types"; import { type Analysis } from "./analysisTypes"; -import { type RootState } from "@/pageEditor/store/editor/pageEditorTypes"; +import { type RootState } from "../pageEditor/store/editor/pageEditorTypes"; import { debounce } from "lodash"; import { type UUID } from "@/types/stringTypes"; import AsyncAnalysisQueue from "./asyncAnalysisQueue"; diff --git a/src/analysis/analysisSelectors.ts b/applications/browser-extension/src/analysis/analysisSelectors.ts similarity index 97% rename from src/analysis/analysisSelectors.ts rename to applications/browser-extension/src/analysis/analysisSelectors.ts index edb2a98944..1baa046bce 100644 --- a/src/analysis/analysisSelectors.ts +++ b/applications/browser-extension/src/analysis/analysisSelectors.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { freeze } from "@/utils/objectUtils"; +import { freeze } from "../utils/objectUtils"; import { type AnalysisRootState, type AnalysisAnnotation, diff --git a/src/analysis/analysisSlice.ts b/applications/browser-extension/src/analysis/analysisSlice.ts similarity index 97% rename from src/analysis/analysisSlice.ts rename to applications/browser-extension/src/analysis/analysisSlice.ts index 3760d96510..46c572e438 100644 --- a/src/analysis/analysisSlice.ts +++ b/applications/browser-extension/src/analysis/analysisSlice.ts @@ -17,10 +17,7 @@ */ import { createSlice, type PayloadAction } from "@reduxjs/toolkit"; -import { - type AnalysisState, - type AnalysisAnnotation, -} from "@/analysis/analysisTypes"; +import { type AnalysisState, type AnalysisAnnotation } from "./analysisTypes"; import type VarMap from "./analysisVisitors/varAnalysis/varMap"; import { type ErrorObject } from "serialize-error"; import { type UUID } from "@/types/stringTypes"; diff --git a/src/analysis/analysisTypes.ts b/applications/browser-extension/src/analysis/analysisTypes.ts similarity index 92% rename from src/analysis/analysisTypes.ts rename to applications/browser-extension/src/analysis/analysisTypes.ts index 84126e9d77..f546c723a1 100644 --- a/src/analysis/analysisTypes.ts +++ b/applications/browser-extension/src/analysis/analysisTypes.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { type BrickPosition } from "@/bricks/types"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; +import { type BrickPosition } from "../bricks/types"; +import { type ModComponentFormState } from "../pageEditor/starterBricks/formStateTypes"; import type VarMap from "./analysisVisitors/varAnalysis/varMap"; import { type BaseAnnotation } from "@/types/annotationTypes"; import { type UUID } from "@/types/stringTypes"; -import { type DraftModState } from "@/pageEditor/store/editor/pageEditorTypes"; +import { type DraftModState } from "../pageEditor/store/editor/pageEditorTypes"; export enum AnalysisAnnotationActionType { AddValueToArray, diff --git a/src/analysis/analysisVisitors/baseAnalysisVisitors.ts b/applications/browser-extension/src/analysis/analysisVisitors/baseAnalysisVisitors.ts similarity index 87% rename from src/analysis/analysisVisitors/baseAnalysisVisitors.ts rename to applications/browser-extension/src/analysis/analysisVisitors/baseAnalysisVisitors.ts index f200deb7b5..f1bc5b7336 100644 --- a/src/analysis/analysisVisitors/baseAnalysisVisitors.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/baseAnalysisVisitors.ts @@ -18,10 +18,10 @@ import { type Analysis, type AnalysisAnnotation, -} from "@/analysis/analysisTypes"; -import PipelineVisitor from "@/bricks/PipelineVisitor"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import brickRegistry, { type TypedBrickMap } from "@/bricks/registry"; +} from "../analysisTypes"; +import PipelineVisitor from "../../bricks/PipelineVisitor"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; +import brickRegistry, { type TypedBrickMap } from "../../bricks/registry"; /** * A base class for creating analysis visitors. diff --git a/src/analysis/analysisVisitors/brickIdVisitor.ts b/applications/browser-extension/src/analysis/analysisVisitors/brickIdVisitor.ts similarity index 90% rename from src/analysis/analysisVisitors/brickIdVisitor.ts rename to applications/browser-extension/src/analysis/analysisVisitors/brickIdVisitor.ts index 59331ffffe..aa2773d832 100644 --- a/src/analysis/analysisVisitors/brickIdVisitor.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/brickIdVisitor.ts @@ -17,9 +17,9 @@ import PipelineVisitor, { type VisitBlockExtra, -} from "@/bricks/PipelineVisitor"; -import { type RegistryId } from "@/types/registryTypes"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; +} from "../../bricks/PipelineVisitor"; +import { type RegistryId } from "../../types/registryTypes"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; import { castArray } from "lodash"; /** diff --git a/src/analysis/analysisVisitors/brickTypeAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/brickTypeAnalysis.test.ts similarity index 75% rename from src/analysis/analysisVisitors/brickTypeAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/brickTypeAnalysis.test.ts index a7ab36124d..79a24e0943 100644 --- a/src/analysis/analysisVisitors/brickTypeAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/brickTypeAnalysis.test.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import BrickTypeAnalysis from "@/analysis/analysisVisitors/brickTypeAnalysis"; -import brickRegistry from "@/bricks/registry"; -import CommentEffect from "@/bricks/effects/comment"; -import { sidebarPanelFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { createNewConfiguredBrick } from "@/bricks/exampleBrickConfigs"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import CancelEffect from "@/bricks/effects/CancelEffect"; -import { ALERT_EFFECT_ID, AlertEffect } from "@/bricks/effects/alert"; -import { ErrorEffect } from "@/bricks/effects/error"; +import BrickTypeAnalysis from "./brickTypeAnalysis"; +import brickRegistry from "../../bricks/registry"; +import CommentEffect from "../../bricks/effects/comment"; +import { sidebarPanelFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; +import { createNewConfiguredBrick } from "../../bricks/exampleBrickConfigs"; +import { DocumentRenderer } from "../../bricks/renderers/document"; +import CancelEffect from "../../bricks/effects/CancelEffect"; +import { ALERT_EFFECT_ID, AlertEffect } from "../../bricks/effects/alert"; +import { ErrorEffect } from "../../bricks/effects/error"; beforeAll(() => { brickRegistry.register([ diff --git a/src/analysis/analysisVisitors/brickTypeAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/brickTypeAnalysis.ts similarity index 84% rename from src/analysis/analysisVisitors/brickTypeAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/brickTypeAnalysis.ts index 6245cc64b2..29897af506 100644 --- a/src/analysis/analysisVisitors/brickTypeAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/brickTypeAnalysis.ts @@ -16,10 +16,10 @@ */ import { AnalysisVisitorWithResolvedBricksABC } from "./baseAnalysisVisitors"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { makeIsBrickAllowedForPipeline } from "@/bricks/brickFilterHelpers"; -import { AnnotationType } from "@/types/annotationTypes"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; +import { type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { makeIsBrickAllowedForPipeline } from "../../bricks/brickFilterHelpers"; +import { AnnotationType } from "../../types/annotationTypes"; class BrickTypeAnalysis extends AnalysisVisitorWithResolvedBricksABC { get id() { diff --git a/src/analysis/analysisVisitors/conditionAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/conditionAnalysis.test.ts similarity index 91% rename from src/analysis/analysisVisitors/conditionAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/conditionAnalysis.test.ts index f1767663a8..c5e7719d19 100644 --- a/src/analysis/analysisVisitors/conditionAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/conditionAnalysis.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { triggerFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { ContextBrick } from "@/runtime/pipelineTests/testHelpers"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { AnnotationType } from "@/types/annotationTypes"; -import ConditionAnalysis from "@/analysis/analysisVisitors/conditionAnalysis"; -import { toExpression } from "@/utils/expressionUtils"; -import { AnalysisAnnotationActionType } from "@/analysis/analysisTypes"; -import IfElse from "@/bricks/transformers/controlFlow/IfElse"; +import { triggerFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; +import { ContextBrick } from "../../runtime/pipelineTests/testHelpers"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import { AnnotationType } from "../../types/annotationTypes"; +import ConditionAnalysis from "./conditionAnalysis"; +import { toExpression } from "../../utils/expressionUtils"; +import { AnalysisAnnotationActionType } from "../analysisTypes"; +import IfElse from "../../bricks/transformers/controlFlow/IfElse"; describe("conditionAnalysis", () => { describe("brick condition", () => { diff --git a/src/analysis/analysisVisitors/conditionAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/conditionAnalysis.ts similarity index 89% rename from src/analysis/analysisVisitors/conditionAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/conditionAnalysis.ts index cda46ed09d..80f550959f 100644 --- a/src/analysis/analysisVisitors/conditionAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/conditionAnalysis.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import { nestedPosition, type VisitBlockExtra } from "@/bricks/PipelineVisitor"; +import { nestedPosition, type VisitBlockExtra } from "../../bricks/PipelineVisitor"; import { type BrickCondition, type BrickConfig, type BrickPosition, -} from "@/bricks/types"; +} from "../../bricks/types"; import { AnalysisVisitorABC } from "./baseAnalysisVisitors"; -import { getConstantConditionOrUndefined } from "@/runtime/runtimeUtils"; -import { isTemplateExpression } from "@/utils/expressionUtils"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { AnnotationType } from "@/types/annotationTypes"; -import { AnalysisAnnotationActionType } from "@/analysis/analysisTypes"; -import IfElse from "@/bricks/transformers/controlFlow/IfElse"; +import { getConstantConditionOrUndefined } from "../../runtime/runtimeUtils"; +import { isTemplateExpression } from "../../utils/expressionUtils"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import { AnnotationType } from "../../types/annotationTypes"; +import { AnalysisAnnotationActionType } from "../analysisTypes"; +import IfElse from "../../bricks/transformers/controlFlow/IfElse"; class ConditionAnalysis extends AnalysisVisitorABC { get id() { diff --git a/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts similarity index 92% rename from src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts index 90f4f9b6f6..169843657c 100644 --- a/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.test.ts @@ -18,12 +18,12 @@ import { formStateFactory, triggerFormStateFactory, -} from "@/testUtils/factories/pageEditorFactories"; -import CheckEventNamesAnalysis from "@/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis"; -import CustomEventEffect from "@/bricks/effects/customEvent"; -import { AnnotationType } from "@/types/annotationTypes"; +} from "../../../testUtils/factories/pageEditorFactories"; +import CheckEventNamesAnalysis from "./checkEventNamesAnalysis"; +import CustomEventEffect from "../../../bricks/effects/customEvent"; +import { AnnotationType } from "../../../types/annotationTypes"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../utils/expressionUtils"; describe("checkEventNamesAnalysis", () => { it("error on missing custom event", async () => { diff --git a/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts similarity index 91% rename from src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts index a653cc970d..82331b062f 100644 --- a/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/checkEventNamesAnalysis.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { AnalysisVisitorABC } from "@/analysis/analysisVisitors/baseAnalysisVisitors"; +import { AnalysisVisitorABC } from "../baseAnalysisVisitors"; import { type ModComponentFormState, isTriggerStarterBrick, -} from "@/pageEditor/starterBricks/formStateTypes"; +} from "../../../pageEditor/starterBricks/formStateTypes"; import { flatten, uniq } from "lodash"; -import { AnnotationType } from "@/types/annotationTypes"; +import { AnnotationType } from "../../../types/annotationTypes"; import CollectEventNamesVisitor, { type EventNameAnalysisResult, -} from "@/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor"; -import { DOM_EVENTS } from "@/types/browserTypes"; +} from "./collectEventNamesVisitor"; +import { DOM_EVENTS } from "../../../types/browserTypes"; /** * Analysis visitor to collect all events fired by a single ModComponentBase. diff --git a/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts similarity index 90% rename from src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts index 671072eff3..c09866604d 100644 --- a/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.test.ts @@ -18,11 +18,11 @@ import { formStateFactory, triggerFormStateFactory, -} from "@/testUtils/factories/pageEditorFactories"; -import CustomEventEffect from "@/bricks/effects/customEvent"; -import CollectEventNamesVisitor from "@/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor"; +} from "../../../testUtils/factories/pageEditorFactories"; +import CustomEventEffect from "../../../bricks/effects/customEvent"; +import CollectEventNamesVisitor from "./collectEventNamesVisitor"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../utils/expressionUtils"; describe("collectEventNamesAnalysis", () => { it("collects event name from literal", () => { diff --git a/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts similarity index 90% rename from src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts rename to applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts index 38f37ffa8e..838f70aecb 100644 --- a/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/eventNameAnalysis/collectEventNamesVisitor.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; +import { type BrickConfig, type BrickPosition } from "../../../bricks/types"; import PipelineVisitor, { type VisitBlockExtra, -} from "@/bricks/PipelineVisitor"; -import CustomEventEffect from "@/bricks/effects/customEvent"; -import { castTextLiteralOrThrow } from "@/utils/expressionUtils"; +} from "../../../bricks/PipelineVisitor"; +import CustomEventEffect from "../../../bricks/effects/customEvent"; +import { castTextLiteralOrThrow } from "../../../utils/expressionUtils"; import { isTriggerStarterBrick, type ModComponentFormState, -} from "@/pageEditor/starterBricks/formStateTypes"; +} from "../../../pageEditor/starterBricks/formStateTypes"; export type EventNameAnalysisResult = { /** diff --git a/src/analysis/analysisVisitors/formBrickAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/formBrickAnalysis.ts similarity index 89% rename from src/analysis/analysisVisitors/formBrickAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/formBrickAnalysis.ts index 2389cfc3d6..896bd63afa 100644 --- a/src/analysis/analysisVisitors/formBrickAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/formBrickAnalysis.ts @@ -20,10 +20,10 @@ import { type BrickConfig, type BrickPosition, PipelineFlavor, -} from "@/bricks/types"; -import { type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { FORM_MODAL_ID } from "@/pageEditor/fields/FormModalOptions"; -import { AnnotationType } from "@/types/annotationTypes"; +} from "../../bricks/types"; +import { type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { FORM_MODAL_ID } from "../../pageEditor/fields/FormModalOptions"; +import { AnnotationType } from "../../types/annotationTypes"; class FormBrickAnalysis extends AnalysisVisitorABC { get id() { diff --git a/src/analysis/analysisVisitors/httpRequestAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/httpRequestAnalysis.test.ts similarity index 93% rename from src/analysis/analysisVisitors/httpRequestAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/httpRequestAnalysis.test.ts index ff9931ac86..40c590c0d3 100644 --- a/src/analysis/analysisVisitors/httpRequestAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/httpRequestAnalysis.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type BrickPosition } from "@/bricks/types"; -import { type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import HttpRequestAnalysis from "@/analysis/analysisVisitors/httpRequestAnalysis"; -import { RemoteMethod } from "@/bricks/transformers/remoteMethod"; -import { AnnotationType } from "@/types/annotationTypes"; +import { type BrickPosition } from "../../bricks/types"; +import { type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import HttpRequestAnalysis from "./httpRequestAnalysis"; +import { RemoteMethod } from "../../bricks/transformers/remoteMethod"; +import { AnnotationType } from "../../types/annotationTypes"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../utils/expressionUtils"; const position: BrickPosition = { path: "test.path", diff --git a/src/analysis/analysisVisitors/httpRequestAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/httpRequestAnalysis.ts similarity index 90% rename from src/analysis/analysisVisitors/httpRequestAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/httpRequestAnalysis.ts index c03ad1b981..bcf5f0e9b5 100644 --- a/src/analysis/analysisVisitors/httpRequestAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/httpRequestAnalysis.ts @@ -16,14 +16,14 @@ */ import { AnalysisVisitorABC } from "./baseAnalysisVisitors"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { AnnotationType } from "@/types/annotationTypes"; -import { castTextLiteralOrThrow } from "@/utils/expressionUtils"; -import { RemoteMethod } from "@/bricks/transformers/remoteMethod"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; +import { type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { AnnotationType } from "../../types/annotationTypes"; +import { castTextLiteralOrThrow } from "../../utils/expressionUtils"; +import { RemoteMethod } from "../../bricks/transformers/remoteMethod"; import { isEmpty } from "lodash"; import { type JsonValue } from "type-fest"; -import { joinPathParts } from "@/utils/formUtils"; +import { joinPathParts } from "../../utils/formUtils"; function tryParse(value: unknown): JsonValue { if (typeof value === "string") { diff --git a/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.test.ts similarity index 100% rename from src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.test.ts diff --git a/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts similarity index 95% rename from src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts index a12ba8790b..9539fe4ee0 100644 --- a/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/modComponentUrlPatternAnalysis.ts @@ -18,11 +18,11 @@ import { type Analysis, type AnalysisAnnotation, -} from "@/analysis/analysisTypes"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; +} from "../analysisTypes"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; import { get, isEmpty } from "lodash"; -import { AnnotationType } from "@/types/annotationTypes"; -import { joinPathParts } from "@/utils/formUtils"; +import { AnnotationType } from "../../types/annotationTypes"; +import { joinPathParts } from "../../utils/formUtils"; // See URL patterns at https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns const urlRegexp = /^(?.*):\/\/(?[^/]*)?(?.*)?$/; diff --git a/src/analysis/analysisVisitors/outputKeyAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/outputKeyAnalysis.test.ts similarity index 82% rename from src/analysis/analysisVisitors/outputKeyAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/outputKeyAnalysis.test.ts index e806d3cc3d..48523d6265 100644 --- a/src/analysis/analysisVisitors/outputKeyAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/outputKeyAnalysis.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { triggerFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; +import { triggerFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; -import OutputKeyAnalysis from "@/analysis/analysisVisitors/outputKeyAnalysis"; -import { ContextBrick } from "@/runtime/pipelineTests/testHelpers"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { AnnotationType } from "@/types/annotationTypes"; +import OutputKeyAnalysis from "./outputKeyAnalysis"; +import { ContextBrick } from "../../runtime/pipelineTests/testHelpers"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import { AnnotationType } from "../../types/annotationTypes"; describe("outputKeyAnalysis", () => { it("no warning", async () => { diff --git a/src/analysis/analysisVisitors/outputKeyAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/outputKeyAnalysis.ts similarity index 91% rename from src/analysis/analysisVisitors/outputKeyAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/outputKeyAnalysis.ts index 03c2301f3f..6989bc2ffe 100644 --- a/src/analysis/analysisVisitors/outputKeyAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/outputKeyAnalysis.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { nestedPosition, type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; +import { nestedPosition, type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; import { AnalysisVisitorWithResolvedBricksABC } from "./baseAnalysisVisitors"; -import { AnnotationType } from "@/types/annotationTypes"; -import { brickTypeSupportsOutputKey } from "@/runtime/runtimeUtils"; +import { AnnotationType } from "../../types/annotationTypes"; +import { brickTypeSupportsOutputKey } from "../../runtime/runtimeUtils"; const outputKeyRegex = /^[A-Za-z][\dA-Za-z]*$/; diff --git a/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts similarity index 87% rename from src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts index 3cfb82de9d..7e7f30268a 100644 --- a/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.test.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { formStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import ModVariableSchemasVisitor from "@/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor"; -import AssignModVariable from "@/bricks/effects/assignModVariable"; -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; -import { toExpression } from "@/utils/expressionUtils"; +import { formStateFactory } from "../../../testUtils/factories/pageEditorFactories"; +import ModVariableSchemasVisitor from "./modVariableSchemasVisitor"; +import AssignModVariable from "../../../bricks/effects/assignModVariable"; +import registerBuiltinBricks from "../../../bricks/registerBuiltinBricks"; +import { toExpression } from "../../../utils/expressionUtils"; beforeAll(() => { registerBuiltinBricks(); diff --git a/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts similarity index 87% rename from src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts rename to applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts index 1dd2402617..0e2a1bc4c5 100644 --- a/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/modVariableSchemasVisitor.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; +import { type BrickConfig, type BrickPosition } from "../../../bricks/types"; import PipelineVisitor, { type VisitBlockExtra, -} from "@/bricks/PipelineVisitor"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import brickRegistry, { type TypedBrickMap } from "@/bricks/registry"; -import { type Schema } from "@/types/schemaTypes"; +} from "../../../bricks/PipelineVisitor"; +import { type ModComponentFormState } from "../../../pageEditor/starterBricks/formStateTypes"; +import brickRegistry, { type TypedBrickMap } from "../../../bricks/registry"; +import { type Schema } from "../../../types/schemaTypes"; import { compact, isEqual, uniqWith } from "lodash"; export type ModVariableSchemaResult = { diff --git a/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts similarity index 80% rename from src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts index 0ae4fc50c2..7a09c52a9d 100644 --- a/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.test.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { formStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { GetPageState, SetPageState } from "@/bricks/effects/pageState"; -import PageStateAnalysis from "@/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis"; -import { AnnotationType } from "@/types/annotationTypes"; -import { registryIdFactory } from "@/testUtils/factories/stringFactories"; -import { CustomFormRenderer } from "@/bricks/renderers/customForm"; -import { type BaseFormState } from "@/pageEditor/store/editor/baseFormStateTypes"; +import { formStateFactory } from "../../../testUtils/factories/pageEditorFactories"; +import { GetPageState, SetPageState } from "../../../bricks/effects/pageState"; +import PageStateAnalysis from "./pageStateAnalysis"; +import { AnnotationType } from "../../../types/annotationTypes"; +import { registryIdFactory } from "../../../testUtils/factories/stringFactories"; +import { CustomFormRenderer } from "../../../bricks/renderers/customForm"; +import { type BaseFormState } from "../../../pageEditor/store/editor/baseFormStateTypes"; -import { StateNamespaces } from "@/platform/state/stateTypes"; +import { StateNamespaces } from "../../../platform/state/stateTypes"; describe("PageStateAnalysis", () => { it.each([SetPageState.BRICK_ID, GetPageState.BRICK_ID])( diff --git a/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts similarity index 81% rename from src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts index fab5e696fa..1064a2613e 100644 --- a/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/pageStateAnalysis/pageStateAnalysis.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { nestedPosition, type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { AnalysisVisitorWithResolvedBricksABC } from "@/analysis/analysisVisitors/baseAnalysisVisitors"; -import { GetPageState, SetPageState } from "@/bricks/effects/pageState"; -import { AnnotationType } from "@/types/annotationTypes"; +import { nestedPosition, type VisitBlockExtra } from "../../../bricks/PipelineVisitor"; +import { type BrickConfig, type BrickPosition } from "../../../bricks/types"; +import { AnalysisVisitorWithResolvedBricksABC } from "../baseAnalysisVisitors"; +import { GetPageState, SetPageState } from "../../../bricks/effects/pageState"; +import { AnnotationType } from "../../../types/annotationTypes"; import { CustomFormRenderer, type StateStorage, type Storage, -} from "@/bricks/renderers/customForm"; +} from "../../../bricks/renderers/customForm"; -import { StateNamespaces } from "@/platform/state/stateTypes"; +import { StateNamespaces } from "../../../platform/state/stateTypes"; const publicMessage = "The Public namespace is for advanced use cases. Other Mods are able to read and overwrite Public state."; diff --git a/src/analysis/analysisVisitors/regexAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/regexAnalysis.ts similarity index 85% rename from src/analysis/analysisVisitors/regexAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/regexAnalysis.ts index f723a9db1e..795d98a659 100644 --- a/src/analysis/analysisVisitors/regexAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/regexAnalysis.ts @@ -16,16 +16,16 @@ */ import { AnalysisVisitorABC } from "./baseAnalysisVisitors"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { validateRegistryId } from "@/types/helpers"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { AnnotationType } from "@/types/annotationTypes"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; +import { type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { validateRegistryId } from "../../types/helpers"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { AnnotationType } from "../../types/annotationTypes"; import { containsTemplateExpression, isTemplateExpression, -} from "@/utils/expressionUtils"; -import { joinPathParts } from "@/utils/formUtils"; +} from "../../utils/expressionUtils"; +import { joinPathParts } from "../../utils/formUtils"; /** * Returns the regex literal pattern, or null if the regex is a variable or template expression diff --git a/src/analysis/analysisVisitors/regexAnalysisTest.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/regexAnalysisTest.test.ts similarity index 89% rename from src/analysis/analysisVisitors/regexAnalysisTest.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/regexAnalysisTest.test.ts index 133f6aa1d5..e8617bcf17 100644 --- a/src/analysis/analysisVisitors/regexAnalysisTest.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/regexAnalysisTest.test.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type BrickPosition } from "@/bricks/types"; -import RegexAnalysis from "@/analysis/analysisVisitors/regexAnalysis"; -import { validateRegistryId } from "@/types/helpers"; -import { type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { toExpression } from "@/utils/expressionUtils"; +import { type BrickPosition } from "../../bricks/types"; +import RegexAnalysis from "./regexAnalysis"; +import { validateRegistryId } from "../../types/helpers"; +import { type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { toExpression } from "../../utils/expressionUtils"; const position: BrickPosition = { path: "test.path", diff --git a/src/analysis/analysisVisitors/renderersAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/renderersAnalysis.ts similarity index 92% rename from src/analysis/analysisVisitors/renderersAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/renderersAnalysis.ts index bf82a3c8b9..6eefb950ae 100644 --- a/src/analysis/analysisVisitors/renderersAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/renderersAnalysis.ts @@ -20,14 +20,14 @@ import { type BrickConfig, type BrickPosition, PipelineFlavor, -} from "@/bricks/types"; +} from "../../bricks/types"; import { nestedPosition, type VisitPipelineExtra, -} from "@/bricks/PipelineVisitor"; -import { AnnotationType } from "@/types/annotationTypes"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { BrickTypes } from "@/runtime/runtimeTypes"; +} from "../../bricks/PipelineVisitor"; +import { AnnotationType } from "../../types/annotationTypes"; +import { assertNotNullish } from "../../utils/nullishUtils"; +import { BrickTypes } from "../../runtime/runtimeTypes"; /** @internal */ export const MULTIPLE_RENDERERS_ERROR_MESSAGE = diff --git a/src/analysis/analysisVisitors/requestPermissionAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/requestPermissionAnalysis.test.ts similarity index 89% rename from src/analysis/analysisVisitors/requestPermissionAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/requestPermissionAnalysis.test.ts index 5081ca1c98..e90b1fd1b2 100644 --- a/src/analysis/analysisVisitors/requestPermissionAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/requestPermissionAnalysis.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import RequestPermissionAnalysis from "@/analysis/analysisVisitors/requestPermissionAnalysis"; -import { RemoteMethod } from "@/bricks/transformers/remoteMethod"; -import { AnalysisAnnotationActionType } from "@/analysis/analysisTypes"; -import { triggerFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { brickConfigFactory } from "@/testUtils/factories/brickFactories"; -import { toExpression } from "@/utils/expressionUtils"; +import RequestPermissionAnalysis from "./requestPermissionAnalysis"; +import { RemoteMethod } from "../../bricks/transformers/remoteMethod"; +import { AnalysisAnnotationActionType } from "../analysisTypes"; +import { triggerFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; +import { brickConfigFactory } from "../../testUtils/factories/brickFactories"; +import { toExpression } from "../../utils/expressionUtils"; browser.permissions.contains = jest.fn().mockResolvedValue(true); const containsMock = jest.mocked(browser.permissions.contains); diff --git a/src/analysis/analysisVisitors/requestPermissionAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/requestPermissionAnalysis.ts similarity index 84% rename from src/analysis/analysisVisitors/requestPermissionAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/requestPermissionAnalysis.ts index 1987259e0c..b4ee773f20 100644 --- a/src/analysis/analysisVisitors/requestPermissionAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/requestPermissionAnalysis.ts @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import { nestedPosition, type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { GetAPITransformer } from "@/bricks/transformers/httpGet"; -import { RemoteMethod } from "@/bricks/transformers/remoteMethod"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; +import { nestedPosition, type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { GetAPITransformer } from "../../bricks/transformers/httpGet"; +import { RemoteMethod } from "../../bricks/transformers/remoteMethod"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; import { AnalysisVisitorABC } from "./baseAnalysisVisitors"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { AnnotationType } from "@/types/annotationTypes"; -import { AnalysisAnnotationActionType } from "@/analysis/analysisTypes"; -import { ensurePermissionsFromUserGesture } from "@/permissions/permissionsUtils"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { AnnotationType } from "../../types/annotationTypes"; +import { AnalysisAnnotationActionType } from "../analysisTypes"; +import { ensurePermissionsFromUserGesture } from "../../permissions/permissionsUtils"; import { containsTemplateExpression, isTemplateExpression, isVarExpression, -} from "@/utils/expressionUtils"; -import { allSettled } from "@/utils/promiseUtils"; -import { isUrlRelative } from "@/utils/urlUtils"; +} from "../../utils/expressionUtils"; +import { allSettled } from "../../utils/promiseUtils"; +import { isUrlRelative } from "../../utils/urlUtils"; /** * Checks permission for RemoteMethod and GetAPITransformer bricks to make a remote call diff --git a/src/analysis/analysisVisitors/selectorAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/selectorAnalysis.test.ts similarity index 95% rename from src/analysis/analysisVisitors/selectorAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/selectorAnalysis.test.ts index 0cc8325b6a..20471648db 100644 --- a/src/analysis/analysisVisitors/selectorAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/selectorAnalysis.test.ts @@ -17,15 +17,15 @@ import SelectorAnalysis, { findJQueryExtensions, -} from "@/analysis/analysisVisitors/selectorAnalysis"; +} from "./selectorAnalysis"; import { menuItemFormStateFactory, triggerFormStateFactory, -} from "@/testUtils/factories/pageEditorFactories"; -import type { AttachMode } from "@/starterBricks/button/buttonStarterBrickTypes"; -import { HighlightEffect } from "@/bricks/effects/highlight"; -import brickRegistry from "@/bricks/registry"; -import { JQueryReader } from "@/bricks/transformers/jquery/JQueryReader"; +} from "../../testUtils/factories/pageEditorFactories"; +import type { AttachMode } from "../../starterBricks/button/buttonStarterBrickTypes"; +import { HighlightEffect } from "../../bricks/effects/highlight"; +import brickRegistry from "../../bricks/registry"; +import { JQueryReader } from "../../bricks/transformers/jquery/JQueryReader"; const highlight = new HighlightEffect(); const reader = new JQueryReader(); diff --git a/src/analysis/analysisVisitors/selectorAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/selectorAnalysis.ts similarity index 91% rename from src/analysis/analysisVisitors/selectorAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/selectorAnalysis.ts index a933176c8c..0ef8c10001 100644 --- a/src/analysis/analysisVisitors/selectorAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/selectorAnalysis.ts @@ -19,24 +19,24 @@ import type { ButtonFormState, ModComponentFormState, TriggerFormState, -} from "@/pageEditor/starterBricks/formStateTypes"; -import { AnalysisVisitorWithResolvedBricksABC } from "@/analysis/analysisVisitors/baseAnalysisVisitors"; -import { isNativeCssSelector, isValidSelector } from "@/utils/domUtils"; -import { AnnotationType } from "@/types/annotationTypes"; +} from "../../pageEditor/starterBricks/formStateTypes"; +import { AnalysisVisitorWithResolvedBricksABC } from "./baseAnalysisVisitors"; +import { isNativeCssSelector, isValidSelector } from "../../utils/domUtils"; +import { AnnotationType } from "../../types/annotationTypes"; import { isEmpty } from "lodash"; -import pluralize from "@/utils/pluralize"; -import type { BrickConfig, BrickPosition } from "@/bricks/types"; -import { nestedPosition, type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { inputProperties } from "@/utils/schemaUtils"; +import pluralize from "../../utils/pluralize"; +import type { BrickConfig, BrickPosition } from "../../bricks/types"; +import { nestedPosition, type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { inputProperties } from "../../utils/schemaUtils"; import { castTextLiteralOrThrow, containsTemplateExpression, -} from "@/utils/expressionUtils"; -import { guessUsefulness } from "@/utils/detectRandomString"; -import type { Schema } from "@/types/schemaTypes"; -import { isObject } from "@/utils/objectUtils"; -import { StarterBrickTypes } from "@/types/starterBrickTypes"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; +} from "../../utils/expressionUtils"; +import { guessUsefulness } from "../../utils/detectRandomString"; +import type { Schema } from "../../types/schemaTypes"; +import { isObject } from "../../utils/objectUtils"; +import { StarterBrickTypes } from "../../types/starterBrickTypes"; +import IdentityTransformer from "../../bricks/transformers/IdentityTransformer"; // `jQuery` selector extension: https://api.jquery.com/category/selectors/jquery-selector-extensions/ const jQueryExtensions = new Set([ diff --git a/src/analysis/analysisVisitors/templateAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/templateAnalysis.test.ts similarity index 87% rename from src/analysis/analysisVisitors/templateAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/templateAnalysis.test.ts index 45efe2869b..a0e99a9b93 100644 --- a/src/analysis/analysisVisitors/templateAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/templateAnalysis.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type BrickPosition } from "@/bricks/types"; +import { type BrickPosition } from "../../bricks/types"; import TemplateAnalysis from "./templateAnalysis"; -import { toExpression } from "@/utils/expressionUtils"; -import { RemoteMethod } from "@/bricks/transformers/remoteMethod"; -import { triggerFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { brickConfigFactory } from "@/testUtils/factories/brickFactories"; -import { type Expression } from "@/types/runtimeTypes"; +import { toExpression } from "../../utils/expressionUtils"; +import { RemoteMethod } from "../../bricks/transformers/remoteMethod"; +import { triggerFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; +import { brickConfigFactory } from "../../testUtils/factories/brickFactories"; +import { type Expression } from "../../types/runtimeTypes"; const position: BrickPosition = { path: "test.path.property", diff --git a/src/analysis/analysisVisitors/templateAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/templateAnalysis.ts similarity index 83% rename from src/analysis/analysisVisitors/templateAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/templateAnalysis.ts index dbfa26f917..f9fd64c1a0 100644 --- a/src/analysis/analysisVisitors/templateAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/templateAnalysis.ts @@ -18,19 +18,19 @@ import { type Analysis, type AnalysisAnnotation, -} from "@/analysis/analysisTypes"; -import { type BrickPosition } from "@/bricks/types"; -import { isMustacheOnly } from "@/components/fields/fieldUtils"; -import PipelineExpressionVisitor from "@/bricks/PipelineExpressionVisitor"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import { type Expression } from "@/types/runtimeTypes"; -import { AnnotationType } from "@/types/annotationTypes"; +} from "../analysisTypes"; +import { type BrickPosition } from "../../bricks/types"; +import { isMustacheOnly } from "../../components/fields/fieldUtils"; +import PipelineExpressionVisitor from "../../bricks/PipelineExpressionVisitor"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; +import { type Expression } from "../../types/runtimeTypes"; +import { AnnotationType } from "../../types/annotationTypes"; import { isNunjucksExpression, isTemplateExpression, -} from "@/utils/expressionUtils"; -import { validateNunjucksTemplate } from "@/sandbox/messenger/api"; -import { getErrorMessage } from "@/errors/errorHelpers"; +} from "../../utils/expressionUtils"; +import { validateNunjucksTemplate } from "../../sandbox/messenger/api"; +import { getErrorMessage } from "../../errors/errorHelpers"; const TEMPLATE_ERROR_MESSAGE = "Invalid text template. Read more about text templates: https://docs.pixiebrix.com/developing-mods/developer-concepts/text-template-guide"; diff --git a/src/analysis/analysisVisitors/traceAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/traceAnalysis.test.ts similarity index 88% rename from src/analysis/analysisVisitors/traceAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/traceAnalysis.test.ts index dd34065c79..b6f26d4f5a 100644 --- a/src/analysis/analysisVisitors/traceAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/traceAnalysis.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import TraceAnalysis from "@/analysis/analysisVisitors/traceAnalysis"; +import TraceAnalysis from "./traceAnalysis"; import { serializeError } from "serialize-error"; -import { throwIfInvalidInput } from "@/runtime/runtimeUtils"; -import { JQTransformer } from "@/bricks/transformers/jq"; -import { BusinessError } from "@/errors/businessErrors"; -import { type RenderedArgs } from "@/types/runtimeTypes"; +import { throwIfInvalidInput } from "../../runtime/runtimeUtils"; +import { JQTransformer } from "../../bricks/transformers/jq"; +import { BusinessError } from "../../errors/businessErrors"; +import { type RenderedArgs } from "../../types/runtimeTypes"; describe("TraceAnalysis.mapErrorAnnotations", () => { test("handles invalid field value", async () => { diff --git a/src/analysis/analysisVisitors/traceAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/traceAnalysis.ts similarity index 87% rename from src/analysis/analysisVisitors/traceAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/traceAnalysis.ts index 0494296a4a..39e762d90c 100644 --- a/src/analysis/analysisVisitors/traceAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/traceAnalysis.ts @@ -16,21 +16,21 @@ */ import { AnalysisVisitorABC } from "./baseAnalysisVisitors"; -import { type AnalysisAnnotation } from "@/analysis/analysisTypes"; +import { type AnalysisAnnotation } from "../analysisTypes"; import { isTraceError, type TraceError, type TraceRecord, -} from "@/telemetry/trace"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { type UUID } from "@/types/stringTypes"; +} from "../../telemetry/trace"; +import { type BrickConfig, type BrickPosition } from "../../bricks/types"; +import { type UUID } from "../../types/stringTypes"; import { groupBy, isEmpty } from "lodash"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { isSchemaValidationError } from "@/bricks/errors"; -import { nestedPosition, type VisitBlockExtra } from "@/bricks/PipelineVisitor"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { isSchemaValidationError } from "../../bricks/errors"; +import { nestedPosition, type VisitBlockExtra } from "../../bricks/PipelineVisitor"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; import { type ErrorObject } from "serialize-error"; -import { AnnotationType } from "@/types/annotationTypes"; +import { AnnotationType } from "../../types/annotationTypes"; const requiredFieldRegex = /^Instance does not have required property "(?.+)"\.$/; diff --git a/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.test.ts similarity index 100% rename from src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.test.ts diff --git a/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts similarity index 99% rename from src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts rename to applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts index 51edba5f5b..0d247f0cd6 100644 --- a/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/parseTemplateVariables.ts @@ -19,7 +19,7 @@ // The logic here is heavily based on the nunjucks-variable-parser // https://github.com/archersado/nunjucks-variable-parser -import { addPathPart } from "@/runtime/pathHelpers"; +import { addPathPart } from "../../../runtime/pathHelpers"; // @ts-expect-error -- The typings of nunjucks do not expose parser and nodes import { parser, nodes } from "nunjucks"; diff --git a/src/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts similarity index 95% rename from src/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts index ac975b8a85..5d46843acb 100644 --- a/src/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varAnalysis.test.ts @@ -20,44 +20,44 @@ import VarAnalysis, { NO_VARIABLE_PROVIDED_MESSAGE, VARIABLE_SHOULD_START_WITH_AT_MESSAGE, } from "./varAnalysis"; -import { validateRegistryId } from "@/types/helpers"; -import { BrickTypes, validateOutputKey } from "@/runtime/runtimeTypes"; -import IfElse from "@/bricks/transformers/controlFlow/IfElse"; -import ForEach from "@/bricks/transformers/controlFlow/ForEach"; -import { EchoBrick } from "@/runtime/pipelineTests/testHelpers"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import modRegistry from "@/modDefinitions/registry"; -import brickRegistry from "@/bricks/registry"; +import { validateRegistryId } from "../../../types/helpers"; +import { BrickTypes, validateOutputKey } from "../../../runtime/runtimeTypes"; +import IfElse from "../../../bricks/transformers/controlFlow/IfElse"; +import ForEach from "../../../bricks/transformers/controlFlow/ForEach"; +import { EchoBrick } from "../../../runtime/pipelineTests/testHelpers"; +import { type ModComponentFormState } from "../../../pageEditor/starterBricks/formStateTypes"; +import modRegistry from "../../../modDefinitions/registry"; +import brickRegistry from "../../../bricks/registry"; import { SELF_EXISTENCE, VarExistence } from "./varMap"; -import TryExcept from "@/bricks/transformers/controlFlow/TryExcept"; -import ForEachElement from "@/bricks/transformers/controlFlow/ForEachElement"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { createNewDocumentBuilderElement } from "@/pageEditor/documentBuilder/createNewDocumentBuilderElement"; +import TryExcept from "../../../bricks/transformers/controlFlow/TryExcept"; +import ForEachElement from "../../../bricks/transformers/controlFlow/ForEachElement"; +import { DocumentRenderer } from "../../../bricks/renderers/document"; +import { createNewDocumentBuilderElement } from "../../../pageEditor/documentBuilder/createNewDocumentBuilderElement"; import { type ButtonElement, type DocumentBuilderElement, type ListElement, -} from "@/pageEditor/documentBuilder/documentBuilderTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { integrationConfigLocator } from "@/background/messenger/api"; -import { modMetadataFactory } from "@/testUtils/factories/modComponentFactories"; +} from "../../../pageEditor/documentBuilder/documentBuilderTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { integrationConfigLocator } from "../../../background/messenger/api"; +import { modMetadataFactory } from "../../../testUtils/factories/modComponentFactories"; import { draftModStateFactory, formStateFactory, triggerFormStateFactory, -} from "@/testUtils/factories/pageEditorFactories"; -import { defaultModDefinitionFactory } from "@/testUtils/factories/modDefinitionFactories"; +} from "../../../testUtils/factories/pageEditorFactories"; +import { defaultModDefinitionFactory } from "../../../testUtils/factories/modDefinitionFactories"; import { integrationDependencyFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import { brickConfigFactory } from "@/testUtils/factories/brickFactories"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; -import { CustomFormRenderer } from "@/bricks/renderers/customForm"; -import { toExpression } from "@/utils/expressionUtils"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; -import { createNewConfiguredBrick } from "@/bricks/exampleBrickConfigs"; -import pixiebrixIntegrationDependencyFactory from "@/integrations/util/pixiebrixIntegrationDependencyFactory"; +} from "../../../testUtils/factories/integrationFactories"; +import { brickConfigFactory } from "../../../testUtils/factories/brickFactories"; +import { uuidSequence } from "../../../testUtils/factories/stringFactories"; +import { CustomFormRenderer } from "../../../bricks/renderers/customForm"; +import { toExpression } from "../../../utils/expressionUtils"; +import IdentityTransformer from "../../../bricks/transformers/IdentityTransformer"; +import { createNewConfiguredBrick } from "../../../bricks/exampleBrickConfigs"; +import pixiebrixIntegrationDependencyFactory from "../../../integrations/util/pixiebrixIntegrationDependencyFactory"; jest .mocked(integrationConfigLocator.findSanitizedIntegrationConfig) @@ -69,7 +69,7 @@ jest // XXX: should be using actual bricks instead of a single outputSchema across all tests in order to test // different outputSchema scenarios -jest.mock("@/bricks/registry", () => ({ +jest.mock("../../../bricks/registry", () => ({ __esModule: true, default: { lookup: jest.fn().mockResolvedValue({ @@ -104,7 +104,7 @@ jest.mock("@/bricks/registry", () => ({ }, })); -jest.mock("@/modDefinitions/registry"); +jest.mock("../../../modDefinitions/registry"); describe("Collecting available vars", () => { function mockModWithOptions(optionsSchema: any) { diff --git a/src/analysis/analysisVisitors/varAnalysis/varAnalysis.ts b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varAnalysis.ts similarity index 93% rename from src/analysis/analysisVisitors/varAnalysis/varAnalysis.ts rename to applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varAnalysis.ts index 3323838d59..f5f7ded696 100644 --- a/src/analysis/analysisVisitors/varAnalysis/varAnalysis.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varAnalysis.ts @@ -17,48 +17,48 @@ import PipelineExpressionVisitor, { type VisitDocumentBuilderElementArgs, -} from "@/bricks/PipelineExpressionVisitor"; +} from "../../../bricks/PipelineExpressionVisitor"; import { nestedPosition, type VisitBlockExtra, type VisitPipelineExtra, -} from "@/bricks/PipelineVisitor"; -import { type BrickConfig, type BrickPosition } from "@/bricks/types"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import { getVariableKeyForSubPipeline } from "@/pageEditor/utils"; +} from "../../../bricks/PipelineVisitor"; +import { type BrickConfig, type BrickPosition } from "../../../bricks/types"; +import { type ModComponentFormState } from "../../../pageEditor/starterBricks/formStateTypes"; +import { getVariableKeyForSubPipeline } from "../../../pageEditor/utils"; import { isEmpty } from "lodash"; import { type Analysis, type AnalysisAnnotation, -} from "@/analysis/analysisTypes"; +} from "../../analysisTypes"; import VarMap, { VarExistence } from "./varMap"; -import { type TraceRecord } from "@/telemetry/trace"; +import { type TraceRecord } from "../../../telemetry/trace"; import parseTemplateVariables from "./parseTemplateVariables"; -import modRegistry from "@/modDefinitions/registry"; -import brickRegistry, { type TypedBrickMap } from "@/bricks/registry"; +import modRegistry from "../../../modDefinitions/registry"; +import brickRegistry, { type TypedBrickMap } from "../../../bricks/registry"; import { isDocumentBuilderElementArray, type ListElement, -} from "@/pageEditor/documentBuilder/documentBuilderTypes"; -import { fromJS } from "@/starterBricks/factory"; -import { type Schema } from "@/types/schemaTypes"; -import { type Expression, type TemplateEngine } from "@/types/runtimeTypes"; -import { AnnotationType } from "@/types/annotationTypes"; +} from "../../../pageEditor/documentBuilder/documentBuilderTypes"; +import { fromJS } from "../../../starterBricks/factory"; +import { type Schema } from "../../../types/schemaTypes"; +import { type Expression, type TemplateEngine } from "../../../types/runtimeTypes"; +import { AnnotationType } from "../../../types/annotationTypes"; import { isDeferExpression, isExpression, isNunjucksExpression, isVarExpression, -} from "@/utils/expressionUtils"; -import { MOD_VARIABLE_REFERENCE } from "@/runtime/extendModVariableContext"; -import { joinPathParts } from "@/utils/formUtils"; -import makeIntegrationContextFromDependencies from "@/integrations/util/makeIntegrationContextFromDependencies"; -import { getOutputReference, isOutputKey } from "@/runtime/runtimeTypes"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { BusinessError } from "@/errors/businessErrors"; -import { adapterForComponent } from "@/pageEditor/starterBricks/adapter"; -import { isInnerDefinitionRegistryId } from "@/types/helpers"; -import { type DraftModState } from "@/pageEditor/store/editor/pageEditorTypes"; +} from "../../../utils/expressionUtils"; +import { MOD_VARIABLE_REFERENCE } from "../../../runtime/extendModVariableContext"; +import { joinPathParts } from "../../../utils/formUtils"; +import makeIntegrationContextFromDependencies from "../../../integrations/util/makeIntegrationContextFromDependencies"; +import { getOutputReference, isOutputKey } from "../../../runtime/runtimeTypes"; +import { assertNotNullish } from "../../../utils/nullishUtils"; +import { BusinessError } from "../../../errors/businessErrors"; +import { adapterForComponent } from "../../../pageEditor/starterBricks/adapter"; +import { isInnerDefinitionRegistryId } from "../../../types/helpers"; +import { type DraftModState } from "../../../pageEditor/store/editor/pageEditorTypes"; /** @internal */ export const INVALID_VARIABLE_GENERIC_MESSAGE = "Invalid variable name"; diff --git a/src/analysis/analysisVisitors/varAnalysis/varMap.test.ts b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varMap.test.ts similarity index 100% rename from src/analysis/analysisVisitors/varAnalysis/varMap.test.ts rename to applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varMap.test.ts diff --git a/src/analysis/analysisVisitors/varAnalysis/varMap.ts b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varMap.ts similarity index 99% rename from src/analysis/analysisVisitors/varAnalysis/varMap.ts rename to applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varMap.ts index f042eb4a15..3918c834ab 100644 --- a/src/analysis/analysisVisitors/varAnalysis/varMap.ts +++ b/applications/browser-extension/src/analysis/analysisVisitors/varAnalysis/varMap.ts @@ -16,7 +16,7 @@ */ import { cloneDeep, get, set, setWith, toPath } from "lodash"; -import { stripOptionalChaining } from "@/utils/variableUtils"; +import { stripOptionalChaining } from "../../../utils/variableUtils"; export enum VarExistence { MAYBE = "MAYBE", diff --git a/src/analysis/asyncAnalysisQueue.test.ts b/applications/browser-extension/src/analysis/asyncAnalysisQueue.test.ts similarity index 100% rename from src/analysis/asyncAnalysisQueue.test.ts rename to applications/browser-extension/src/analysis/asyncAnalysisQueue.test.ts diff --git a/src/analysis/asyncAnalysisQueue.ts b/applications/browser-extension/src/analysis/asyncAnalysisQueue.ts similarity index 100% rename from src/analysis/asyncAnalysisQueue.ts rename to applications/browser-extension/src/analysis/asyncAnalysisQueue.ts diff --git a/src/auth/RequireAuth.test.tsx b/applications/browser-extension/src/auth/RequireAuth.test.tsx similarity index 100% rename from src/auth/RequireAuth.test.tsx rename to applications/browser-extension/src/auth/RequireAuth.test.tsx diff --git a/src/auth/RequireAuth.tsx b/applications/browser-extension/src/auth/RequireAuth.tsx similarity index 92% rename from src/auth/RequireAuth.tsx rename to applications/browser-extension/src/auth/RequireAuth.tsx index 1d6a581570..4904e59628 100644 --- a/src/auth/RequireAuth.tsx +++ b/applications/browser-extension/src/auth/RequireAuth.tsx @@ -17,21 +17,21 @@ import React, { useEffect } from "react"; import { useDispatch, useSelector } from "react-redux"; -import Loader from "@/components/Loader"; -import { useGetMeQuery } from "@/data/service/api"; -import { clearCachedAuthSecrets, updateUserData } from "@/auth/authStorage"; +import Loader from "../components/Loader"; +import { useGetMeQuery } from "../data/service/api"; +import { clearCachedAuthSecrets, updateUserData } from "./authStorage"; import { selectExtensionAuthState, selectUserDataUpdate, -} from "@/auth/authUtils"; -import { authActions } from "@/auth/authSlice"; -import { anonAuth } from "@/auth/authConstants"; -import { selectIsLoggedIn } from "@/auth/authSelectors"; +} from "./authUtils"; +import { authActions } from "./authSlice"; +import { anonAuth } from "./authConstants"; +import { selectIsLoggedIn } from "./authSelectors"; import { type AxiosError } from "axios"; -import useRequiredPartnerAuth from "@/auth/useRequiredPartnerAuth"; -import useLinkState from "@/auth/useLinkState"; -import { type Me } from "@/data/model/Me"; -import castError from "@/utils/castError"; +import useRequiredPartnerAuth from "./useRequiredPartnerAuth"; +import useLinkState from "./useLinkState"; +import { type Me } from "../data/model/Me"; +import castError from "../utils/castError"; import { type Location } from "history"; type RequireAuthProps = { diff --git a/src/auth/RequireScope.tsx b/applications/browser-extension/src/auth/RequireScope.tsx similarity index 96% rename from src/auth/RequireScope.tsx rename to applications/browser-extension/src/auth/RequireScope.tsx index aab6fc18c1..20124a3ecf 100644 --- a/src/auth/RequireScope.tsx +++ b/applications/browser-extension/src/auth/RequireScope.tsx @@ -18,7 +18,7 @@ import React from "react"; import { useSelector } from "react-redux"; import ScopeSettings from "./ScopeSettings"; -import { selectScope } from "@/auth/authSelectors"; +import { selectScope } from "./authSelectors"; type RequireScopeProps = { // A flag to opt out of the scope check but still have the RequireScope component in the tree. diff --git a/src/auth/ScopeSettings.module.scss b/applications/browser-extension/src/auth/ScopeSettings.module.scss similarity index 100% rename from src/auth/ScopeSettings.module.scss rename to applications/browser-extension/src/auth/ScopeSettings.module.scss diff --git a/src/auth/ScopeSettings.tsx b/applications/browser-extension/src/auth/ScopeSettings.tsx similarity index 95% rename from src/auth/ScopeSettings.tsx rename to applications/browser-extension/src/auth/ScopeSettings.tsx index 5b2f5fc882..e433aa3a9d 100644 --- a/src/auth/ScopeSettings.tsx +++ b/applications/browser-extension/src/auth/ScopeSettings.tsx @@ -24,19 +24,19 @@ import { castArray, mapValues } from "lodash"; import { faEyeSlash, faInfo } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { StatusCodes } from "http-status-codes"; -import notify from "@/utils/notify"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import { appApi } from "@/data/service/api"; +import notify from "../utils/notify"; +import ConnectedFieldTemplate from "../components/form/ConnectedFieldTemplate"; +import { appApi } from "../data/service/api"; import Form, { type OnSubmit, type RenderBody, type RenderSubmit, -} from "@/components/form/Form"; +} from "../components/form/Form"; import { type FormikErrors } from "formik"; import { isAxiosError, isSingleObjectBadRequestError, -} from "@/errors/networkErrorHelpers"; +} from "../errors/networkErrorHelpers"; type Profile = { scope: string | null; diff --git a/src/auth/authConstants.ts b/applications/browser-extension/src/auth/authConstants.ts similarity index 95% rename from src/auth/authConstants.ts rename to applications/browser-extension/src/auth/authConstants.ts index 7478110c85..b6fe081068 100644 --- a/src/auth/authConstants.ts +++ b/applications/browser-extension/src/auth/authConstants.ts @@ -18,7 +18,7 @@ import { StorageItem } from "webext-storage"; import { type AuthState } from "./authTypes"; import { type UUID } from "@/types/stringTypes"; -import { type AuthData } from "@/integrations/integrationTypes"; +import { type AuthData } from "../integrations/integrationTypes"; export const anonAuth: AuthState = Object.freeze({ userId: undefined, diff --git a/src/auth/authSelectors.ts b/applications/browser-extension/src/auth/authSelectors.ts similarity index 97% rename from src/auth/authSelectors.ts rename to applications/browser-extension/src/auth/authSelectors.ts index 33d6c475d5..06bffbb9fe 100644 --- a/src/auth/authSelectors.ts +++ b/applications/browser-extension/src/auth/authSelectors.ts @@ -16,7 +16,7 @@ */ import { type AuthRootState } from "./authTypes"; -import { LegacyUserRole } from "@/data/model/UserRole"; +import { LegacyUserRole } from "../data/model/UserRole"; import { compact } from "lodash"; import { createSelector } from "@reduxjs/toolkit"; diff --git a/src/auth/authSlice.ts b/applications/browser-extension/src/auth/authSlice.ts similarity index 94% rename from src/auth/authSlice.ts rename to applications/browser-extension/src/auth/authSlice.ts index 07530540f6..7dd06eef6a 100644 --- a/src/auth/authSlice.ts +++ b/applications/browser-extension/src/auth/authSlice.ts @@ -20,8 +20,8 @@ import { anonAuth } from "./authConstants"; import { type AuthState } from "./authTypes"; import { localStorage } from "redux-persist-webextension-storage"; import { isEmpty } from "lodash"; -import { type StorageInterface } from "@/store/StorageInterface"; -import { revertAll } from "@/store/commonActions"; +import { type StorageInterface } from "../store/StorageInterface"; +import { revertAll } from "../store/commonActions"; export const authSlice = createSlice({ name: "auth", diff --git a/src/auth/authStorage.test.ts b/applications/browser-extension/src/auth/authStorage.test.ts similarity index 90% rename from src/auth/authStorage.test.ts rename to applications/browser-extension/src/auth/authStorage.test.ts index c06b90503c..cbfa743cbf 100644 --- a/src/auth/authStorage.test.ts +++ b/applications/browser-extension/src/auth/authStorage.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { getAuthHeaders, TEST_setAuthData } from "@/auth/authStorage"; -import { deploymentKeyStorage } from "@/auth/deploymentKey"; +import { getAuthHeaders, TEST_setAuthData } from "./authStorage"; +import { deploymentKeyStorage } from "./deploymentKey"; import { deploymentKeyFactory, userTokenFactory, -} from "@/testUtils/factories/authFactories"; +} from "../testUtils/factories/authFactories"; describe("getAuthHeaders", () => { beforeEach(async () => { diff --git a/src/auth/authStorage.ts b/applications/browser-extension/src/auth/authStorage.ts similarity index 95% rename from src/auth/authStorage.ts rename to applications/browser-extension/src/auth/authStorage.ts index 11bacb58a8..1893820f68 100644 --- a/src/auth/authStorage.ts +++ b/applications/browser-extension/src/auth/authStorage.ts @@ -25,15 +25,15 @@ import { type UserDataUpdate, } from "./authTypes"; import { isExtensionContext } from "webext-detect"; -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../utils/expectContext"; import { omit } from "lodash"; -import { syncRemotePackages } from "@/registry/memoryRegistry"; +import { syncRemotePackages } from "../registry/memoryRegistry"; import { StorageItem } from "webext-storage"; -import { SimpleEventTarget } from "@/utils/SimpleEventTarget"; +import { SimpleEventTarget } from "../utils/SimpleEventTarget"; import { ReusableAbortController } from "abort-utils"; -import { removeOAuth2Token } from "@/background/messenger/api"; -import { deploymentKeyStorage, getDeploymentKey } from "@/auth/deploymentKey"; -import { getUUID } from "@/telemetry/telemetryHelpers"; +import { removeOAuth2Token } from "../background/messenger/api"; +import { deploymentKeyStorage, getDeploymentKey } from "./deploymentKey"; +import { getUUID } from "../telemetry/telemetryHelpers"; const extensionKeyStorage = new StorageItem("extensionKey", { defaultValue: {} as Partial, diff --git a/src/auth/authTypes.ts b/applications/browser-extension/src/auth/authTypes.ts similarity index 93% rename from src/auth/authTypes.ts rename to applications/browser-extension/src/auth/authTypes.ts index 1579849d50..81f021d7ef 100644 --- a/src/auth/authTypes.ts +++ b/applications/browser-extension/src/auth/authTypes.ts @@ -18,13 +18,13 @@ import { type Except, type Tagged } from "type-fest"; import { type UUID } from "@/types/stringTypes"; import { type RegistryId } from "@/types/registryTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; -import { type UserPartner } from "@/data/model/UserPartner"; -import { type PartnerPrincipal } from "@/data/model/PartnerPrincipal"; -import { type TeamTheme } from "@/data/model/TeamTheme"; -import { type ControlRoom } from "@/data/model/ControlRoom"; -import { type UserMilestone } from "@/data/model/UserMilestone"; -import { type LegacyUserRole } from "@/data/model/UserRole"; +import { type Nullishable } from "../utils/nullishUtils"; +import { type UserPartner } from "../data/model/UserPartner"; +import { type PartnerPrincipal } from "../data/model/PartnerPrincipal"; +import { type TeamTheme } from "../data/model/TeamTheme"; +import { type ControlRoom } from "../data/model/ControlRoom"; +import { type UserMilestone } from "../data/model/UserMilestone"; +import { type LegacyUserRole } from "../data/model/UserRole"; export type AuthSharing = "private" | "shared" | "built-in"; diff --git a/src/auth/authUtils.ts b/applications/browser-extension/src/auth/authUtils.ts similarity index 91% rename from src/auth/authUtils.ts rename to applications/browser-extension/src/auth/authUtils.ts index f8b681f72c..c9da8b8770 100644 --- a/src/auth/authUtils.ts +++ b/applications/browser-extension/src/auth/authUtils.ts @@ -19,16 +19,16 @@ import { type UserDataUpdate, type AuthState, type OrganizationAuthState, -} from "@/auth/authTypes"; -import { type Me } from "@/data/model/Me"; -import selectAuthUserOrganizations from "@/auth/selectAuthUserOrganizations"; +} from "./authTypes"; +import { type Me } from "../data/model/Me"; +import selectAuthUserOrganizations from "./selectAuthUserOrganizations"; import { readReduxStorage, validateReduxStorageKey, -} from "@/utils/storageUtils"; -import { type Nullishable } from "@/utils/nullishUtils"; -import { anonAuth } from "@/auth/authConstants"; -import { LegacyUserRole } from "@/data/model/UserRole"; +} from "../utils/storageUtils"; +import { type Nullishable } from "../utils/nullishUtils"; +import { anonAuth } from "./authConstants"; +import { LegacyUserRole } from "../data/model/UserRole"; const AUTH_SLICE_STORAGE_KEY = validateReduxStorageKey("persist:authOptions"); diff --git a/src/auth/deploymentKey.ts b/applications/browser-extension/src/auth/deploymentKey.ts similarity index 90% rename from src/auth/deploymentKey.ts rename to applications/browser-extension/src/auth/deploymentKey.ts index a716a91458..6a194ce862 100644 --- a/src/auth/deploymentKey.ts +++ b/applications/browser-extension/src/auth/deploymentKey.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import useUpdatableAsyncState from "@/hooks/useUpdatableAsyncState"; -import { readManagedStorageByKey } from "@/store/enterprise/managedStorage"; +import useUpdatableAsyncState from "../hooks/useUpdatableAsyncState"; +import { readManagedStorageByKey } from "../store/enterprise/managedStorage"; import { StorageItem } from "webext-storage"; -import { type DeploymentKey } from "@/auth/authTypes"; +import { type DeploymentKey } from "./authTypes"; /** * User-configured deployment key. Overrides the managed storage deployment key (if any) diff --git a/src/auth/featureFlagStorage.test.ts b/applications/browser-extension/src/auth/featureFlagStorage.test.ts similarity index 91% rename from src/auth/featureFlagStorage.test.ts rename to applications/browser-extension/src/auth/featureFlagStorage.test.ts index 29619482f6..08a638820b 100644 --- a/src/auth/featureFlagStorage.test.ts +++ b/applications/browser-extension/src/auth/featureFlagStorage.test.ts @@ -25,16 +25,16 @@ import { TEST_overrideFeatureFlags, } from "./featureFlagStorage"; -import { appApiMock } from "@/testUtils/appApiMock"; +import { appApiMock } from "../testUtils/appApiMock"; import { TEST_clearListeners as clearAuthStorageListeners, TEST_setAuthData, TEST_triggerListeners, -} from "@/auth/authStorage"; -import { tokenAuthDataFactory } from "@/testUtils/factories/authFactories"; -import { fetchFeatureFlagsInBackground } from "@/background/messenger/api"; -import { featureFlagFactory } from "@/testUtils/factories/featureFlagFactories"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "./authStorage"; +import { tokenAuthDataFactory } from "../testUtils/factories/authFactories"; +import { fetchFeatureFlagsInBackground } from "../background/messenger/api"; +import { featureFlagFactory } from "../testUtils/factories/featureFlagFactories"; +import { API_PATHS } from "../data/service/urlPaths"; const testFlag = featureFlagFactory("test-flag"); diff --git a/src/auth/featureFlagStorage.ts b/applications/browser-extension/src/auth/featureFlagStorage.ts similarity index 93% rename from src/auth/featureFlagStorage.ts rename to applications/browser-extension/src/auth/featureFlagStorage.ts index ff52dd7749..f9f328d93e 100644 --- a/src/auth/featureFlagStorage.ts +++ b/applications/browser-extension/src/auth/featureFlagStorage.ts @@ -16,15 +16,15 @@ */ import { CachedFunction } from "webext-storage-cache"; -import { expectContext } from "@/utils/expectContext"; -import { fetchFeatureFlagsInBackground } from "@/background/messenger/api"; -import { getMe } from "@/data/service/backgroundApi"; -import { addAuthListener as addAuthStorageListener } from "@/auth/authStorage"; +import { expectContext } from "../utils/expectContext"; +import { fetchFeatureFlagsInBackground } from "../background/messenger/api"; +import { getMe } from "../data/service/backgroundApi"; +import { addAuthListener as addAuthStorageListener } from "./authStorage"; import { type FeatureFlag, mapRestrictedFeatureToFeatureFlag, type RestrictedFeature, -} from "@/auth/featureFlags"; +} from "./featureFlags"; /** * Fetch the latest feature flags from the server. diff --git a/src/auth/featureFlags.ts b/applications/browser-extension/src/auth/featureFlags.ts similarity index 100% rename from src/auth/featureFlags.ts rename to applications/browser-extension/src/auth/featureFlags.ts diff --git a/src/auth/isAuthenticationAxiosError.ts b/applications/browser-extension/src/auth/isAuthenticationAxiosError.ts similarity index 97% rename from src/auth/isAuthenticationAxiosError.ts rename to applications/browser-extension/src/auth/isAuthenticationAxiosError.ts index c9a73cffc4..648834f8b3 100644 --- a/src/auth/isAuthenticationAxiosError.ts +++ b/applications/browser-extension/src/auth/isAuthenticationAxiosError.ts @@ -16,7 +16,7 @@ */ import type { AxiosError } from "axios"; -import { isObject } from "@/utils/objectUtils"; +import { isObject } from "../utils/objectUtils"; const UNAUTHORIZED_STATUS_CODES = new Set([401, 403]); diff --git a/src/auth/selectAuthUserOrganizations.ts b/applications/browser-extension/src/auth/selectAuthUserOrganizations.ts similarity index 85% rename from src/auth/selectAuthUserOrganizations.ts rename to applications/browser-extension/src/auth/selectAuthUserOrganizations.ts index abbe5b6beb..09f2ec118c 100644 --- a/src/auth/selectAuthUserOrganizations.ts +++ b/applications/browser-extension/src/auth/selectAuthUserOrganizations.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type AuthUserOrganization } from "@/auth/authTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; -import { type MeTeamMembership } from "@/data/model/MeTeamMembership"; -import { convertToUserRole } from "@/data/model/UserRole"; +import { type AuthUserOrganization } from "./authTypes"; +import { type Nullishable } from "../utils/nullishUtils"; +import { type MeTeamMembership } from "../data/model/MeTeamMembership"; +import { convertToUserRole } from "../data/model/UserRole"; // Export this function because it's used in both the Extension and the App export default function selectAuthUserOrganizations( diff --git a/src/auth/useLinkState.ts b/applications/browser-extension/src/auth/useLinkState.ts similarity index 91% rename from src/auth/useLinkState.ts rename to applications/browser-extension/src/auth/useLinkState.ts index 5bbe705c68..facc8bd72a 100644 --- a/src/auth/useLinkState.ts +++ b/applications/browser-extension/src/auth/useLinkState.ts @@ -15,12 +15,8 @@ * along with this program. If not, see . */ -import { - addAuthListener, - removeAuthListener, - isLinked, -} from "@/auth/authStorage"; -import useAsyncExternalStore from "@/hooks/useAsyncExternalStore"; +import { addAuthListener, removeAuthListener, isLinked } from "./authStorage"; +import useAsyncExternalStore from "../hooks/useAsyncExternalStore"; import type { AsyncState } from "@/types/sliceTypes"; // NOTE: can't share subscribe methods across generators currently for useAsyncExternalStore because it maintains diff --git a/src/auth/usePartnerAuthData.ts b/applications/browser-extension/src/auth/usePartnerAuthData.ts similarity index 90% rename from src/auth/usePartnerAuthData.ts rename to applications/browser-extension/src/auth/usePartnerAuthData.ts index cdc01a466d..c5a741fe4a 100644 --- a/src/auth/usePartnerAuthData.ts +++ b/applications/browser-extension/src/auth/usePartnerAuthData.ts @@ -19,10 +19,10 @@ import { addAuthListener, getPartnerAuthData, removeAuthListener, -} from "@/auth/authStorage"; -import useAsyncExternalStore from "@/hooks/useAsyncExternalStore"; +} from "./authStorage"; +import useAsyncExternalStore from "../hooks/useAsyncExternalStore"; import type { AsyncState } from "@/types/sliceTypes"; -import type { PartnerAuthData } from "@/auth/authTypes"; +import type { PartnerAuthData } from "./authTypes"; // NOTE: can't share subscribe methods across generators currently for useAsyncExternalStore because it maintains // a map of subscriptions to state controllers. See https://github.com/pixiebrix/pixiebrix-extension/issues/7789 diff --git a/src/auth/useRequiredPartnerAuth.test.tsx b/applications/browser-extension/src/auth/useRequiredPartnerAuth.test.tsx similarity index 88% rename from src/auth/useRequiredPartnerAuth.test.tsx rename to applications/browser-extension/src/auth/useRequiredPartnerAuth.test.tsx index ddb700a79f..4a88e156a3 100644 --- a/src/auth/useRequiredPartnerAuth.test.tsx +++ b/applications/browser-extension/src/auth/useRequiredPartnerAuth.test.tsx @@ -15,35 +15,35 @@ * along with this program. If not, see . */ -import useRequiredPartnerAuth from "@/auth/useRequiredPartnerAuth"; +import useRequiredPartnerAuth from "./useRequiredPartnerAuth"; import { uuidv4 } from "@/types/helpers"; -import integrationsSlice from "@/integrations/store/integrationsSlice"; -import settingsSlice from "@/store/settings/settingsSlice"; -import useManagedStorageState from "@/store/enterprise/useManagedStorageState"; -import { CONTROL_ROOM_OAUTH_INTEGRATION_ID } from "@/integrations/constants"; +import integrationsSlice from "../integrations/store/integrationsSlice"; +import settingsSlice from "../store/settings/settingsSlice"; +import useManagedStorageState from "../store/enterprise/useManagedStorageState"; +import { CONTROL_ROOM_OAUTH_INTEGRATION_ID } from "../integrations/constants"; import { mockAnonymousMeApiResponse, mockAuthenticatedMeApiResponse, -} from "@/testUtils/userMock"; +} from "../testUtils/userMock"; import { deploymentKeyFactory, meApiResponseFactory, meOrganizationApiResponseFactory, meWithPartnerApiResponseFactory, partnerAuthDataFactory, -} from "@/testUtils/factories/authFactories"; -import { renderHook } from "@/pageEditor/testHelpers"; -import { integrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; -import usePartnerAuthData from "@/auth/usePartnerAuthData"; -import { Milestones } from "@/data/model/UserMilestone"; -import { getDeploymentKey } from "@/auth/deploymentKey"; -import { getExtensionToken } from "@/auth/authStorage"; - -jest.mock("@/store/enterprise/useManagedStorageState"); -jest.mock("@/auth/usePartnerAuthData"); -jest.mock("@/auth/deploymentKey"); -jest.mock("@/auth/authStorage"); +} from "../testUtils/factories/authFactories"; +import { renderHook } from "../pageEditor/testHelpers"; +import { integrationConfigFactory } from "../testUtils/factories/integrationFactories"; +import { valueToAsyncState } from "../utils/asyncStateUtils"; +import usePartnerAuthData from "./usePartnerAuthData"; +import { Milestones } from "../data/model/UserMilestone"; +import { getDeploymentKey } from "./deploymentKey"; +import { getExtensionToken } from "./authStorage"; + +jest.mock("../store/enterprise/useManagedStorageState"); +jest.mock("./usePartnerAuthData"); +jest.mock("./deploymentKey"); +jest.mock("./authStorage"); const useManagedStorageStateMock = jest.mocked(useManagedStorageState); const usePartnerAuthDataMock = jest.mocked(usePartnerAuthData); diff --git a/src/auth/useRequiredPartnerAuth.ts b/applications/browser-extension/src/auth/useRequiredPartnerAuth.ts similarity index 89% rename from src/auth/useRequiredPartnerAuth.ts rename to applications/browser-extension/src/auth/useRequiredPartnerAuth.ts index e4d0d18d6c..22e4afa577 100644 --- a/src/auth/useRequiredPartnerAuth.ts +++ b/applications/browser-extension/src/auth/useRequiredPartnerAuth.ts @@ -15,28 +15,28 @@ * along with this program. If not, see . */ -import { useGetMeQuery } from "@/data/service/api"; +import { useGetMeQuery } from "../data/service/api"; import { useSelector } from "react-redux"; -import { selectAuth } from "@/auth/authSelectors"; -import { selectIntegrationConfigs } from "@/integrations/store/integrationsSelectors"; -import { selectSettings } from "@/store/settings/settingsSelectors"; -import { AUTOMATION_ANYWHERE_PARTNER_KEY } from "@/data/service/constants"; -import { type SettingsState } from "@/store/settings/settingsTypes"; -import useManagedStorageState from "@/store/enterprise/useManagedStorageState"; +import { selectAuth } from "./authSelectors"; +import { selectIntegrationConfigs } from "../integrations/store/integrationsSelectors"; +import { selectSettings } from "../store/settings/settingsSelectors"; +import { AUTOMATION_ANYWHERE_PARTNER_KEY } from "../data/service/constants"; +import { type SettingsState } from "../store/settings/settingsTypes"; +import useManagedStorageState from "../store/enterprise/useManagedStorageState"; import { type RegistryId } from "@/types/registryTypes"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, CONTROL_ROOM_TOKEN_INTEGRATION_ID, -} from "@/integrations/constants"; -import useLinkState from "@/auth/useLinkState"; -import usePartnerAuthData from "@/auth/usePartnerAuthData"; -import { type Nullishable } from "@/utils/nullishUtils"; -import { type UserPartner } from "@/data/model/UserPartner"; -import { type ControlRoom } from "@/data/model/ControlRoom"; -import { Milestones, type UserMilestone } from "@/data/model/UserMilestone"; -import useAsyncState from "@/hooks/useAsyncState"; -import { getDeploymentKey } from "@/auth/deploymentKey"; -import { getExtensionToken } from "@/auth/authStorage"; +} from "../integrations/constants"; +import useLinkState from "./useLinkState"; +import usePartnerAuthData from "./usePartnerAuthData"; +import { type Nullishable } from "../utils/nullishUtils"; +import { type UserPartner } from "../data/model/UserPartner"; +import { type ControlRoom } from "../data/model/ControlRoom"; +import { Milestones, type UserMilestone } from "../data/model/UserMilestone"; +import useAsyncState from "../hooks/useAsyncState"; +import { getDeploymentKey } from "./deploymentKey"; +import { getExtensionToken } from "./authStorage"; /** * Map from partner keys to partner service IDs diff --git a/src/background/auth/authHelpers.test.ts b/applications/browser-extension/src/background/auth/authHelpers.test.ts similarity index 92% rename from src/background/auth/authHelpers.test.ts rename to applications/browser-extension/src/background/auth/authHelpers.test.ts index d98fb9a944..62d3cc219e 100644 --- a/src/background/auth/authHelpers.test.ts +++ b/applications/browser-extension/src/background/auth/authHelpers.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { launchWebAuthFlow } from "@/background/auth/authHelpers"; -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; +import { launchWebAuthFlow } from "./authHelpers"; +import { InteractiveLoginRequiredError } from "../../errors/authErrors"; browser.identity = { launchWebAuthFlow: jest.fn(), diff --git a/src/background/auth/authHelpers.ts b/applications/browser-extension/src/background/auth/authHelpers.ts similarity index 94% rename from src/background/auth/authHelpers.ts rename to applications/browser-extension/src/background/auth/authHelpers.ts index 179e5ad6c0..757e8b6dcd 100644 --- a/src/background/auth/authHelpers.ts +++ b/applications/browser-extension/src/background/auth/authHelpers.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; +import { InteractiveLoginRequiredError } from "../../errors/authErrors"; import type { Identity } from "webextension-polyfill"; -import { getErrorMessage } from "@/errors/errorHelpers"; +import { getErrorMessage } from "../../errors/errorHelpers"; // https://chromium.googlesource.com/chromium/src/+/ee37f1b7c6da834dec9056283cf83d88b0f2f53c/chrome/browser/extensions/api/identity/identity_api.cc const INTERACTIVE_MESSAGE_PATTERNS = [ diff --git a/src/background/auth/authStorage.ts b/applications/browser-extension/src/background/auth/authStorage.ts similarity index 92% rename from src/background/auth/authStorage.ts rename to applications/browser-extension/src/background/auth/authStorage.ts index 9f1ef96b98..a236187fd0 100644 --- a/src/background/auth/authStorage.ts +++ b/applications/browser-extension/src/background/auth/authStorage.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { expectContext } from "@/utils/expectContext"; -import { type AuthData } from "@/integrations/integrationTypes"; -import { oauth2Storage } from "@/auth/authConstants"; +import { type UUID } from "../../types/stringTypes"; +import { expectContext } from "../../utils/expectContext"; +import { type AuthData } from "../../integrations/integrationTypes"; +import { oauth2Storage } from "../../auth/authConstants"; import chromeP from "webext-polyfill-kinda"; /** diff --git a/src/background/auth/codeGrantFlow.ts b/applications/browser-extension/src/background/auth/codeGrantFlow.ts similarity index 93% rename from src/background/auth/codeGrantFlow.ts rename to applications/browser-extension/src/background/auth/codeGrantFlow.ts index fa7b6acb72..72bd5407e7 100644 --- a/src/background/auth/codeGrantFlow.ts +++ b/applications/browser-extension/src/background/auth/codeGrantFlow.ts @@ -19,18 +19,18 @@ import { type AuthData, type IntegrationConfig, type OAuth2Context, -} from "@/integrations/integrationTypes"; +} from "../../integrations/integrationTypes"; import { computeChallenge, generateVerifier, getRandomString, -} from "@/vendors/pkce"; -import { BusinessError } from "@/errors/businessErrors"; +} from "../../vendors/pkce"; +import { BusinessError } from "../../errors/businessErrors"; import axios, { type AxiosResponse } from "axios"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { setCachedAuthData } from "@/background/auth/authStorage"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { launchWebAuthFlow } from "@/background/auth/authHelpers"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { setCachedAuthData } from "./authStorage"; +import { assertNotNullish } from "../../utils/nullishUtils"; +import { launchWebAuthFlow } from "./authHelpers"; /** * Retrieve the OAuth2 token using the code grant flow. diff --git a/src/background/auth/getToken.test.ts b/applications/browser-extension/src/background/auth/getToken.test.ts similarity index 92% rename from src/background/auth/getToken.test.ts rename to applications/browser-extension/src/background/auth/getToken.test.ts index 2e2ddf2539..488ca53212 100644 --- a/src/background/auth/getToken.test.ts +++ b/applications/browser-extension/src/background/auth/getToken.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { getToken } from "@/background/auth/getToken"; -import { uuidv4 } from "@/types/helpers"; +import { type UUID } from "../../types/stringTypes"; +import { getToken } from "./getToken"; +import { uuidv4 } from "../../types/helpers"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; diff --git a/src/background/auth/getToken.ts b/applications/browser-extension/src/background/auth/getToken.ts similarity index 86% rename from src/background/auth/getToken.ts rename to applications/browser-extension/src/background/auth/getToken.ts index 16f5e37558..48f5499e03 100644 --- a/src/background/auth/getToken.ts +++ b/applications/browser-extension/src/background/auth/getToken.ts @@ -19,12 +19,12 @@ import { type AuthData, type Integration, type IntegrationConfig, -} from "@/integrations/integrationTypes"; -import { expectContext } from "@/utils/expectContext"; +} from "../../integrations/integrationTypes"; +import { expectContext } from "../../utils/expectContext"; import axios from "axios"; -import { setCachedAuthData } from "@/background/auth/authStorage"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { setCachedAuthData } from "./authStorage"; +import { memoizeUntilSettled } from "../../utils/promiseUtils"; +import { assertNotNullish } from "../../utils/nullishUtils"; /** * Exchange credentials for a token, and cache the token response. diff --git a/src/background/auth/implicitGrantFlow.ts b/applications/browser-extension/src/background/auth/implicitGrantFlow.ts similarity index 90% rename from src/background/auth/implicitGrantFlow.ts rename to applications/browser-extension/src/background/auth/implicitGrantFlow.ts index fe64797987..0783eaf84a 100644 --- a/src/background/auth/implicitGrantFlow.ts +++ b/applications/browser-extension/src/background/auth/implicitGrantFlow.ts @@ -19,11 +19,11 @@ import { type AuthData, type IntegrationConfig, type OAuth2Context, -} from "@/integrations/integrationTypes"; -import { getRandomString } from "@/vendors/pkce"; -import { setCachedAuthData } from "@/background/auth/authStorage"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { launchWebAuthFlow } from "@/background/auth/authHelpers"; +} from "../../integrations/integrationTypes"; +import { getRandomString } from "../../vendors/pkce"; +import { setCachedAuthData } from "./authStorage"; +import { assertNotNullish } from "../../utils/nullishUtils"; +import { launchWebAuthFlow } from "./authHelpers"; function parseResponseParams(url: URL): UnknownObject { const hasSearchParams = [...url.searchParams.keys()].length > 0; diff --git a/src/background/auth/launchInteractiveOAuth2Flow.ts b/applications/browser-extension/src/background/auth/launchInteractiveOAuth2Flow.ts similarity index 83% rename from src/background/auth/launchInteractiveOAuth2Flow.ts rename to applications/browser-extension/src/background/auth/launchInteractiveOAuth2Flow.ts index ab5082cf32..d4f63d8d40 100644 --- a/src/background/auth/launchInteractiveOAuth2Flow.ts +++ b/applications/browser-extension/src/background/auth/launchInteractiveOAuth2Flow.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import type { UUID } from "@/types/stringTypes"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; -import { BusinessError } from "@/errors/businessErrors"; -import integrationRegistry from "@/integrations/registry"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; +import type { UUID } from "../../types/stringTypes"; +import { integrationConfigLocator } from "../integrationConfigLocator"; +import { BusinessError } from "../../errors/businessErrors"; +import integrationRegistry from "../../integrations/registry"; +import launchOAuth2Flow from "./launchOAuth2Flow"; /** * Launch the interactive OAuth2 flow for the given integration configuration. diff --git a/src/background/auth/launchOAuth2Flow.test.ts b/applications/browser-extension/src/background/auth/launchOAuth2Flow.test.ts similarity index 91% rename from src/background/auth/launchOAuth2Flow.test.ts rename to applications/browser-extension/src/background/auth/launchOAuth2Flow.test.ts index 943d884f29..2abeda5470 100644 --- a/src/background/auth/launchOAuth2Flow.test.ts +++ b/applications/browser-extension/src/background/auth/launchOAuth2Flow.test.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { integrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { registryIdFactory } from "@/testUtils/factories/stringFactories"; +import { integrationConfigFactory } from "../../testUtils/factories/integrationFactories"; +import { registryIdFactory } from "../../testUtils/factories/stringFactories"; import { type IntegrationABC, type OAuth2Context, type SecretsConfig, -} from "@/integrations/integrationTypes"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; -import codeGrantFlow from "@/background/auth/codeGrantFlow"; - -jest.mock("@/background/auth/codeGrantFlow"); -jest.mock("@/background/auth/implicitGrantFlow"); +} from "../../integrations/integrationTypes"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; +import launchOAuth2Flow from "./launchOAuth2Flow"; +import codeGrantFlow from "./codeGrantFlow"; + +jest.mock("./codeGrantFlow"); +jest.mock("./implicitGrantFlow"); const codeGrantFlowMock = jest.mocked(codeGrantFlow); const reportEventMock = jest.mocked(reportEvent); diff --git a/src/background/auth/launchOAuth2Flow.ts b/applications/browser-extension/src/background/auth/launchOAuth2Flow.ts similarity index 87% rename from src/background/auth/launchOAuth2Flow.ts rename to applications/browser-extension/src/background/auth/launchOAuth2Flow.ts index 89d0c5f509..acba145c45 100644 --- a/src/background/auth/launchOAuth2Flow.ts +++ b/applications/browser-extension/src/background/auth/launchOAuth2Flow.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { getErrorMessage } from "@/errors/errorHelpers"; -import { BusinessError } from "@/errors/businessErrors"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { BusinessError } from "../../errors/businessErrors"; import { type AuthData, type Integration, type IntegrationConfig, -} from "@/integrations/integrationTypes"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import implicitGrantFlow from "@/background/auth/implicitGrantFlow"; -import codeGrantFlow from "@/background/auth/codeGrantFlow"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; +} from "../../integrations/integrationTypes"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; +import implicitGrantFlow from "./implicitGrantFlow"; +import codeGrantFlow from "./codeGrantFlow"; +import { memoizeUntilSettled } from "../../utils/promiseUtils"; /** * Perform the OAuth2 flow for the given integration. diff --git a/src/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts similarity index 75% rename from src/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts index b85710392d..b0693a547a 100644 --- a/src/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts +++ b/applications/browser-extension/src/background/auth/partnerIntegrations/getPartnerPrincipals.test.ts @@ -15,26 +15,26 @@ * along with this program. If not, see . */ -import { appApiMock } from "@/testUtils/appApiMock"; -import tokenIntegrationDefinition from "@contrib/integrations/automation-anywhere.yaml"; -import oauthIntegrationDefinition from "@contrib/integrations/automation-anywhere-oauth2.yaml"; -import { syncRemotePackages } from "@/registry/memoryRegistry"; -import { integrationConfigLocator as serviceLocator } from "@/background/integrationConfigLocator"; -import { getPartnerPrincipals } from "@/background/auth/partnerIntegrations/getPartnerPrincipals"; +import { appApiMock } from "../../../testUtils/appApiMock"; +import tokenIntegrationDefinition from "../../../../contrib/integrations/automation-anywhere.yaml"; +import oauthIntegrationDefinition from "../../../../contrib/integrations/automation-anywhere-oauth2.yaml"; +import { syncRemotePackages } from "../../../registry/memoryRegistry"; +import { integrationConfigLocator as serviceLocator } from "../../integrationConfigLocator"; +import { getPartnerPrincipals } from "./getPartnerPrincipals"; import { integrationConfigFactory, secretsConfigFactory, -} from "@/testUtils/factories/integrationFactories"; +} from "../../../testUtils/factories/integrationFactories"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, CONTROL_ROOM_TOKEN_INTEGRATION_ID, -} from "@/integrations/constants"; -import { registry } from "@/background/messenger/api"; -import { type RegistryId } from "@/types/registryTypes"; -import { readRawConfigurations } from "@/integrations/util/readRawConfigurations"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../../../integrations/constants"; +import { registry } from "../../messenger/api"; +import { type RegistryId } from "../../../types/registryTypes"; +import { readRawConfigurations } from "../../../integrations/util/readRawConfigurations"; +import { API_PATHS } from "../../../data/service/urlPaths"; -jest.mock("@/integrations/registry", () => { +jest.mock("../../../integrations/registry", () => { const actual = jest.requireActual("@/integrations/registry"); return { // Include __esModule so default export works @@ -58,7 +58,7 @@ jest.mocked(registry.find).mockImplementation(async (id: RegistryId) => { } as any; }); -jest.mock("@/integrations/util/readRawConfigurations"); +jest.mock("../../../integrations/util/readRawConfigurations"); const readRawConfigurationsMock = jest.mocked(readRawConfigurations); describe("getPartnerPrincipals", () => { diff --git a/src/background/auth/partnerIntegrations/getPartnerPrincipals.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/getPartnerPrincipals.ts similarity index 85% rename from src/background/auth/partnerIntegrations/getPartnerPrincipals.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/getPartnerPrincipals.ts index 38b9c660bf..7368bd2018 100644 --- a/src/background/auth/partnerIntegrations/getPartnerPrincipals.ts +++ b/applications/browser-extension/src/background/auth/partnerIntegrations/getPartnerPrincipals.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { type PartnerPrincipal } from "@/background/auth/partnerIntegrations/types"; -import { expectContext } from "@/utils/expectContext"; +import { type PartnerPrincipal } from "./types"; +import { expectContext } from "../../../utils/expectContext"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, CONTROL_ROOM_TOKEN_INTEGRATION_ID, -} from "@/integrations/constants"; +} from "../../../integrations/constants"; import { compact, flatten } from "lodash"; -import { integrationConfigLocator as serviceLocator } from "@/background/integrationConfigLocator"; -import { canParseUrl } from "@/utils/urlUtils"; +import { integrationConfigLocator as serviceLocator } from "../../integrationConfigLocator"; +import { canParseUrl } from "../../../utils/urlUtils"; /** * Return principals for configured remote partner integrations. diff --git a/src/background/auth/partnerIntegrations/launchAuthIntegration.test.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/launchAuthIntegration.test.ts similarity index 90% rename from src/background/auth/partnerIntegrations/launchAuthIntegration.test.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/launchAuthIntegration.test.ts index df4231e04f..1ea867fcf1 100644 --- a/src/background/auth/partnerIntegrations/launchAuthIntegration.test.ts +++ b/applications/browser-extension/src/background/auth/partnerIntegrations/launchAuthIntegration.test.ts @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import { registry, removeOAuth2Token } from "@/background/messenger/api"; -import oauth2IntegrationDefinition from "@contrib/integrations/automation-anywhere-oauth2.yaml"; -import { launchAuthIntegration } from "@/background/auth/partnerIntegrations/launchAuthIntegration"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { validateRegistryId } from "@/types/helpers"; -import { readRawConfigurations } from "@/integrations/util/readRawConfigurations"; +import { registry, removeOAuth2Token } from "../../messenger/api"; +import oauth2IntegrationDefinition from "../../../../contrib/integrations/automation-anywhere-oauth2.yaml"; +import { launchAuthIntegration } from "./launchAuthIntegration"; +import { appApiMock } from "../../../testUtils/appApiMock"; +import { validateRegistryId } from "../../../types/helpers"; +import { readRawConfigurations } from "../../../integrations/util/readRawConfigurations"; import { integrationConfigFactory, secretsConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; -import { type Metadata } from "@/types/registryTypes"; -import { setPartnerAuthData } from "@/auth/authStorage"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../../../testUtils/factories/integrationFactories"; +import launchOAuth2Flow from "../launchOAuth2Flow"; +import { type Metadata } from "../../../types/registryTypes"; +import { setPartnerAuthData } from "../../../auth/authStorage"; +import { API_PATHS } from "../../../data/service/urlPaths"; -jest.mock("@/integrations/util/readRawConfigurations"); +jest.mock("../../../integrations/util/readRawConfigurations"); const readRawConfigurationsMock = jest.mocked(readRawConfigurations); const integrationMetaData = oauth2IntegrationDefinition.metadata as Metadata; @@ -41,10 +41,10 @@ jest.mocked(registry.find).mockResolvedValue({ config: oauth2IntegrationDefinition, } as any); -jest.mock("@/background/auth/launchOAuth2Flow"); +jest.mock("../launchOAuth2Flow"); const launchOAuth2FlowMock = jest.mocked(launchOAuth2Flow); -jest.mock("@/auth/authStorage"); +jest.mock("../../../auth/authStorage"); const setPartnerAuthDataMock = jest.mocked(setPartnerAuthData); const removeOAuth2TokenMock = jest.mocked(removeOAuth2Token); diff --git a/src/background/auth/partnerIntegrations/launchAuthIntegration.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/launchAuthIntegration.ts similarity index 85% rename from src/background/auth/partnerIntegrations/launchAuthIntegration.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/launchAuthIntegration.ts index de2e42b926..3331a213af 100644 --- a/src/background/auth/partnerIntegrations/launchAuthIntegration.ts +++ b/applications/browser-extension/src/background/auth/partnerIntegrations/launchAuthIntegration.ts @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import type { RegistryId } from "@/types/registryTypes"; -import { expectContext } from "@/utils/expectContext"; -import integrationRegistry from "@/integrations/registry"; -import { integrationConfigLocator as serviceLocator } from "@/background/integrationConfigLocator"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; -import { CONTROL_ROOM_OAUTH_INTEGRATION_ID } from "@/integrations/constants"; -import { canParseUrl } from "@/utils/urlUtils"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { setPartnerAuthData } from "@/auth/authStorage"; +import type { RegistryId } from "../../../types/registryTypes"; +import { expectContext } from "../../../utils/expectContext"; +import integrationRegistry from "../../../integrations/registry"; +import { integrationConfigLocator as serviceLocator } from "../../integrationConfigLocator"; +import { assertNotNullish } from "../../../utils/nullishUtils"; +import launchOAuth2Flow from "../launchOAuth2Flow"; +import { CONTROL_ROOM_OAUTH_INTEGRATION_ID } from "../../../integrations/constants"; +import { canParseUrl } from "../../../utils/urlUtils"; +import { getErrorMessage } from "../../../errors/errorHelpers"; +import { setPartnerAuthData } from "../../../auth/authStorage"; import { stringToBase64 } from "uint8array-extras"; -import { getApiClient } from "@/data/service/apiClient"; -import { selectAxiosError } from "@/data/service/requestErrorUtils"; -import { isAuthenticationAxiosError } from "@/auth/isAuthenticationAxiosError"; -import { removeOAuth2Token } from "@/background/messenger/api"; -import { API_PATHS } from "@/data/service/urlPaths"; +import { getApiClient } from "../../../data/service/apiClient"; +import { selectAxiosError } from "../../../data/service/requestErrorUtils"; +import { isAuthenticationAxiosError } from "../../../auth/isAuthenticationAxiosError"; +import { removeOAuth2Token } from "../../messenger/api"; +import { API_PATHS } from "../../../data/service/urlPaths"; /** * Launch the browser's web auth flow get a partner token for communicating with the PixieBrix server. diff --git a/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts similarity index 92% rename from src/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts index 8afca34544..079c73705c 100644 --- a/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts +++ b/applications/browser-extension/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.test.ts @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import refreshPartnerAuthentication from "@/background/auth/partnerIntegrations/refreshPartnerAuthentication"; -import { type PartnerAuthData } from "@/auth/authTypes"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; +import refreshPartnerAuthentication from "./refreshPartnerAuthentication"; +import { type PartnerAuthData } from "../../../auth/authTypes"; +import { uuidSequence } from "../../../testUtils/factories/stringFactories"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import { getPartnerAuthData, setPartnerAuthData } from "@/auth/authStorage"; -import { setCachedAuthData } from "@/background/auth/authStorage"; +import { getPartnerAuthData, setPartnerAuthData } from "../../../auth/authStorage"; +import { setCachedAuthData } from "../authStorage"; const axiosMock = new MockAdapter(axios); -jest.mock("@/auth/authStorage"); +jest.mock("../../../auth/authStorage"); const getPartnerAuthDataMock = jest.mocked(getPartnerAuthData); const setPartnerAuthDataMock = jest.mocked(setPartnerAuthData); -jest.mock("@/background/auth/authStorage"); +jest.mock("../authStorage"); const setCachedAuthDataMock = jest.mocked(setCachedAuthData); diff --git a/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts similarity index 88% rename from src/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts index 0bc75f492f..3a12062a43 100644 --- a/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts +++ b/applications/browser-extension/src/background/auth/partnerIntegrations/refreshPartnerAuthentication.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { type AuthData } from "@/integrations/integrationTypes"; -import { expectContext } from "@/utils/expectContext"; -import { getPartnerAuthData, setPartnerAuthData } from "@/auth/authStorage"; +import { type AuthData } from "../../../integrations/integrationTypes"; +import { expectContext } from "../../../utils/expectContext"; +import { getPartnerAuthData, setPartnerAuthData } from "../../../auth/authStorage"; import axios, { type AxiosResponse } from "axios"; -import { setCachedAuthData } from "@/background/auth/authStorage"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { setCachedAuthData } from "../authStorage"; +import { assertNotNullish } from "../../../utils/nullishUtils"; /** * Refreshes the partner authentication token for the current partner auth session. diff --git a/src/background/auth/partnerIntegrations/types.ts b/applications/browser-extension/src/background/auth/partnerIntegrations/types.ts similarity index 100% rename from src/background/auth/partnerIntegrations/types.ts rename to applications/browser-extension/src/background/auth/partnerIntegrations/types.ts diff --git a/src/background/axiosFetch.ts b/applications/browser-extension/src/background/axiosFetch.ts similarity index 100% rename from src/background/axiosFetch.ts rename to applications/browser-extension/src/background/axiosFetch.ts diff --git a/src/background/background.ts b/applications/browser-extension/src/background/background.ts similarity index 100% rename from src/background/background.ts rename to applications/browser-extension/src/background/background.ts diff --git a/src/background/backgroundDomWatcher.ts b/applications/browser-extension/src/background/backgroundDomWatcher.ts similarity index 100% rename from src/background/backgroundDomWatcher.ts rename to applications/browser-extension/src/background/backgroundDomWatcher.ts diff --git a/src/background/backgroundPlatform.ts b/applications/browser-extension/src/background/backgroundPlatform.ts similarity index 79% rename from src/background/backgroundPlatform.ts rename to applications/browser-extension/src/background/backgroundPlatform.ts index a1c33da48c..8b0a2b0b5f 100644 --- a/src/background/backgroundPlatform.ts +++ b/applications/browser-extension/src/background/backgroundPlatform.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { type PlatformProtocol } from "@/platform/platformProtocol"; -import type { PlatformCapability } from "@/platform/capabilities"; -import type { Nullishable } from "@/utils/nullishUtils"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { type PlatformProtocol } from "../platform/platformProtocol"; +import type { PlatformCapability } from "../platform/capabilities"; +import type { Nullishable } from "../utils/nullishUtils"; +import type { SanitizedIntegrationConfig } from "../integrations/integrationTypes"; import type { NetworkRequestConfig } from "@/types/networkTypes"; import type { RemoteResponse } from "@/types/contract"; -import { performConfiguredRequest } from "@/background/requests"; -import BackgroundLogger from "@/telemetry/BackgroundLogger"; -import { PlatformBase } from "@/platform/platformBase"; -import { getExtensionVersion } from "@/utils/extensionUtils"; +import { performConfiguredRequest } from "./requests"; +import BackgroundLogger from "../telemetry/BackgroundLogger"; +import { PlatformBase } from "../platform/platformBase"; +import { getExtensionVersion } from "../utils/extensionUtils"; /** * Background platform implementation. Currently, just makes API requests. diff --git a/src/background/browserAction.ts b/applications/browser-extension/src/background/browserAction.ts similarity index 94% rename from src/background/browserAction.ts rename to applications/browser-extension/src/background/browserAction.ts index c2fd0044e7..5e635a0176 100644 --- a/src/background/browserAction.ts +++ b/applications/browser-extension/src/background/browserAction.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { browserAction } from "@/mv3/api"; -import { openSidePanel, getSidebarTarget } from "@/utils/sidePanelUtils"; +import { browserAction } from "../mv3/api"; +import { openSidePanel, getSidebarTarget } from "../utils/sidePanelUtils"; import { messenger } from "webext-messenger"; import { type ModComponentRef } from "@/types/modComponentTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; +import { type Nullishable } from "../utils/nullishUtils"; /** * Mapping from tabId to the ModComponentRef that set the badge. diff --git a/src/background/capture.ts b/applications/browser-extension/src/background/capture.ts similarity index 88% rename from src/background/capture.ts rename to applications/browser-extension/src/background/capture.ts index 62163b755c..5df7f29cd5 100644 --- a/src/background/capture.ts +++ b/applications/browser-extension/src/background/capture.ts @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import { assertNotNullish, type Nullishable } from "@/utils/nullishUtils"; +import { assertNotNullish, type Nullishable } from "../utils/nullishUtils"; import { type MessengerMeta, type Sender } from "webext-messenger"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { type SanitizedIntegrationConfig } from "../integrations/integrationTypes"; import { type JsonObject } from "type-fest"; -import { emitAudioEvent } from "@/contentScript/messenger/api"; -import { TOP_LEVEL_FRAME_ID } from "@/domConstants"; +import { emitAudioEvent } from "../contentScript/messenger/api"; +import { TOP_LEVEL_FRAME_ID } from "../domConstants"; import { ensureOffscreenDocument, getRecordingTabId, -} from "@/tinyPages/offscreenDocumentController"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; +} from "../tinyPages/offscreenDocumentController"; +import { integrationConfigLocator } from "./integrationConfigLocator"; import { type StartAudioCaptureMessage, type StopAudioCaptureMessage, -} from "@/tinyPages/offscreenProtocol"; -import { assertDeepgramIntegrationConfig } from "@/contrib/deepgram/deepgramTypes"; -import { BusinessError } from "@/errors/businessErrors"; +} from "../tinyPages/offscreenProtocol"; +import { assertDeepgramIntegrationConfig } from "../contrib/deepgram/deepgramTypes"; +import { BusinessError } from "../errors/businessErrors"; /** * Whether audio is currently being recorded. Kept in sync across worker reloads via the offscreen document hash. diff --git a/src/background/clipboard.ts b/applications/browser-extension/src/background/clipboard.ts similarity index 96% rename from src/background/clipboard.ts rename to applications/browser-extension/src/background/clipboard.ts index 586c14fab4..ca72372f1e 100644 --- a/src/background/clipboard.ts +++ b/applications/browser-extension/src/background/clipboard.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { lastFocusedTarget } from "@/utils/focusTracker"; +import { lastFocusedTarget } from "../utils/focusTracker"; import { type Sender, type Target, type PageTarget, getMethod, } from "webext-messenger"; -import { type ClipboardText } from "@/utils/clipboardUtils"; +import { type ClipboardText } from "../utils/clipboardUtils"; // `WRITE_TO_CLIPBOARD` can be handled by multiple contexts, that's why it's here and not in their /api.ts files const writeToClipboardInTarget = getMethod("WRITE_TO_CLIPBOARD"); diff --git a/src/background/contentScript.test.ts b/applications/browser-extension/src/background/contentScript.test.ts similarity index 94% rename from src/background/contentScript.test.ts rename to applications/browser-extension/src/background/contentScript.test.ts index 1fe60f0ccf..aa5d5a517f 100644 --- a/src/background/contentScript.test.ts +++ b/applications/browser-extension/src/background/contentScript.test.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { waitForContentScript } from "@/background/contentScript"; +import { waitForContentScript } from "./contentScript"; import { CONTENT_SCRIPT_READY_NOTIFICATION, isTargetReady, -} from "@/contentScript/ready"; -import { SimpleEventTarget } from "@/utils/SimpleEventTarget"; +} from "../contentScript/ready"; +import { SimpleEventTarget } from "../utils/SimpleEventTarget"; import { TEST_setContext } from "webext-detect"; import { type Runtime, type Tabs } from "webextension-polyfill"; TEST_setContext("background"); -jest.mock("@/contentScript/ready"); +jest.mock("../contentScript/ready"); let messageEvents: | SimpleEventTarget<{ message: unknown; sender: Runtime.MessageSender }> diff --git a/src/background/contentScript.ts b/applications/browser-extension/src/background/contentScript.ts similarity index 93% rename from src/background/contentScript.ts rename to applications/browser-extension/src/background/contentScript.ts index 9f2fba23df..5bbc96c841 100644 --- a/src/background/contentScript.ts +++ b/applications/browser-extension/src/background/contentScript.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { isRemoteProcedureCallRequest } from "@/utils/legacyMessengerUtils"; -import { expectContext } from "@/utils/expectContext"; +import { isRemoteProcedureCallRequest } from "../utils/legacyMessengerUtils"; +import { expectContext } from "../utils/expectContext"; import type { Target } from "@/types/messengerTypes"; import { CONTENT_SCRIPT_READY_NOTIFICATION, isTargetReady, -} from "@/contentScript/ready"; +} from "../contentScript/ready"; import { type Runtime } from "webextension-polyfill"; import { oneEvent } from "webext-events"; diff --git a/src/background/contextMenus/ensureContextMenu.ts b/applications/browser-extension/src/background/contextMenus/ensureContextMenu.ts similarity index 87% rename from src/background/contextMenus/ensureContextMenu.ts rename to applications/browser-extension/src/background/contextMenus/ensureContextMenu.ts index bf62786b66..3ecf49e2e3 100644 --- a/src/background/contextMenus/ensureContextMenu.ts +++ b/applications/browser-extension/src/background/contextMenus/ensureContextMenu.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { makeMenuId } from "@/background/contextMenus/makeMenuId"; -import { type SelectionMenuOptions } from "@/platform/platformTypes/contextMenuProtocol"; -import { expectContext } from "@/utils/expectContext"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; +import { makeMenuId } from "./makeMenuId"; +import { type SelectionMenuOptions } from "../../platform/platformTypes/contextMenuProtocol"; +import { expectContext } from "../../utils/expectContext"; +import { memoizeUntilSettled } from "../../utils/promiseUtils"; import chromeP from "webext-polyfill-kinda"; import { type Menus } from "webextension-polyfill"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../../utils/nullishUtils"; /** * Register a context menu item on all tabs. diff --git a/src/background/contextMenus/initContextMenus.test.ts b/applications/browser-extension/src/background/contextMenus/initContextMenus.test.ts similarity index 78% rename from src/background/contextMenus/initContextMenus.test.ts rename to applications/browser-extension/src/background/contextMenus/initContextMenus.test.ts index 7b267407ea..792cfa0a5b 100644 --- a/src/background/contextMenus/initContextMenus.test.ts +++ b/applications/browser-extension/src/background/contextMenus/initContextMenus.test.ts @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import starterBrickRegistry from "@/starterBricks/registry"; -import { fromJS } from "@/starterBricks/contextMenu/contextMenuStarterBrick"; -import * as backgroundApi from "@/background/messenger/api"; -import { type StarterBrickDefinitionLike } from "@/starterBricks/types"; -import { type ModComponentBase } from "@/types/modComponentTypes"; +import starterBrickRegistry from "../../starterBricks/registry"; +import { fromJS } from "../../starterBricks/contextMenu/contextMenuStarterBrick"; +import * as backgroundApi from "../messenger/api"; +import { type StarterBrickDefinitionLike } from "../../starterBricks/types"; +import { type ModComponentBase } from "../../types/modComponentTypes"; import chromeP from "webext-polyfill-kinda"; import { TEST_setContext } from "webext-detect"; -import { modComponentFactory } from "@/testUtils/factories/modComponentFactories"; -import { starterBrickDefinitionFactory } from "@/testUtils/factories/modDefinitionFactories"; -import { getPlatform } from "@/platform/platformContext"; +import { modComponentFactory } from "../../testUtils/factories/modComponentFactories"; +import { starterBrickDefinitionFactory } from "../../testUtils/factories/modDefinitionFactories"; +import { getPlatform } from "../../platform/platformContext"; import { type ContextMenuDefinition, type ContextMenuConfig, -} from "@/starterBricks/contextMenu/contextMenuTypes"; -import { ensureContextMenu } from "@/background/contextMenus/ensureContextMenu"; -import { preloadContextMenus } from "@/background/contextMenus/preloadContextMenus"; -import { StarterBrickTypes } from "@/types/starterBrickTypes"; +} from "../../starterBricks/contextMenu/contextMenuTypes"; +import { ensureContextMenu } from "./ensureContextMenu"; +import { preloadContextMenus } from "./preloadContextMenus"; +import { StarterBrickTypes } from "../../types/starterBrickTypes"; TEST_setContext("background"); diff --git a/src/background/contextMenus/initContextMenus.ts b/applications/browser-extension/src/background/contextMenus/initContextMenus.ts similarity index 82% rename from src/background/contextMenus/initContextMenus.ts rename to applications/browser-extension/src/background/contextMenus/initContextMenus.ts index cd620b8fcc..235ae03e34 100644 --- a/src/background/contextMenus/initContextMenus.ts +++ b/applications/browser-extension/src/background/contextMenus/initContextMenus.ts @@ -17,16 +17,16 @@ import pTimeout from "p-timeout"; import { type Menus, type Tabs } from "webextension-polyfill"; -import { handleMenuAction, notify } from "@/contentScript/messenger/api"; -import { waitForContentScript } from "@/background/contentScript"; -import { expectContext } from "@/utils/expectContext"; -import { getModComponentState } from "@/store/modComponents/modComponentStorage"; -import { hydrateModComponentInnerDefinitions } from "@/registry/hydrateInnerDefinitions"; -import { type UUID } from "@/types/stringTypes"; -import { allSettled } from "@/utils/promiseUtils"; -import { MENU_PREFIX } from "@/background/contextMenus/makeMenuId"; -import { preloadContextMenus } from "@/background/contextMenus/preloadContextMenus"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { handleMenuAction, notify } from "../../contentScript/messenger/api"; +import { waitForContentScript } from "../contentScript"; +import { expectContext } from "../../utils/expectContext"; +import { getModComponentState } from "../../store/modComponents/modComponentStorage"; +import { hydrateModComponentInnerDefinitions } from "../../registry/hydrateInnerDefinitions"; +import { type UUID } from "../../types/stringTypes"; +import { allSettled } from "../../utils/promiseUtils"; +import { MENU_PREFIX } from "./makeMenuId"; +import { preloadContextMenus } from "./preloadContextMenus"; +import { assertNotNullish } from "../../utils/nullishUtils"; // This constant must be high enough to give Chrome time to inject the content script. waitForContentScript can take // >= 1 seconds because it also waits for the content script to be ready diff --git a/src/background/contextMenus/makeMenuId.ts b/applications/browser-extension/src/background/contextMenus/makeMenuId.ts similarity index 94% rename from src/background/contextMenus/makeMenuId.ts rename to applications/browser-extension/src/background/contextMenus/makeMenuId.ts index 89da9ea9d2..a310e47844 100644 --- a/src/background/contextMenus/makeMenuId.ts +++ b/applications/browser-extension/src/background/contextMenus/makeMenuId.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../types/stringTypes"; export const MENU_PREFIX = "pixiebrix-"; diff --git a/src/background/contextMenus/preloadContextMenus.ts b/applications/browser-extension/src/background/contextMenus/preloadContextMenus.ts similarity index 75% rename from src/background/contextMenus/preloadContextMenus.ts rename to applications/browser-extension/src/background/contextMenus/preloadContextMenus.ts index e37a9b3856..72da880d19 100644 --- a/src/background/contextMenus/preloadContextMenus.ts +++ b/applications/browser-extension/src/background/contextMenus/preloadContextMenus.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { ContextError } from "@/errors/genericErrors"; -import { hydrateModComponentInnerDefinitions } from "@/registry/hydrateInnerDefinitions"; -import { ContextMenuStarterBrickABC } from "@/starterBricks/contextMenu/contextMenuStarterBrick"; -import { type ContextMenuConfig } from "@/starterBricks/contextMenu/contextMenuTypes"; -import { selectEventData } from "@/telemetry/deployments"; +import { ContextError } from "../../errors/genericErrors"; +import { hydrateModComponentInnerDefinitions } from "../../registry/hydrateInnerDefinitions"; +import { ContextMenuStarterBrickABC } from "../../starterBricks/contextMenu/contextMenuStarterBrick"; +import { type ContextMenuConfig } from "../../starterBricks/contextMenu/contextMenuTypes"; +import { selectEventData } from "../../telemetry/deployments"; import { type ModComponentBase, type HydratedModComponent, -} from "@/types/modComponentTypes"; -import { expectContext } from "@/utils/expectContext"; -import { allSettled } from "@/utils/promiseUtils"; -import starterBrickRegistry from "@/starterBricks/registry"; +} from "../../types/modComponentTypes"; +import { expectContext } from "../../utils/expectContext"; +import { allSettled } from "../../utils/promiseUtils"; +import starterBrickRegistry from "../../starterBricks/registry"; /** * Add context menu items to the Chrome context menu on all tabs, in anticipation that on Page Load, the content diff --git a/src/background/contextMenus/uninstallContextMenu.ts b/applications/browser-extension/src/background/contextMenus/uninstallContextMenu.ts similarity index 93% rename from src/background/contextMenus/uninstallContextMenu.ts rename to applications/browser-extension/src/background/contextMenus/uninstallContextMenu.ts index 8a7490c34e..69d4c2c387 100644 --- a/src/background/contextMenus/uninstallContextMenu.ts +++ b/applications/browser-extension/src/background/contextMenus/uninstallContextMenu.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { makeMenuId } from "@/background/contextMenus/makeMenuId"; -import { type UUID } from "@/types/stringTypes"; +import { makeMenuId } from "./makeMenuId"; +import { type UUID } from "../../types/stringTypes"; /** * Uninstall the contextMenu UI for `modComponentId` from browser context menu on all tabs. diff --git a/src/background/deploymentUpdater.test.ts b/applications/browser-extension/src/background/deploymentUpdater.test.ts similarity index 92% rename from src/background/deploymentUpdater.test.ts rename to applications/browser-extension/src/background/deploymentUpdater.test.ts index 2e1a135f6b..fdabca794e 100644 --- a/src/background/deploymentUpdater.test.ts +++ b/applications/browser-extension/src/background/deploymentUpdater.test.ts @@ -18,77 +18,77 @@ import { getModComponentState, saveModComponentState, -} from "@/store/modComponents/modComponentStorage"; +} from "../store/modComponents/modComponentStorage"; import { uuidv4, normalizeSemVerString } from "@/types/helpers"; -import { appApiMock } from "@/testUtils/appApiMock"; +import { appApiMock } from "../testUtils/appApiMock"; import { omit } from "lodash"; import { startupDeploymentUpdateLoaded, syncDeployments, -} from "@/background/deploymentUpdater"; -import reportEvent from "@/telemetry/reportEvent"; -import { isLinked, readAuthData } from "@/auth/authStorage"; -import { refreshRegistries } from "@/hooks/useRefreshRegistries"; -import { isUpdateAvailable } from "@/background/installer"; +} from "./deploymentUpdater"; +import reportEvent from "../telemetry/reportEvent"; +import { isLinked, readAuthData } from "../auth/authStorage"; +import { refreshRegistries } from "../hooks/useRefreshRegistries"; +import { isUpdateAvailable } from "./installer"; import { getSettingsState, saveSettingsState, -} from "@/store/settings/settingsStorage"; -import { getEditorState, saveEditorState } from "@/store/editorStorage"; +} from "../store/settings/settingsStorage"; +import { getEditorState, saveEditorState } from "../store/editorStorage"; import { editorSlice, initialState as initialEditorState, -} from "@/pageEditor/store/editor/editorSlice"; -import { type ButtonFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import { parsePackage } from "@/registry/packageRegistry"; -import { registry } from "@/background/messenger/api"; -import { INTERNAL_reset as resetManagedStorage } from "@/store/enterprise/managedStorage"; +} from "../pageEditor/store/editor/editorSlice"; +import { type ButtonFormState } from "../pageEditor/starterBricks/formStateTypes"; +import { parsePackage } from "../registry/packageRegistry"; +import { registry } from "./messenger/api"; +import { INTERNAL_reset as resetManagedStorage } from "../store/enterprise/managedStorage"; import { type ActivatedModComponent } from "@/types/modComponentTypes"; -import { checkDeploymentPermissions } from "@/permissions/deploymentPermissionsHelpers"; -import { emptyPermissionsFactory } from "@/permissions/permissionsUtils"; +import { checkDeploymentPermissions } from "../permissions/deploymentPermissionsHelpers"; +import { emptyPermissionsFactory } from "../permissions/permissionsUtils"; import { TEST_setContext } from "webext-detect"; import { activatedModComponentFactory, modComponentFactory, modMetadataFactory, -} from "@/testUtils/factories/modComponentFactories"; -import { personalSharingDefinitionFactory } from "@/testUtils/factories/registryFactories"; +} from "../testUtils/factories/modComponentFactories"; +import { personalSharingDefinitionFactory } from "../testUtils/factories/registryFactories"; import { modComponentDefinitionFactory, starterBrickDefinitionFactory, -} from "@/testUtils/factories/modDefinitionFactories"; +} from "../testUtils/factories/modDefinitionFactories"; -import { activatableDeploymentFactory } from "@/testUtils/factories/deploymentFactories"; -import { packageConfigDetailFactory } from "@/testUtils/factories/brickFactories"; +import { activatableDeploymentFactory } from "../testUtils/factories/deploymentFactories"; +import { packageConfigDetailFactory } from "../testUtils/factories/brickFactories"; import { type RegistryPackage } from "@/types/contract"; -import { resetMeApiMocks } from "@/testUtils/userMock"; -import { TEST_deleteFeatureFlagsCache } from "@/auth/featureFlagStorage"; +import { resetMeApiMocks } from "../testUtils/userMock"; +import { TEST_deleteFeatureFlagsCache } from "../auth/featureFlagStorage"; import { StarterBrickTypes } from "@/types/starterBrickTypes"; import { queueReloadModEveryTab, reloadModsEveryTab, -} from "@/contentScript/messenger/api"; -import { adapter } from "@/pageEditor/starterBricks/adapter"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../contentScript/messenger/api"; +import { adapter } from "../pageEditor/starterBricks/adapter"; +import { API_PATHS } from "../data/service/urlPaths"; TEST_setContext("background"); -jest.mock("@/store/settings/settingsStorage"); +jest.mock("../store/settings/settingsStorage"); -jest.mock("@/hooks/useRefreshRegistries"); +jest.mock("../hooks/useRefreshRegistries"); -jest.mock("@/utils/extensionUtils", () => ({ +jest.mock("../utils/extensionUtils", () => ({ ...jest.requireActual("@/utils/extensionUtils"), forEachTab: jest.fn(), })); // Override manual mock to support `expect` assertions -jest.mock("@/telemetry/reportEvent"); +jest.mock("../telemetry/reportEvent"); -jest.mock("@/sidebar/messenger/api", () => {}); -jest.mock("@/contentScript/messenger/api"); +jest.mock("../sidebar/messenger/api", () => {}); +jest.mock("../contentScript/messenger/api"); -jest.mock("@/auth/authStorage", () => ({ +jest.mock("../auth/authStorage", () => ({ getExtensionToken: async () => "TESTTOKEN", getAuthHeaders: jest.fn().mockResolvedValue({}), readAuthData: jest.fn().mockResolvedValue({ @@ -100,12 +100,12 @@ jest.mock("@/auth/authStorage", () => ({ TEST_setAuthData: jest.fn(), })); -jest.mock("@/background/installer", () => ({ +jest.mock("./installer", () => ({ isUpdateAvailable: jest.fn().mockReturnValue(false), })); // This comes up in the extensions slice redux-persist migrations that run when mod component state is loaded -jest.mock("@/auth/authUtils", () => { +jest.mock("../auth/authUtils", () => { const actual = jest.requireActual("@/auth/authUtils"); return { ...actual, @@ -620,11 +620,9 @@ describe("syncDeployments", () => { isLinkedMock.mockResolvedValue(false); readAuthDataMock.mockResolvedValue({} as any); - jest.doMock("@/background/deploymentUpdater"); + jest.doMock("./deploymentUpdater"); - const { deactivateAllDeployedMods } = await import( - "@/background/deploymentUpdater" - ); + const { deactivateAllDeployedMods } = await import("./deploymentUpdater"); await syncDeployments(); diff --git a/src/background/deploymentUpdater.ts b/applications/browser-extension/src/background/deploymentUpdater.ts similarity index 89% rename from src/background/deploymentUpdater.ts rename to applications/browser-extension/src/background/deploymentUpdater.ts index 98935c95dd..58a4b80499 100644 --- a/src/background/deploymentUpdater.ts +++ b/applications/browser-extension/src/background/deploymentUpdater.ts @@ -17,62 +17,62 @@ import { type Deployment } from "@/types/contract"; import { uniq } from "lodash"; -import reportError from "@/telemetry/reportError"; -import { getUUID } from "@/telemetry/telemetryHelpers"; -import { isLinked, readAuthData, updateUserData } from "@/auth/authStorage"; -import reportEvent from "@/telemetry/reportEvent"; -import { refreshRegistries } from "@/hooks/useRefreshRegistries"; -import { maybeGetLinkedApiClient } from "@/data/service/apiClient"; -import { getExtensionVersion } from "@/utils/extensionUtils"; +import reportError from "../telemetry/reportError"; +import { getUUID } from "../telemetry/telemetryHelpers"; +import { isLinked, readAuthData, updateUserData } from "../auth/authStorage"; +import reportEvent from "../telemetry/reportEvent"; +import { refreshRegistries } from "../hooks/useRefreshRegistries"; +import { maybeGetLinkedApiClient } from "../data/service/apiClient"; +import { getExtensionVersion } from "../utils/extensionUtils"; import { parse as parseSemVer, satisfies, type SemVer } from "semver"; -import type { ModComponentState } from "@/store/modComponents/modComponentTypes"; -import modComponentSlice from "@/store/modComponents/modComponentSlice"; -import { getModComponentState } from "@/store/modComponents/modComponentStorage"; -import { expectContext } from "@/utils/expectContext"; +import type { ModComponentState } from "../store/modComponents/modComponentTypes"; +import modComponentSlice from "../store/modComponents/modComponentSlice"; +import { getModComponentState } from "../store/modComponents/modComponentStorage"; +import { expectContext } from "../utils/expectContext"; import { getSettingsState, saveSettingsState, -} from "@/store/settings/settingsStorage"; -import { isUpdateAvailable } from "@/background/installer"; -import { selectUserDataUpdate } from "@/auth/authUtils"; +} from "../store/settings/settingsStorage"; +import { isUpdateAvailable } from "./installer"; +import { selectUserDataUpdate } from "../auth/authUtils"; import { findLocalDeploymentConfiguredIntegrationDependencies, makeUpdatedFilter, mergeDeploymentIntegrationDependencies, selectActivatedDeployments, -} from "@/utils/deploymentUtils"; -import { selectUpdatePromptState } from "@/store/settings/settingsSelectors"; -import settingsSlice from "@/store/settings/settingsSlice"; -import { getEditorState, saveEditorState } from "@/store/editorStorage"; -import { type EditorState } from "@/pageEditor/store/editor/pageEditorTypes"; -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; -import registerContribBricks from "@/contrib/registerContribBricks"; -import { launchSsoFlow } from "@/store/enterprise/singleSignOn"; -import { readManagedStorage } from "@/store/enterprise/managedStorage"; +} from "../utils/deploymentUtils"; +import { selectUpdatePromptState } from "../store/settings/settingsSelectors"; +import settingsSlice from "../store/settings/settingsSlice"; +import { getEditorState, saveEditorState } from "../store/editorStorage"; +import { type EditorState } from "../pageEditor/store/editor/pageEditorTypes"; +import registerBuiltinBricks from "../bricks/registerBuiltinBricks"; +import registerContribBricks from "../contrib/registerContribBricks"; +import { launchSsoFlow } from "../store/enterprise/singleSignOn"; +import { readManagedStorage } from "../store/enterprise/managedStorage"; import { type OptionsArgs } from "@/types/runtimeTypes"; -import { checkDeploymentPermissions } from "@/permissions/deploymentPermissionsHelpers"; -import { Events } from "@/telemetry/events"; +import { checkDeploymentPermissions } from "../permissions/deploymentPermissionsHelpers"; +import { Events } from "../telemetry/events"; import type { Manifest } from "webextension-polyfill"; -import { fetchDeploymentModDefinitions } from "@/modDefinitions/modDefinitionRawApiCalls"; -import { integrationConfigLocator } from "@/background/messenger/api"; +import { fetchDeploymentModDefinitions } from "../modDefinitions/modDefinitionRawApiCalls"; +import { integrationConfigLocator } from "./messenger/api"; import type { ActivatableDeployment } from "@/types/deploymentTypes"; -import { isAxiosError } from "@/errors/networkErrorHelpers"; +import { isAxiosError } from "../errors/networkErrorHelpers"; import type { components } from "@/types/swagger"; -import { transformMeResponse } from "@/data/model/Me"; -import { getMe } from "@/data/service/backgroundApi"; -import { flagOn } from "@/auth/featureFlagStorage"; -import { SessionValue } from "@/mv3/SessionStorage"; -import { FeatureFlags } from "@/auth/featureFlags"; -import { API_PATHS } from "@/data/service/urlPaths"; -import deactivateMod from "@/background/utils/deactivateMod"; -import deactivateModInstancesAndSaveState from "@/background/utils/deactivateModInstancesAndSaveState"; +import { transformMeResponse } from "../data/model/Me"; +import { getMe } from "../data/service/backgroundApi"; +import { flagOn } from "../auth/featureFlagStorage"; +import { SessionValue } from "../mv3/SessionStorage"; +import { FeatureFlags } from "../auth/featureFlags"; +import { API_PATHS } from "../data/service/urlPaths"; +import deactivateMod from "./utils/deactivateMod"; +import deactivateModInstancesAndSaveState from "./utils/deactivateModInstancesAndSaveState"; import saveModComponentStateAndReloadTabs, { type ReloadOptions, -} from "@/background/utils/saveModComponentStateAndReloadTabs"; +} from "./utils/saveModComponentStateAndReloadTabs"; import { selectModInstanceMap, selectModInstances, -} from "@/store/modComponents/modInstanceSelectors"; +} from "../store/modComponents/modInstanceSelectors"; // eslint-disable-next-line local-rules/persistBackgroundData -- Static const { reducer: modComponentReducer, actions: modComponentActions } = diff --git a/src/background/executor.test.ts b/applications/browser-extension/src/background/executor.test.ts similarity index 82% rename from src/background/executor.test.ts rename to applications/browser-extension/src/background/executor.test.ts index 5e8a9ad035..fd0ded2587 100644 --- a/src/background/executor.test.ts +++ b/applications/browser-extension/src/background/executor.test.ts @@ -15,25 +15,25 @@ * along with this program. If not, see . */ -import { requestRunInAllFrames } from "@/background/executor"; -import { registryIdFactory } from "@/testUtils/factories/stringFactories"; +import { requestRunInAllFrames } from "./executor"; +import { registryIdFactory } from "../testUtils/factories/stringFactories"; import { type MessengerMeta } from "webext-messenger"; -import { runBrick } from "@/contentScript/messenger/api"; +import { runBrick } from "../contentScript/messenger/api"; import { type WebNavigation } from "webextension-polyfill"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import { unsafeAssumeValidArg } from "../runtime/runtimeTypes"; import { define, derive } from "cooky-cutter"; -import { type RemoteBrickOptions } from "@/contentScript/messenger/runBrickTypes"; -import { messengerMetaFactory } from "@/testUtils/factories/messengerFactories"; -import { mapModComponentRefToMessageContext } from "@/utils/modUtils"; -import { runMetadataFactory } from "@/testUtils/factories/runtimeFactories"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { type RemoteBrickOptions } from "../contentScript/messenger/runBrickTypes"; +import { messengerMetaFactory } from "../testUtils/factories/messengerFactories"; +import { mapModComponentRefToMessageContext } from "../utils/modUtils"; +import { runMetadataFactory } from "../testUtils/factories/runtimeFactories"; +import { assertNotNullish } from "../utils/nullishUtils"; type GetAllFramesCallbackDetailsItemType = WebNavigation.GetAllFramesCallbackDetailsItemType; browser.webNavigation.getAllFrames = jest.fn(); -jest.mock("@/contentScript/messenger/api", () => ({ +jest.mock("../contentScript/messenger/api", () => ({ runBrick: jest.fn().mockRejectedValue(new Error("Mock not implemented")), })); diff --git a/src/background/executor.ts b/applications/browser-extension/src/background/executor.ts similarity index 89% rename from src/background/executor.ts rename to applications/browser-extension/src/background/executor.ts index 27ec6853c0..15a9e9cdf8 100644 --- a/src/background/executor.ts +++ b/applications/browser-extension/src/background/executor.ts @@ -16,24 +16,24 @@ */ import { type Runtime } from "webextension-polyfill"; -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../utils/expectContext"; import { errorTabDoesntExist, errorTargetClosedEarly, type MessengerMeta, } from "webext-messenger"; -import { runBrick } from "@/contentScript/messenger/api"; +import { runBrick } from "../contentScript/messenger/api"; import { type Target } from "@/types/messengerTypes"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import type { RunBrickRequest } from "@/contentScript/messenger/runBrickTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { canAccessTab } from "@/permissions/permissionsUtils"; -import { allSettled } from "@/utils/promiseUtils"; -import { TOP_LEVEL_FRAME_ID } from "@/domConstants"; -import { forEachTab } from "@/utils/extensionUtils"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { isRemoteProcedureCallRequest } from "@/utils/legacyMessengerUtils"; +import { getErrorMessage } from "../errors/errorHelpers"; +import type { RunBrickRequest } from "../contentScript/messenger/runBrickTypes"; +import { BusinessError } from "../errors/businessErrors"; +import { canAccessTab } from "../permissions/permissionsUtils"; +import { allSettled } from "../utils/promiseUtils"; +import { TOP_LEVEL_FRAME_ID } from "../domConstants"; +import { forEachTab } from "../utils/extensionUtils"; +import reportEvent from "../telemetry/reportEvent"; +import { Events } from "../telemetry/events"; +import { isRemoteProcedureCallRequest } from "../utils/legacyMessengerUtils"; import { tabToOpener, tabToTarget } from "./tabs"; // Arbitrary number of tabs above which performance *might* be degraded diff --git a/src/background/externalProtocol.ts b/applications/browser-extension/src/background/externalProtocol.ts similarity index 96% rename from src/background/externalProtocol.ts rename to applications/browser-extension/src/background/externalProtocol.ts index 07e0478ad0..eda6f9e7b4 100644 --- a/src/background/externalProtocol.ts +++ b/applications/browser-extension/src/background/externalProtocol.ts @@ -29,11 +29,11 @@ import { toErrorResponse, isErrorResponse, type RemoteProcedureCallRequest, -} from "@/utils/legacyMessengerUtils"; -import { RuntimeNotFoundError } from "@/utils/extensionUtils"; -import { getChromeExtensionId } from "@/store/browserExtensionIdStorage"; +} from "../utils/legacyMessengerUtils"; +import { RuntimeNotFoundError } from "../utils/extensionUtils"; +import { getChromeExtensionId } from "../store/browserExtensionIdStorage"; import { type SerializableResponse } from "@/types/messengerTypes"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../utils/nullishUtils"; type ChromeMessageSender = chrome.runtime.MessageSender; diff --git a/src/background/getBuiltInIntegrationConfigs.ts b/applications/browser-extension/src/background/getBuiltInIntegrationConfigs.ts similarity index 84% rename from src/background/getBuiltInIntegrationConfigs.ts rename to applications/browser-extension/src/background/getBuiltInIntegrationConfigs.ts index b8de91a96f..eb948c81d3 100644 --- a/src/background/getBuiltInIntegrationConfigs.ts +++ b/applications/browser-extension/src/background/getBuiltInIntegrationConfigs.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { maybeGetLinkedApiClient } from "@/data/service/apiClient"; -import { getSharingType } from "@/hooks/useAuthOptions"; +import { maybeGetLinkedApiClient } from "../data/service/apiClient"; +import { getSharingType } from "../hooks/useAuthOptions"; import { type RemoteIntegrationConfig } from "@/types/contract"; -import reportError from "@/telemetry/reportError"; -import { API_PATHS } from "@/data/service/urlPaths"; +import reportError from "../telemetry/reportError"; +import { API_PATHS } from "../data/service/urlPaths"; export async function getBuiltInIntegrationConfigs(): Promise< RemoteIntegrationConfig[] diff --git a/src/background/initBrowserCommands.ts b/applications/browser-extension/src/background/initBrowserCommands.ts similarity index 89% rename from src/background/initBrowserCommands.ts rename to applications/browser-extension/src/background/initBrowserCommands.ts index ea60944803..2a5abfc3b7 100644 --- a/src/background/initBrowserCommands.ts +++ b/applications/browser-extension/src/background/initBrowserCommands.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { toggleQuickBar } from "@/contentScript/messenger/api"; -import { type Tab } from "@/mv3/api"; +import { toggleQuickBar } from "../contentScript/messenger/api"; +import { type Tab } from "../mv3/api"; import { type Target } from "@/types/messengerTypes"; -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../utils/expectContext"; import { isScriptableUrl } from "webext-content-scripts"; import { waitForContentScript } from "./contentScript"; diff --git a/src/background/initTheme.ts b/applications/browser-extension/src/background/initTheme.ts similarity index 83% rename from src/background/initTheme.ts rename to applications/browser-extension/src/background/initTheme.ts index 61994fb50c..4878ff7c25 100644 --- a/src/background/initTheme.ts +++ b/applications/browser-extension/src/background/initTheme.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import setToolbarIconFromTheme from "@/background/setToolbarIconFromTheme"; -import { expectContext } from "@/utils/expectContext"; -import { getActiveTheme } from "@/themes/themeStore"; -import { browserAction } from "@/mv3/api"; -import { themeStorage } from "@/themes/themeUtils"; -import { allSettled } from "@/utils/promiseUtils"; +import setToolbarIconFromTheme from "./setToolbarIconFromTheme"; +import { expectContext } from "../utils/expectContext"; +import { getActiveTheme } from "../themes/themeStore"; +import { browserAction } from "../mv3/api"; +import { themeStorage } from "../themes/themeUtils"; +import { allSettled } from "../utils/promiseUtils"; /** * Set the toolbar icon based on the current theme settings. diff --git a/src/background/installer.test.ts b/applications/browser-extension/src/background/installer.test.ts similarity index 93% rename from src/background/installer.test.ts rename to applications/browser-extension/src/background/installer.test.ts index bb26089b68..576dea77e0 100644 --- a/src/background/installer.test.ts +++ b/applications/browser-extension/src/background/installer.test.ts @@ -21,31 +21,31 @@ import { showInstallPage, getAvailableVersion, setAvailableVersion, -} from "@/background/installer"; -import * as auth from "@/auth/authStorage"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; +} from "./installer"; +import * as auth from "../auth/authStorage"; +import { integrationConfigLocator } from "./integrationConfigLocator"; import { uuidv4 } from "@/types/helpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { INTERNAL_reset as resetManagedStorage } from "@/store/enterprise/managedStorage"; -import { userPartnerFactory } from "@/testUtils/factories/authFactories"; +import { waitForEffect } from "../testUtils/testHelpers"; +import { INTERNAL_reset as resetManagedStorage } from "../store/enterprise/managedStorage"; +import { userPartnerFactory } from "../testUtils/factories/authFactories"; const APP_BASE_URL = "https://app.pixiebrix.com"; -jest.mock("@/data/service/baseService", () => ({ +jest.mock("../data/service/baseService", () => ({ // Can't use APP_BASE_URL because it's not defined yet when Jest defines the mock getBaseURL: jest.fn().mockResolvedValue("https://app.pixiebrix.com"), })); -jest.mock("@/auth/authStorage", () => ({ +jest.mock("../auth/authStorage", () => ({ isLinked: jest.fn().mockResolvedValue(false), getExtensionToken: jest.fn().mockResolvedValue(null), getUserData: jest.fn().mockResolvedValue(null), addListener: jest.fn(), })); -jest.mock("@/background/telemetry"); +jest.mock("./telemetry"); -jest.mock("@/background/integrationConfigLocator", () => ({ +jest.mock("./integrationConfigLocator", () => ({ integrationConfigLocator: { findAllSanitizedConfigsForIntegration: jest.fn().mockResolvedValue([]), }, diff --git a/src/background/installer.ts b/applications/browser-extension/src/background/installer.ts similarity index 93% rename from src/background/installer.ts rename to applications/browser-extension/src/background/installer.ts index ecd9128664..988f1c0e9f 100644 --- a/src/background/installer.ts +++ b/applications/browser-extension/src/background/installer.ts @@ -15,33 +15,33 @@ * along with this program. If not, see . */ -import { integrationConfigLocator as serviceLocator } from "@/background/integrationConfigLocator"; +import { integrationConfigLocator as serviceLocator } from "./integrationConfigLocator"; import { type Runtime } from "webextension-polyfill"; -import { initTelemetry, recordEvent } from "@/background/telemetry"; -import { getUUID } from "@/telemetry/telemetryHelpers"; -import { allowsTrack, dntConfig } from "@/telemetry/dnt"; +import { initTelemetry, recordEvent } from "./telemetry"; +import { getUUID } from "../telemetry/telemetryHelpers"; +import { allowsTrack, dntConfig } from "../telemetry/dnt"; import { gt } from "semver"; -import { getBaseURL } from "@/data/service/baseService"; -import { getExtensionToken, getUserData, isLinked } from "@/auth/authStorage"; -import { isCommunityControlRoom } from "@/contrib/automationanywhere/aaUtils"; +import { getBaseURL } from "../data/service/baseService"; +import { getExtensionToken, getUserData, isLinked } from "../auth/authStorage"; +import { isCommunityControlRoom } from "../contrib/automationanywhere/aaUtils"; import { isEmpty } from "lodash"; -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../utils/expectContext"; import { initManagedStorage, isInitialized as isManagedStorageInitialized, readManagedStorage, resetInitializationTimestamp as resetManagedStorageInitializationState, watchForDelayedStorageInitialization, -} from "@/store/enterprise/managedStorage"; -import { Events } from "@/telemetry/events"; -import { DEFAULT_SERVICE_URL, UNINSTALL_URL } from "@/urlConstants"; -import { CONTROL_ROOM_TOKEN_INTEGRATION_ID } from "@/integrations/constants"; +} from "../store/enterprise/managedStorage"; +import { Events } from "../telemetry/events"; +import { DEFAULT_SERVICE_URL, UNINSTALL_URL } from "../urlConstants"; +import { CONTROL_ROOM_TOKEN_INTEGRATION_ID } from "../integrations/constants"; import { getExtensionConsoleUrl, getExtensionVersion, -} from "@/utils/extensionUtils"; -import { oncePerSession } from "@/mv3/SessionStorage"; -import { resetFeatureFlagsCache } from "@/auth/featureFlagStorage"; +} from "../utils/extensionUtils"; +import { oncePerSession } from "../mv3/SessionStorage"; +import { resetFeatureFlagsCache } from "../auth/featureFlagStorage"; import { normalizeSemVerString } from "@/types/helpers"; import { type SemVerString } from "@/types/registryTypes"; diff --git a/src/background/integrationConfigLocator.ts b/applications/browser-extension/src/background/integrationConfigLocator.ts similarity index 92% rename from src/background/integrationConfigLocator.ts rename to applications/browser-extension/src/background/integrationConfigLocator.ts index c832b7c59a..0e52b6102c 100644 --- a/src/background/integrationConfigLocator.ts +++ b/applications/browser-extension/src/background/integrationConfigLocator.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import IntegrationConfigLocator from "@/integrations/integrationConfigLocator"; -import { expectContext } from "@/utils/expectContext"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; +import IntegrationConfigLocator from "../integrations/integrationConfigLocator"; +import { expectContext } from "../utils/expectContext"; +import { memoizeUntilSettled } from "../utils/promiseUtils"; /** * Singleton IntegrationConfigLocator instance. diff --git a/src/background/messenger/api.ts b/applications/browser-extension/src/background/messenger/api.ts similarity index 95% rename from src/background/messenger/api.ts rename to applications/browser-extension/src/background/messenger/api.ts index 1173ee3c5e..c67329375d 100644 --- a/src/background/messenger/api.ts +++ b/applications/browser-extension/src/background/messenger/api.ts @@ -21,10 +21,10 @@ import { getMethod, getNotifier, } from "webext-messenger"; -import type { NetworkRequestConfig } from "@/types/networkTypes"; -import type { RemoteResponse } from "@/types/contract"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; +import type { NetworkRequestConfig } from "../../types/networkTypes"; +import type { RemoteResponse } from "../../types/contract"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { type Nullishable } from "../../utils/nullishUtils"; export const getAvailableVersion = getMethod("GET_AVAILABLE_VERSION", bg); diff --git a/src/background/messenger/external/_implementation.ts b/applications/browser-extension/src/background/messenger/external/_implementation.ts similarity index 88% rename from src/background/messenger/external/_implementation.ts rename to applications/browser-extension/src/background/messenger/external/_implementation.ts index bf9196923d..c09270342b 100644 --- a/src/background/messenger/external/_implementation.ts +++ b/applications/browser-extension/src/background/messenger/external/_implementation.ts @@ -19,19 +19,19 @@ * @file THIS FILE IS MEANT TO BE IMPORTED EXCLUSIVELY BY ./api.js */ -import { linkExtension } from "@/auth/authStorage"; -import { type TokenAuthData } from "@/auth/authTypes"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { activateWelcomeModsInBackground } from "@/background/messenger/api"; -import reportError from "@/telemetry/reportError"; -import { validateRegistryId } from "@/types/helpers"; +import { linkExtension } from "../../../auth/authStorage"; +import { type TokenAuthData } from "../../../auth/authTypes"; +import reportEvent from "../../../telemetry/reportEvent"; +import { Events } from "../../../telemetry/events"; +import { activateWelcomeModsInBackground } from "../api"; +import reportError from "../../../telemetry/reportError"; +import { validateRegistryId } from "../../../types/helpers"; import { StorageItem } from "webext-storage"; -import { getExtensionConsoleUrl } from "@/utils/extensionUtils"; -import type { Nullishable } from "@/utils/nullishUtils"; -import type { ModActivationConfig } from "@/types/modTypes"; -import { type ActivateModsResult } from "@/background/welcomeMods"; -import { UI_PATHS } from "@/data/service/urlPaths"; +import { getExtensionConsoleUrl } from "../../../utils/extensionUtils"; +import type { Nullishable } from "../../../utils/nullishUtils"; +import type { ModActivationConfig } from "../../../types/modTypes"; +import { type ActivateModsResult } from "../../welcomeMods"; +import { UI_PATHS } from "../../../data/service/urlPaths"; const HACK_EXTENSION_LINK_RELOAD_DELAY_MS = 100; diff --git a/src/background/messenger/external/api.ts b/applications/browser-extension/src/background/messenger/external/api.ts similarity index 87% rename from src/background/messenger/external/api.ts rename to applications/browser-extension/src/background/messenger/external/api.ts index b1c8ff25ed..8d252c361a 100644 --- a/src/background/messenger/external/api.ts +++ b/applications/browser-extension/src/background/messenger/external/api.ts @@ -20,10 +20,10 @@ * TODO: It's not yet using the Messenger: https://github.com/pixiebrix/webext-messenger/issues/6 */ -import { _liftBackground as liftExternal } from "@/background/externalProtocol"; -import * as local from "@/background/messenger/external/_implementation"; -import { getPartnerAuthData } from "@/auth/authStorage"; -import { getExtensionVersion } from "@/utils/extensionUtils"; +import { _liftBackground as liftExternal } from "../../externalProtocol"; +import * as local from "./_implementation"; +import { getPartnerAuthData } from "../../../auth/authStorage"; +import { getExtensionVersion } from "../../../utils/extensionUtils"; export const connectPage = liftExternal("CONNECT_PAGE", async () => // Ensure the version we send to the app is a valid semver. diff --git a/src/background/messenger/external/registration.ts b/applications/browser-extension/src/background/messenger/external/registration.ts similarity index 100% rename from src/background/messenger/external/registration.ts rename to applications/browser-extension/src/background/messenger/external/registration.ts diff --git a/src/background/messenger/registration.ts b/applications/browser-extension/src/background/messenger/registration.ts similarity index 79% rename from src/background/messenger/registration.ts rename to applications/browser-extension/src/background/messenger/registration.ts index 2ff592aa55..bc196d3610 100644 --- a/src/background/messenger/registration.ts +++ b/applications/browser-extension/src/background/messenger/registration.ts @@ -17,75 +17,75 @@ /* Do not use `getMethod` in this file; Keep only registrations here, not implementations */ import { registerMethods } from "webext-messenger"; -import { expectContext } from "@/utils/expectContext"; -import { showMySidePanel } from "@/background/sidePanel"; -import { waitForContentScript } from "@/background/contentScript"; -import initTheme from "@/background/initTheme"; +import { expectContext } from "../../utils/expectContext"; +import { showMySidePanel } from "../sidePanel"; +import { waitForContentScript } from "../contentScript"; +import initTheme from "../initTheme"; import { addTraceEntry, addTraceExit, clearModComponentTraces, clearTraces, -} from "@/telemetry/trace"; +} from "../../telemetry/trace"; import { captureTab, forwardAudioCaptureEvent, startAudioCapture, stopAudioCapture, -} from "@/background/capture"; +} from "../capture"; import { deleteCachedAuthData, getCachedAuthData, hasCachedAuthData, removeOAuth2Token, -} from "@/background/auth/authStorage"; -import { setToolbarBadge } from "@/background/toolbarBadge"; -import { rememberFocus } from "@/utils/focusTracker"; -import writeToClipboardInFocusedContext from "@/background/clipboard"; -import * as packageRegistry from "@/registry/packageRegistry"; -import integrationRegistry from "@/integrations/registry"; -import { getUserData } from "@/auth/authStorage"; +} from "../auth/authStorage"; +import { setToolbarBadge } from "../toolbarBadge"; +import { rememberFocus } from "../../utils/focusTracker"; +import writeToClipboardInFocusedContext from "../clipboard"; +import * as packageRegistry from "../../registry/packageRegistry"; +import integrationRegistry from "../../integrations/registry"; +import { getUserData } from "../../auth/authStorage"; import { clearModComponentDebugLogs, clearLog, clearLogs, recordError, recordLog, -} from "@/telemetry/logging"; -import { fetchFeatureFlags } from "@/auth/featureFlagStorage"; +} from "../../telemetry/logging"; +import { fetchFeatureFlags } from "../../auth/featureFlagStorage"; import { integrationConfigLocator, refreshIntegrationConfigs, -} from "@/background/integrationConfigLocator"; -import { closeTab, focusTab, openTab } from "@/background/tabs"; -import launchInteractiveOAuth2Flow from "@/background/auth/launchInteractiveOAuth2Flow"; -import { performConfiguredRequest } from "@/background/requests"; -import { getAvailableVersion } from "@/background/installer"; +} from "../integrationConfigLocator"; +import { closeTab, focusTab, openTab } from "../tabs"; +import launchInteractiveOAuth2Flow from "../auth/launchInteractiveOAuth2Flow"; +import { performConfiguredRequest } from "../requests"; +import { getAvailableVersion } from "../installer"; import { collectPerformanceDiagnostics, initTelemetry, pong, recordEvent, sendDeploymentAlert, -} from "@/background/telemetry"; -import { ensureContextMenu } from "@/background/contextMenus/ensureContextMenu"; -import { uninstallContextMenu } from "@/background/contextMenus/uninstallContextMenu"; -import { setCopilotProcessData } from "@/background/partnerHandlers"; +} from "../telemetry"; +import { ensureContextMenu } from "../contextMenus/ensureContextMenu"; +import { uninstallContextMenu } from "../contextMenus/uninstallContextMenu"; +import { setCopilotProcessData } from "../partnerHandlers"; import { requestRunInAllFrames, requestRunInOtherTabs, requestRunInOpener, requestRunInTarget, requestRunInTop, -} from "@/background/executor"; -import { preloadContextMenus } from "@/background/contextMenus/preloadContextMenus"; -import { removeModComponentForEveryTab } from "@/background/removeModComponentForEveryTab"; -import { debouncedActivateWelcomeMods as activateWelcomeMods } from "@/background/welcomeMods"; -import { launchAuthIntegration } from "@/background/auth/partnerIntegrations/launchAuthIntegration"; -import { getPartnerPrincipals } from "@/background/auth/partnerIntegrations/getPartnerPrincipals"; -import refreshPartnerAuthentication from "@/background/auth/partnerIntegrations/refreshPartnerAuthentication"; -import { getMe } from "@/data/service/backgroundApi"; -import { deleteSynchronizedModVariablesForMod } from "@/background/stateControllerListeners"; +} from "../executor"; +import { preloadContextMenus } from "../contextMenus/preloadContextMenus"; +import { removeModComponentForEveryTab } from "../removeModComponentForEveryTab"; +import { debouncedActivateWelcomeMods as activateWelcomeMods } from "../welcomeMods"; +import { launchAuthIntegration } from "../auth/partnerIntegrations/launchAuthIntegration"; +import { getPartnerPrincipals } from "../auth/partnerIntegrations/getPartnerPrincipals"; +import refreshPartnerAuthentication from "../auth/partnerIntegrations/refreshPartnerAuthentication"; +import { getMe } from "../../data/service/backgroundApi"; +import { deleteSynchronizedModVariablesForMod } from "../stateControllerListeners"; expectContext("background"); diff --git a/src/background/modUpdater.test.ts b/applications/browser-extension/src/background/modUpdater.test.ts similarity index 92% rename from src/background/modUpdater.test.ts rename to applications/browser-extension/src/background/modUpdater.test.ts index ec43cb59ae..7ea80076dd 100644 --- a/src/background/modUpdater.test.ts +++ b/applications/browser-extension/src/background/modUpdater.test.ts @@ -22,40 +22,40 @@ import { getActivatedMarketplaceModVersions, updateMod, updateModsIfForceUpdatesAvailable, -} from "@/background/modUpdater"; -import reportError from "@/telemetry/reportError"; +} from "./modUpdater"; +import reportError from "../telemetry/reportError"; import { getModComponentState, saveModComponentState, -} from "@/store/modComponents/modComponentStorage"; +} from "../store/modComponents/modComponentStorage"; import { modMetadataFactory, activatedModComponentFactory, -} from "@/testUtils/factories/modComponentFactories"; +} from "../testUtils/factories/modComponentFactories"; import type { SemVerString } from "@/types/registryTypes"; import { modDefinitionWithVersionedStarterBrickFactory, defaultModDefinitionFactory, -} from "@/testUtils/factories/modDefinitionFactories"; -import { getEditorState } from "@/store/editorStorage"; -import modComponentSlice from "@/store/modComponents/modComponentSlice"; +} from "../testUtils/factories/modDefinitionFactories"; +import { getEditorState } from "../store/editorStorage"; +import modComponentSlice from "../store/modComponents/modComponentSlice"; import { personalSharingDefinitionFactory, publicSharingDefinitionFactory, -} from "@/testUtils/factories/registryFactories"; +} from "../testUtils/factories/registryFactories"; import type { ModDefinition } from "@/types/modDefinitionTypes"; import type { ActivatedModComponent } from "@/types/modComponentTypes"; -import { uninstallContextMenu } from "@/background/contextMenus/uninstallContextMenu"; -import { TEST_deleteFeatureFlagsCache } from "@/auth/featureFlagStorage"; +import { uninstallContextMenu } from "./contextMenus/uninstallContextMenu"; +import { TEST_deleteFeatureFlagsCache } from "../auth/featureFlagStorage"; import { personalDeploymentMetadataFactory, teamDeploymentMetadataFactory, -} from "@/testUtils/factories/modInstanceFactories"; +} from "../testUtils/factories/modInstanceFactories"; const axiosMock = new MockAdapter(axios); -jest.mock("@/telemetry/reportError"); -jest.mock("@/contentScript/messenger/api"); -jest.mock("@/background/contextMenus/uninstallContextMenu"); +jest.mock("../telemetry/reportError"); +jest.mock("../contentScript/messenger/api"); +jest.mock("./contextMenus/uninstallContextMenu"); const uninstallContextMenuMock = jest.mocked(uninstallContextMenu); diff --git a/src/background/modUpdater.ts b/applications/browser-extension/src/background/modUpdater.ts similarity index 87% rename from src/background/modUpdater.ts rename to applications/browser-extension/src/background/modUpdater.ts index 89b4f6511b..0e5ea16204 100644 --- a/src/background/modUpdater.ts +++ b/applications/browser-extension/src/background/modUpdater.ts @@ -16,30 +16,30 @@ */ import type { PackageVersionUpdates } from "@/types/contract"; -import { maybeGetLinkedApiClient } from "@/data/service/apiClient"; -import reportError from "@/telemetry/reportError"; +import { maybeGetLinkedApiClient } from "../data/service/apiClient"; +import reportError from "../telemetry/reportError"; import { getModComponentState, saveModComponentState, -} from "@/store/modComponents/modComponentStorage"; +} from "../store/modComponents/modComponentStorage"; import type { RegistryId, SemVerString } from "@/types/registryTypes"; import type { ModDefinition } from "@/types/modDefinitionTypes"; -import modComponentSlice from "@/store/modComponents/modComponentSlice"; +import modComponentSlice from "../store/modComponents/modComponentSlice"; import { isEmpty } from "lodash"; -import { queueReloadModEveryTab } from "@/contentScript/messenger/api"; -import { getEditorState, saveEditorState } from "@/store/editorStorage"; -import type { EditorState } from "@/pageEditor/store/editor/pageEditorTypes"; -import type { ModComponentState } from "@/store/modComponents/modComponentTypes"; -import { uninstallContextMenu } from "@/background/contextMenus/uninstallContextMenu"; -import { flagOn } from "@/auth/featureFlagStorage"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { FeatureFlags } from "@/auth/featureFlags"; -import { API_PATHS } from "@/data/service/urlPaths"; -import deactivateMod from "@/background/utils/deactivateMod"; +import { queueReloadModEveryTab } from "../contentScript/messenger/api"; +import { getEditorState, saveEditorState } from "../store/editorStorage"; +import type { EditorState } from "../pageEditor/store/editor/pageEditorTypes"; +import type { ModComponentState } from "../store/modComponents/modComponentTypes"; +import { uninstallContextMenu } from "./contextMenus/uninstallContextMenu"; +import { flagOn } from "../auth/featureFlagStorage"; +import { assertNotNullish } from "../utils/nullishUtils"; +import { FeatureFlags } from "../auth/featureFlags"; +import { API_PATHS } from "../data/service/urlPaths"; +import deactivateMod from "./utils/deactivateMod"; import { selectModInstanceMap, selectModInstances, -} from "@/store/modComponents/modInstanceSelectors"; +} from "../store/modComponents/modInstanceSelectors"; const UPDATE_INTERVAL_MS = 10 * 60 * 1000; diff --git a/src/background/navigation.ts b/applications/browser-extension/src/background/navigation.ts similarity index 90% rename from src/background/navigation.ts rename to applications/browser-extension/src/background/navigation.ts index 7067059b8c..5088a2c22d 100644 --- a/src/background/navigation.ts +++ b/applications/browser-extension/src/background/navigation.ts @@ -16,17 +16,17 @@ */ import { type Target } from "@/types/messengerTypes"; -import { canAccessTab } from "@/permissions/permissionsUtils"; +import { canAccessTab } from "../permissions/permissionsUtils"; import { isScriptableUrl, canAccessTab as canInjectTab, } from "webext-content-scripts"; import { debounce } from "lodash"; import { getTabUrl } from "webext-tools"; -import { isTargetReady } from "@/contentScript/ready"; -import { flagOn } from "@/auth/featureFlagStorage"; -import { activatePrerenderedTab } from "@/contentScript/messenger/api"; -import { FeatureFlags } from "@/auth/featureFlags"; +import { isTargetReady } from "../contentScript/ready"; +import { flagOn } from "../auth/featureFlagStorage"; +import { activatePrerenderedTab } from "../contentScript/messenger/api"; +import { FeatureFlags } from "../auth/featureFlags"; /** * Log details about a navigation to the console for debugging content script/navigation bugs. diff --git a/src/background/partnerHandlers.ts b/applications/browser-extension/src/background/partnerHandlers.ts similarity index 95% rename from src/background/partnerHandlers.ts rename to applications/browser-extension/src/background/partnerHandlers.ts index 1c23e9faab..31d46e55ce 100644 --- a/src/background/partnerHandlers.ts +++ b/applications/browser-extension/src/background/partnerHandlers.ts @@ -1,7 +1,7 @@ import { type ProcessDataMap, SET_COPILOT_DATA_MESSAGE_TYPE, -} from "@/contrib/automationanywhere/aaTypes"; +} from "../contrib/automationanywhere/aaTypes"; import { getNotifier, type MessengerMeta } from "webext-messenger"; type SetCopilotDataRequest = { diff --git a/src/background/performConfiguredRequest.test.ts b/applications/browser-extension/src/background/performConfiguredRequest.test.ts similarity index 92% rename from src/background/performConfiguredRequest.test.ts rename to applications/browser-extension/src/background/performConfiguredRequest.test.ts index 5363492936..5e6d6d2747 100644 --- a/src/background/performConfiguredRequest.test.ts +++ b/applications/browser-extension/src/background/performConfiguredRequest.test.ts @@ -15,32 +15,32 @@ * along with this program. If not, see . */ -import integrationRegistry from "@/integrations/registry"; +import integrationRegistry from "../integrations/registry"; import axios, { type AxiosError } from "axios"; import MockAdapter from "axios-mock-adapter"; import { performConfiguredRequest } from "./requests"; -import * as token from "@/auth/authStorage"; -import Locator from "@/integrations/integrationConfigLocator"; +import * as token from "../auth/authStorage"; +import Locator from "../integrations/integrationConfigLocator"; import { validateRegistryId } from "@/types/helpers"; -import enrichAxiosErrors from "@/utils/enrichAxiosErrors"; -import { ContextError } from "@/errors/genericErrors"; -import { RemoteServiceError } from "@/errors/clientRequestErrors"; +import enrichAxiosErrors from "../utils/enrichAxiosErrors"; +import { ContextError } from "../errors/genericErrors"; +import { RemoteServiceError } from "../errors/clientRequestErrors"; import { type IntegrationABC, type IntegrationConfig, type SecretsConfig, -} from "@/integrations/integrationTypes"; +} from "../integrations/integrationTypes"; import { TEST_setContext } from "webext-detect"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { getToken } from "@/background/auth/getToken"; -import { PIXIEBRIX_INTEGRATION_ID } from "@/integrations/constants"; -import { hasSpecificErrorCause } from "@/errors/errorHelpers"; -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; +import { sanitizedIntegrationConfigFactory } from "../testUtils/factories/integrationFactories"; +import { getToken } from "./auth/getToken"; +import { PIXIEBRIX_INTEGRATION_ID } from "../integrations/constants"; +import { hasSpecificErrorCause } from "../errors/errorHelpers"; +import { InteractiveLoginRequiredError } from "../errors/authErrors"; import { deserializeError, serializeError } from "serialize-error"; import { type NetworkRequestConfig } from "@/types/networkTypes"; // Disable automatic __mocks__ resolution #6799 -jest.mock("@/data/service/apiClient", () => +jest.mock("../data/service/apiClient", () => jest.requireActual("@/data/service/apiClient.ts"), ); @@ -57,17 +57,17 @@ const launchWebAuthFlowMock = jest.mocked(browser.identity.launchWebAuthFlow); browser.permissions.contains = jest.fn().mockResolvedValue(true); -jest.mock("@/background/auth/authStorage", () => ({ +jest.mock("./auth/authStorage", () => ({ getCachedAuthData: jest.fn().mockResolvedValue(null), hasCachedAuthData: jest.fn().mockResolvedValue(false), deleteCachedAuthData: jest.fn(), })); -jest.mock("@/background/auth/getToken", () => ({ +jest.mock("./auth/getToken", () => ({ __esModule: true, getToken: jest.fn().mockResolvedValue({ token: "iamatoken" }), })); -jest.mock("@/auth/authStorage"); -jest.mock("@/integrations/integrationConfigLocator"); +jest.mock("../auth/authStorage"); +jest.mock("../integrations/integrationConfigLocator"); enrichAxiosErrors(); diff --git a/src/background/proxyUtils.test.ts b/applications/browser-extension/src/background/proxyUtils.test.ts similarity index 98% rename from src/background/proxyUtils.test.ts rename to applications/browser-extension/src/background/proxyUtils.test.ts index 16147ad802..b80445efa8 100644 --- a/src/background/proxyUtils.test.ts +++ b/applications/browser-extension/src/background/proxyUtils.test.ts @@ -18,7 +18,7 @@ import { proxyResponseToAxiosResponse, selectRemoteResponseErrorMessage, -} from "@/background/proxyUtils"; +} from "./proxyUtils"; describe("selectRemoteResponseErrorMessage", () => { it("prefers top-level message", () => { diff --git a/src/background/proxyUtils.ts b/applications/browser-extension/src/background/proxyUtils.ts similarity index 97% rename from src/background/proxyUtils.ts rename to applications/browser-extension/src/background/proxyUtils.ts index 3281d5401a..6a8ce68b1c 100644 --- a/src/background/proxyUtils.ts +++ b/applications/browser-extension/src/background/proxyUtils.ts @@ -20,7 +20,7 @@ import { type ProxyResponseData, type ProxyResponseErrorData, } from "@/types/contract"; -import { safeGuessStatusText } from "@/errors/networkErrorHelpers"; +import { safeGuessStatusText } from "../errors/networkErrorHelpers"; /** * Return the error message from a 3rd party API proxied through the PixieBrix API proxy diff --git a/src/background/refreshRegistries.ts b/applications/browser-extension/src/background/refreshRegistries.ts similarity index 90% rename from src/background/refreshRegistries.ts rename to applications/browser-extension/src/background/refreshRegistries.ts index 3be15c86ae..cb26cfef3c 100644 --- a/src/background/refreshRegistries.ts +++ b/applications/browser-extension/src/background/refreshRegistries.ts @@ -16,8 +16,8 @@ */ import { refreshIntegrationConfigs } from "./integrationConfigLocator"; -import { syncRemotePackages } from "@/registry/memoryRegistry"; -import { expectContext } from "@/utils/expectContext"; +import { syncRemotePackages } from "../registry/memoryRegistry"; +import { expectContext } from "../utils/expectContext"; /** * Method to refresh packages and services in the background context. diff --git a/src/background/refreshToken.test.ts b/applications/browser-extension/src/background/refreshToken.test.ts similarity index 85% rename from src/background/refreshToken.test.ts rename to applications/browser-extension/src/background/refreshToken.test.ts index 0cd5ae3386..a3be1edbe8 100644 --- a/src/background/refreshToken.test.ts +++ b/applications/browser-extension/src/background/refreshToken.test.ts @@ -15,35 +15,35 @@ * along with this program. If not, see . */ -import refreshPKCEToken from "@/background/refreshToken"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { type IntegrationConfig } from "@/integrations/integrationTypes"; -import { fromJS } from "@/integrations/UserDefinedIntegration"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; -import aaDefinition from "@contrib/integrations/automation-anywhere-oauth2.yaml"; -import googleDefinition from "@contrib/integrations/google-oauth2-pkce.yaml"; -import greenhouseDefintion from "@contrib/integrations/greenhouse.yaml"; -import microsoftDefinition from "@contrib/integrations/microsoft-oauth2-pkce.yaml"; +import refreshPKCEToken from "./refreshToken"; +import { appApiMock } from "../testUtils/appApiMock"; +import { sanitizedIntegrationConfigFactory } from "../testUtils/factories/integrationFactories"; +import { type IntegrationConfig } from "../integrations/integrationTypes"; +import { fromJS } from "../integrations/UserDefinedIntegration"; +import { integrationConfigLocator } from "./integrationConfigLocator"; +import aaDefinition from "../../contrib/integrations/automation-anywhere-oauth2.yaml"; +import googleDefinition from "../../contrib/integrations/google-oauth2-pkce.yaml"; +import greenhouseDefintion from "../../contrib/integrations/greenhouse.yaml"; +import microsoftDefinition from "../../contrib/integrations/microsoft-oauth2-pkce.yaml"; import { getCachedAuthData, setCachedAuthData, -} from "@/background/auth/authStorage"; -import { CONTROL_ROOM_OAUTH_INTEGRATION_ID } from "@/integrations/constants"; -import { readRawConfigurations } from "@/integrations/util/readRawConfigurations"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "./auth/authStorage"; +import { CONTROL_ROOM_OAUTH_INTEGRATION_ID } from "../integrations/constants"; +import { readRawConfigurations } from "../integrations/util/readRawConfigurations"; +import { API_PATHS } from "../data/service/urlPaths"; const aaIntegration = fromJS(aaDefinition as any); const googleIntegration = fromJS(googleDefinition as any); const greenhouseIntegration = fromJS(greenhouseDefintion as any); const microsoftIntegration = fromJS(microsoftDefinition as any); -jest.mock("@/background/auth/authStorage", () => ({ +jest.mock("./auth/authStorage", () => ({ getCachedAuthData: jest.fn().mockRejectedValue(new Error("Not mocked")), setCachedAuthData: jest.fn(), })); -jest.mock("@/integrations/util/readRawConfigurations"); +jest.mock("../integrations/util/readRawConfigurations"); const getCachedAuthDataMock = jest.mocked(getCachedAuthData); const setCachedAuthDataMock = jest.mocked(setCachedAuthData); diff --git a/src/background/refreshToken.ts b/applications/browser-extension/src/background/refreshToken.ts similarity index 93% rename from src/background/refreshToken.ts rename to applications/browser-extension/src/background/refreshToken.ts index 1461393811..95a308584e 100644 --- a/src/background/refreshToken.ts +++ b/applications/browser-extension/src/background/refreshToken.ts @@ -16,21 +16,21 @@ */ import axios from "axios"; -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../utils/expectContext"; import { type Integration, type SanitizedIntegrationConfig, -} from "@/integrations/integrationTypes"; -import { integrationConfigLocator as serviceLocator } from "@/background/integrationConfigLocator"; +} from "../integrations/integrationTypes"; +import { integrationConfigLocator as serviceLocator } from "./integrationConfigLocator"; import { getCachedAuthData, setCachedAuthData, -} from "@/background/auth/authStorage"; +} from "./auth/authStorage"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, PIXIEBRIX_INTEGRATION_ID, -} from "@/integrations/constants"; -import { assertNotNullish } from "@/utils/nullishUtils"; +} from "../integrations/constants"; +import { assertNotNullish } from "../utils/nullishUtils"; /** * Refresh an OAuth2 PKCE token. NOOP if a refresh token is not available. diff --git a/src/background/removeModComponentForEveryTab.ts b/applications/browser-extension/src/background/removeModComponentForEveryTab.ts similarity index 88% rename from src/background/removeModComponentForEveryTab.ts rename to applications/browser-extension/src/background/removeModComponentForEveryTab.ts index e5f4c7d660..bfc4690de9 100644 --- a/src/background/removeModComponentForEveryTab.ts +++ b/applications/browser-extension/src/background/removeModComponentForEveryTab.ts @@ -19,12 +19,12 @@ import { removeActivatedModComponent, removeSidebars, removeDraftModComponents, -} from "@/contentScript/messenger/api"; -import { forEachTab } from "@/utils/extensionUtils"; +} from "../contentScript/messenger/api"; +import { forEachTab } from "../utils/extensionUtils"; import { type UUID } from "@/types/stringTypes"; import { uninstallContextMenu } from "./contextMenus/uninstallContextMenu"; -import { clearModComponentTraces } from "@/telemetry/trace"; -import { clearLog } from "@/telemetry/logging"; +import { clearModComponentTraces } from "../telemetry/trace"; +import { clearLog } from "../telemetry/logging"; export async function removeModComponentForEveryTab( modComponentId: UUID, diff --git a/src/background/requests.test.ts b/applications/browser-extension/src/background/requests.test.ts similarity index 86% rename from src/background/requests.test.ts rename to applications/browser-extension/src/background/requests.test.ts index 8a22176813..c018fbf3a3 100644 --- a/src/background/requests.test.ts +++ b/applications/browser-extension/src/background/requests.test.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import { getCachedAuthData } from "@/background/auth/authStorage"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; -import { authDataFactory } from "@/testUtils/factories/authFactories"; -import { getOAuth2AuthData } from "@/background/requests"; -import { type Integration } from "@/integrations/integrationTypes"; +import { getCachedAuthData } from "./auth/authStorage"; +import launchOAuth2Flow from "./auth/launchOAuth2Flow"; +import { authDataFactory } from "../testUtils/factories/authFactories"; +import { getOAuth2AuthData } from "./requests"; +import { type Integration } from "../integrations/integrationTypes"; import { integrationConfigFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import { registryIdFactory } from "@/testUtils/factories/stringFactories"; +} from "../testUtils/factories/integrationFactories"; +import { registryIdFactory } from "../testUtils/factories/stringFactories"; -jest.mock("@/background/auth/authStorage.ts"); -jest.mock("@/background/auth/launchOAuth2Flow"); +jest.mock("./auth/authStorage.ts"); +jest.mock("./auth/launchOAuth2Flow"); const getCachedAuthDataMock = jest.mocked(getCachedAuthData); const launchOAuth2FlowMock = jest.mocked(launchOAuth2Flow); diff --git a/src/background/requests.ts b/applications/browser-extension/src/background/requests.ts similarity index 89% rename from src/background/requests.ts rename to applications/browser-extension/src/background/requests.ts index 3bc3bb86ca..3b80206707 100644 --- a/src/background/requests.ts +++ b/applications/browser-extension/src/background/requests.ts @@ -17,29 +17,29 @@ import axios, { type AxiosResponse, type Method } from "axios"; import type { NetworkRequestConfig } from "@/types/networkTypes"; -import integrationRegistry from "@/integrations/registry"; -import { getExtensionToken } from "@/auth/authStorage"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; +import integrationRegistry from "../integrations/registry"; +import { getExtensionToken } from "../auth/authStorage"; +import { integrationConfigLocator } from "./integrationConfigLocator"; import { isEmpty } from "lodash"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; -import { expectContext } from "@/utils/expectContext"; -import { absoluteApiUrl } from "@/data/service/apiClient"; +import launchOAuth2Flow from "./auth/launchOAuth2Flow"; +import { expectContext } from "../utils/expectContext"; +import { absoluteApiUrl } from "../data/service/apiClient"; import { type ProxyResponseData, type RemoteResponse } from "@/types/contract"; import { isProxiedErrorResponse, proxyResponseToAxiosResponse, selectRemoteResponseErrorMessage, -} from "@/background/proxyUtils"; -import { selectAxiosError } from "@/data/service/requestErrorUtils"; +} from "./proxyUtils"; +import { selectAxiosError } from "../data/service/requestErrorUtils"; import { BusinessError, ProxiedRemoteServiceError, -} from "@/errors/businessErrors"; -import { ContextError, ExtensionNotLinkedError } from "@/errors/genericErrors"; +} from "../errors/businessErrors"; +import { ContextError, ExtensionNotLinkedError } from "../errors/genericErrors"; import { isAxiosError, safeGuessStatusText, -} from "@/errors/networkErrorHelpers"; +} from "../errors/networkErrorHelpers"; import { deserializeError, serializeError } from "serialize-error"; import { type AuthData, @@ -47,27 +47,24 @@ import { type IntegrationConfig, type SanitizedIntegrationConfig, type SecretsConfig, -} from "@/integrations/integrationTypes"; +} from "../integrations/integrationTypes"; import { type MessageContext } from "@/types/loggerTypes"; -import refreshPKCEToken from "@/background/refreshToken"; -import reportError from "@/telemetry/reportError"; -import { assertProtocolUrl, isUrlRelative } from "@/utils/urlUtils"; -import { ensureJsonObject } from "@/utils/objectUtils"; -import { - deleteCachedAuthData, - getCachedAuthData, -} from "@/background/auth/authStorage"; -import { getToken } from "@/background/auth/getToken"; +import refreshPKCEToken from "./refreshToken"; +import reportError from "../telemetry/reportError"; +import { assertProtocolUrl, isUrlRelative } from "../utils/urlUtils"; +import { ensureJsonObject } from "../utils/objectUtils"; +import { deleteCachedAuthData, getCachedAuthData } from "./auth/authStorage"; +import { getToken } from "./auth/getToken"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, PIXIEBRIX_INTEGRATION_ID, -} from "@/integrations/constants"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; -import { pixiebrixConfigurationFactory } from "@/integrations/util/pixiebrixConfigurationFactory"; -import { type Nullishable } from "@/utils/nullishUtils"; +} from "../integrations/constants"; +import { memoizeUntilSettled } from "../utils/promiseUtils"; +import { pixiebrixConfigurationFactory } from "../integrations/util/pixiebrixConfigurationFactory"; +import { type Nullishable } from "../utils/nullishUtils"; -import { isAuthenticationAxiosError } from "@/auth/isAuthenticationAxiosError"; -import { API_PATHS } from "@/data/service/urlPaths"; +import { isAuthenticationAxiosError } from "../auth/isAuthenticationAxiosError"; +import { API_PATHS } from "../data/service/urlPaths"; // Firefox won't send response objects from the background page to the content script. Strip out the // potentially sensitive parts of the response (the request, headers, etc.) diff --git a/src/background/restrictUnauthenticatedUrlAccess.test.ts b/applications/browser-extension/src/background/restrictUnauthenticatedUrlAccess.test.ts similarity index 93% rename from src/background/restrictUnauthenticatedUrlAccess.test.ts rename to applications/browser-extension/src/background/restrictUnauthenticatedUrlAccess.test.ts index 76968a4180..f964907e54 100644 --- a/src/background/restrictUnauthenticatedUrlAccess.test.ts +++ b/applications/browser-extension/src/background/restrictUnauthenticatedUrlAccess.test.ts @@ -15,28 +15,28 @@ * along with this program. If not, see . */ -import initRestrictUnauthenticatedUrlAccess from "@/background/restrictUnauthenticatedUrlAccess"; +import initRestrictUnauthenticatedUrlAccess from "./restrictUnauthenticatedUrlAccess"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; import { uuidv4 } from "@/types/helpers"; -import { INTERNAL_reset } from "@/store/enterprise/managedStorage"; -import reportError from "@/telemetry/reportError"; +import { INTERNAL_reset } from "../store/enterprise/managedStorage"; +import reportError from "../telemetry/reportError"; import { isLinked, TEST_clearListeners, TEST_triggerListeners, -} from "@/auth/authStorage"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { tabFactory } from "@/testUtils/factories/browserFactories"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../auth/authStorage"; +import { waitForEffect } from "../testUtils/testHelpers"; +import { tabFactory } from "../testUtils/factories/browserFactories"; +import { API_PATHS } from "../data/service/urlPaths"; -jest.mock("@/auth/authStorage", () => ({ +jest.mock("../auth/authStorage", () => ({ __esModule: true, ...jest.requireActual("@/auth/authStorage"), isLinked: jest.fn(), })); -jest.mock("@/utils/extensionUtils", () => ({ +jest.mock("../utils/extensionUtils", () => ({ ...jest.requireActual("@/utils/extensionUtils"), forEachTab: jest.fn(), })); diff --git a/src/background/restrictUnauthenticatedUrlAccess.ts b/applications/browser-extension/src/background/restrictUnauthenticatedUrlAccess.ts similarity index 92% rename from src/background/restrictUnauthenticatedUrlAccess.ts rename to applications/browser-extension/src/background/restrictUnauthenticatedUrlAccess.ts index f6e8a78a84..f278f4d553 100644 --- a/src/background/restrictUnauthenticatedUrlAccess.ts +++ b/applications/browser-extension/src/background/restrictUnauthenticatedUrlAccess.ts @@ -16,19 +16,19 @@ */ import { type OrganizationAuthUrlPattern } from "@/types/contract"; -import { readManagedStorage } from "@/store/enterprise/managedStorage"; -import { addAuthListener, isLinked } from "@/auth/authStorage"; +import { readManagedStorage } from "../store/enterprise/managedStorage"; +import { addAuthListener, isLinked } from "../auth/authStorage"; import { validateUUID } from "@/types/helpers"; import { type UUID } from "@/types/stringTypes"; -import { testMatchPatterns } from "@/bricks/available"; -import { SessionValue } from "@/mv3/SessionStorage"; -import reportError from "@/telemetry/reportError"; +import { testMatchPatterns } from "../bricks/available"; +import { SessionValue } from "../mv3/SessionStorage"; +import reportError from "../telemetry/reportError"; import type { Tabs } from "webextension-polyfill"; -import { forEachTab } from "@/utils/extensionUtils"; -import { getApiClient } from "@/data/service/apiClient"; -import { DEFAULT_SERVICE_URL } from "@/urlConstants"; +import { forEachTab } from "../utils/extensionUtils"; +import { getApiClient } from "../data/service/apiClient"; +import { DEFAULT_SERVICE_URL } from "../urlConstants"; import { StorageItem } from "webext-storage"; -import { API_PATHS } from "@/data/service/urlPaths"; +import { API_PATHS } from "../data/service/urlPaths"; const authUrlPatternCache = new SessionValue( "authUrlPatterns", diff --git a/src/background/setToolbarBadge.test.ts b/applications/browser-extension/src/background/setToolbarBadge.test.ts similarity index 88% rename from src/background/setToolbarBadge.test.ts rename to applications/browser-extension/src/background/setToolbarBadge.test.ts index bd65bde251..170b1fc205 100644 --- a/src/background/setToolbarBadge.test.ts +++ b/applications/browser-extension/src/background/setToolbarBadge.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { browserAction } from "@/mv3/api"; +import { browserAction } from "../mv3/api"; import { DEFAULT_BADGE_COLOR, setToolbarBadge, -} from "@/background/toolbarBadge"; -import { messengerMetaFactory } from "@/testUtils/factories/messengerFactories"; +} from "./toolbarBadge"; +import { messengerMetaFactory } from "../testUtils/factories/messengerFactories"; -jest.mock("@/mv3/api", () => ({ +jest.mock("../mv3/api", () => ({ browserAction: { setBadgeBackgroundColor: jest.fn(), setBadgeText: jest.fn(), diff --git a/src/background/setToolbarIconFromTheme.test.ts b/applications/browser-extension/src/background/setToolbarIconFromTheme.test.ts similarity index 95% rename from src/background/setToolbarIconFromTheme.test.ts rename to applications/browser-extension/src/background/setToolbarIconFromTheme.test.ts index a2e62540da..30eca62a59 100644 --- a/src/background/setToolbarIconFromTheme.test.ts +++ b/applications/browser-extension/src/background/setToolbarIconFromTheme.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import setToolbarIconFromTheme from "@/background/setToolbarIconFromTheme"; +import setToolbarIconFromTheme from "./setToolbarIconFromTheme"; import axios from "axios"; import MockAdapter from "axios-mock-adapter"; -import { browserAction } from "@/mv3/api"; +import { browserAction } from "../mv3/api"; -jest.mock("@/mv3/api", () => ({ +jest.mock("../mv3/api", () => ({ browserAction: { setIcon: jest.fn(), }, diff --git a/src/background/setToolbarIconFromTheme.ts b/applications/browser-extension/src/background/setToolbarIconFromTheme.ts similarity index 88% rename from src/background/setToolbarIconFromTheme.ts rename to applications/browser-extension/src/background/setToolbarIconFromTheme.ts index 0a2ebf102d..3ed3184a22 100644 --- a/src/background/setToolbarIconFromTheme.ts +++ b/applications/browser-extension/src/background/setToolbarIconFromTheme.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { browserAction } from "@/mv3/api"; -import type { ThemeAssets } from "@/themes/themeUtils"; -import { DEFAULT_THEME } from "@/themes/themeTypes"; -import { loadImageData } from "@/utils/canvasUtils"; +import { browserAction } from "../mv3/api"; +import type { ThemeAssets } from "../themes/themeUtils"; +import { DEFAULT_THEME } from "../themes/themeTypes"; +import { loadImageData } from "../utils/canvasUtils"; export default async function setToolbarIconFromTheme({ logo, diff --git a/src/background/sidePanel.ts b/applications/browser-extension/src/background/sidePanel.ts similarity index 92% rename from src/background/sidePanel.ts rename to applications/browser-extension/src/background/sidePanel.ts index 8e49cf5548..1348ce4339 100644 --- a/src/background/sidePanel.ts +++ b/applications/browser-extension/src/background/sidePanel.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { openSidePanel, getSidebarPath } from "@/utils/sidePanelUtils"; +import { openSidePanel, getSidebarPath } from "../utils/sidePanelUtils"; import type { MessengerMeta } from "webext-messenger"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../utils/nullishUtils"; export async function showMySidePanel(this: MessengerMeta): Promise { const tabId = this.trace[0]?.tab?.id; diff --git a/src/background/stateControllerListeners.test.ts b/applications/browser-extension/src/background/stateControllerListeners.test.ts similarity index 91% rename from src/background/stateControllerListeners.test.ts rename to applications/browser-extension/src/background/stateControllerListeners.test.ts index 86dd2deb39..1e02a7fa0e 100644 --- a/src/background/stateControllerListeners.test.ts +++ b/applications/browser-extension/src/background/stateControllerListeners.test.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; +import { modComponentRefFactory } from "../testUtils/factories/modComponentFactories"; import { getState, setState, TEST_resetStateController, -} from "@/contentScript/stateController/stateController"; -import { MergeStrategies, StateNamespaces } from "@/platform/state/stateTypes"; +} from "../contentScript/stateController/stateController"; +import { MergeStrategies, StateNamespaces } from "../platform/state/stateTypes"; import type { JSONSchema7Definition } from "json-schema"; import { deleteSynchronizedModVariablesForMod, deleteSynchronizedModVariablesForTab, -} from "@/background/stateControllerListeners"; +} from "./stateControllerListeners"; import { getThisFrame } from "webext-messenger"; -import { registerModVariables } from "@/contentScript/stateController/modVariablePolicyController"; +import { registerModVariables } from "../contentScript/stateController/modVariablePolicyController"; beforeEach(async () => { await TEST_resetStateController(); diff --git a/src/background/stateControllerListeners.ts b/applications/browser-extension/src/background/stateControllerListeners.ts similarity index 95% rename from src/background/stateControllerListeners.ts rename to applications/browser-extension/src/background/stateControllerListeners.ts index 540e9a2029..fe9dc74034 100644 --- a/src/background/stateControllerListeners.ts +++ b/applications/browser-extension/src/background/stateControllerListeners.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { tryParseSessionStorageKey } from "@/platform/state/stateHelpers"; +import { tryParseSessionStorageKey } from "../platform/state/stateHelpers"; import type { RegistryId } from "@/types/registryTypes"; /** diff --git a/src/background/tabs.ts b/applications/browser-extension/src/background/tabs.ts similarity index 94% rename from src/background/tabs.ts rename to applications/browser-extension/src/background/tabs.ts index 0078b5983f..26801521d8 100644 --- a/src/background/tabs.ts +++ b/applications/browser-extension/src/background/tabs.ts @@ -16,10 +16,10 @@ */ import { type Tabs } from "webextension-polyfill"; -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../utils/expectContext"; import { type MessengerMeta } from "webext-messenger"; -import { SessionMap } from "@/mv3/SessionStorage"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { SessionMap } from "../mv3/SessionStorage"; +import { assertNotNullish } from "../utils/nullishUtils"; type TabId = number; diff --git a/src/background/teamTrialUpdater.ts b/applications/browser-extension/src/background/teamTrialUpdater.ts similarity index 82% rename from src/background/teamTrialUpdater.ts rename to applications/browser-extension/src/background/teamTrialUpdater.ts index 91e7f3045a..72577319d2 100644 --- a/src/background/teamTrialUpdater.ts +++ b/applications/browser-extension/src/background/teamTrialUpdater.ts @@ -14,13 +14,13 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -import deactivateModInstancesAndSaveState from "@/background/utils/deactivateModInstancesAndSaveState"; -import { type Team } from "@/data/model/Team"; -import { getTeams } from "@/data/service/backgroundApi"; -import { getEditorState } from "@/store/editorStorage"; -import { getModComponentState } from "@/store/modComponents/modComponentStorage"; -import { getScopeAndId } from "@/utils/registryUtils"; -import { selectModInstances } from "@/store/modComponents/modInstanceSelectors"; +import deactivateModInstancesAndSaveState from "./utils/deactivateModInstancesAndSaveState"; +import { type Team } from "../data/model/Team"; +import { getTeams } from "../data/service/backgroundApi"; +import { getEditorState } from "../store/editorStorage"; +import { getModComponentState } from "../store/modComponents/modComponentStorage"; +import { getScopeAndId } from "../utils/registryUtils"; +import { selectModInstances } from "../store/modComponents/modInstanceSelectors"; import type { ModInstance } from "@/types/modInstanceTypes"; async function getTeamsWithTrials() { diff --git a/src/background/telemetry.test.ts b/applications/browser-extension/src/background/telemetry.test.ts similarity index 92% rename from src/background/telemetry.test.ts rename to applications/browser-extension/src/background/telemetry.test.ts index 5c43a4fe52..6543540946 100644 --- a/src/background/telemetry.test.ts +++ b/applications/browser-extension/src/background/telemetry.test.ts @@ -19,10 +19,10 @@ import { flushEvents, recordEvent, TEST_flushAll, -} from "@/background/telemetry"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { type TelemetryEvent } from "@/telemetry/telemetryTypes"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "./telemetry"; +import { appApiMock } from "../testUtils/appApiMock"; +import { type TelemetryEvent } from "../telemetry/telemetryTypes"; +import { API_PATHS } from "../data/service/urlPaths"; const EXPECTED_RUNTIME_ID = "abc123"; const expectedManifestValues = { diff --git a/src/background/telemetry.ts b/applications/browser-extension/src/background/telemetry.ts similarity index 93% rename from src/background/telemetry.ts rename to applications/browser-extension/src/background/telemetry.ts index 7f24388c8b..1a52e6ca28 100644 --- a/src/background/telemetry.ts +++ b/applications/browser-extension/src/background/telemetry.ts @@ -16,27 +16,27 @@ */ import { debounce, throttle, uniq } from "lodash"; -import { getModComponentState } from "@/store/modComponents/modComponentStorage"; +import { getModComponentState } from "../store/modComponents/modComponentStorage"; import { getLinkedApiClient, maybeGetLinkedApiClient, -} from "@/data/service/apiClient"; -import { allowsTrack } from "@/telemetry/dnt"; +} from "../data/service/apiClient"; +import { allowsTrack } from "../telemetry/dnt"; import { type DBSchema, type IDBPDatabase, openDB } from "idb"; import { DATABASE_NAME, deleteDatabase, IDB_OPERATION, withIdbErrorHandling, -} from "@/utils/idbUtils"; -import { browserVersion, detectBrowser } from "@/vendors/mixpanelBrowser"; -import { count as registrySize } from "@/registry/packageRegistry"; -import { count as logSize } from "@/telemetry/logging"; -import { count as traceSize } from "@/telemetry/trace"; -import { getUUID } from "@/telemetry/telemetryHelpers"; -import { getExtensionVersion, getTabsWithAccess } from "@/utils/extensionUtils"; -import { type TelemetryEvent } from "@/telemetry/telemetryTypes"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../utils/idbUtils"; +import { browserVersion, detectBrowser } from "../vendors/mixpanelBrowser"; +import { count as registrySize } from "../registry/packageRegistry"; +import { count as logSize } from "../telemetry/logging"; +import { count as traceSize } from "../telemetry/trace"; +import { getUUID } from "../telemetry/telemetryHelpers"; +import { getExtensionVersion, getTabsWithAccess } from "../utils/extensionUtils"; +import { type TelemetryEvent } from "../telemetry/telemetryTypes"; +import { API_PATHS } from "../data/service/urlPaths"; const EVENT_BUFFER_DEBOUNCE_MS = 2000; const EVENT_BUFFER_MAX_MS = 10_000; diff --git a/src/background/toolbarBadge.ts b/applications/browser-extension/src/background/toolbarBadge.ts similarity index 91% rename from src/background/toolbarBadge.ts rename to applications/browser-extension/src/background/toolbarBadge.ts index 712cc6813d..3b0effae9b 100644 --- a/src/background/toolbarBadge.ts +++ b/applications/browser-extension/src/background/toolbarBadge.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { browserAction } from "@/mv3/api"; +import { browserAction } from "../mv3/api"; import { type MessengerMeta } from "webext-messenger"; import { type ModComponentRef } from "@/types/modComponentTypes"; -import { setTabBadgeModComponentRef } from "@/background/browserAction"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { setTabBadgeModComponentRef } from "./browserAction"; +import { assertNotNullish } from "../utils/nullishUtils"; /** * Browsers will set the badge text color to white or black depending on the background color for accessible contrast. diff --git a/src/background/utils/deactivateMod.test.ts b/applications/browser-extension/src/background/utils/deactivateMod.test.ts similarity index 79% rename from src/background/utils/deactivateMod.test.ts rename to applications/browser-extension/src/background/utils/deactivateMod.test.ts index efe2537b1e..9a2c978b3b 100644 --- a/src/background/utils/deactivateMod.test.ts +++ b/applications/browser-extension/src/background/utils/deactivateMod.test.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import deactivateMod from "@/background/utils/deactivateMod"; -import { getEditorState } from "@/store/editorStorage"; +import deactivateMod from "./deactivateMod"; +import { getEditorState } from "../../store/editorStorage"; import { saveModComponentState, getModComponentState, -} from "@/store/modComponents/modComponentStorage"; +} from "../../store/modComponents/modComponentStorage"; import { modMetadataFactory, activatedModComponentFactory, -} from "@/testUtils/factories/modComponentFactories"; -import { type ModInstance } from "@/types/modInstanceTypes"; -import { modInstanceFactory } from "@/testUtils/factories/modInstanceFactories"; -import { mapModInstanceToActivatedModComponents } from "@/store/modComponents/modInstanceUtils"; +} from "../../testUtils/factories/modComponentFactories"; +import { type ModInstance } from "../../types/modInstanceTypes"; +import { modInstanceFactory } from "../../testUtils/factories/modInstanceFactories"; +import { mapModInstanceToActivatedModComponents } from "../../store/modComponents/modInstanceUtils"; describe("deactivateMod", () => { let modToDeactivate: ModInstance; diff --git a/src/background/utils/deactivateMod.ts b/applications/browser-extension/src/background/utils/deactivateMod.ts similarity index 81% rename from src/background/utils/deactivateMod.ts rename to applications/browser-extension/src/background/utils/deactivateMod.ts index d334665852..9c023e35ed 100644 --- a/src/background/utils/deactivateMod.ts +++ b/applications/browser-extension/src/background/utils/deactivateMod.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type EditorState } from "@/pageEditor/store/editor/pageEditorTypes"; -import { type ModComponentState } from "@/store/modComponents/modComponentTypes"; -import { type ModInstance } from "@/types/modInstanceTypes"; -import { editorSlice } from "@/pageEditor/store/editor/editorSlice"; -import modComponentSlice from "@/store/modComponents/modComponentSlice"; +import { type EditorState } from "../../pageEditor/store/editor/pageEditorTypes"; +import { type ModComponentState } from "../../store/modComponents/modComponentTypes"; +import { type ModInstance } from "../../types/modInstanceTypes"; +import { editorSlice } from "../../pageEditor/store/editor/editorSlice"; +import modComponentSlice from "../../store/modComponents/modComponentSlice"; type ReduxSliceState = { modComponentState: ModComponentState; diff --git a/src/background/utils/deactivateModInstancesAndSaveState.ts b/applications/browser-extension/src/background/utils/deactivateModInstancesAndSaveState.ts similarity index 75% rename from src/background/utils/deactivateModInstancesAndSaveState.ts rename to applications/browser-extension/src/background/utils/deactivateModInstancesAndSaveState.ts index 555fb792cf..4caedacf6a 100644 --- a/src/background/utils/deactivateModInstancesAndSaveState.ts +++ b/applications/browser-extension/src/background/utils/deactivateModInstancesAndSaveState.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { removeModComponentForEveryTab } from "@/background/removeModComponentForEveryTab"; -import saveModComponentStateAndReloadTabs from "@/background/utils/saveModComponentStateAndReloadTabs"; -import { type EditorState } from "@/pageEditor/store/editor/pageEditorTypes"; -import { saveEditorState } from "@/store/editorStorage"; -import { type ModComponentState } from "@/store/modComponents/modComponentTypes"; -import { allSettled } from "@/utils/promiseUtils"; -import { type ModInstance } from "@/types/modInstanceTypes"; -import deactivateMod from "@/background/utils/deactivateMod"; +import { removeModComponentForEveryTab } from "../removeModComponentForEveryTab"; +import saveModComponentStateAndReloadTabs from "./saveModComponentStateAndReloadTabs"; +import { type EditorState } from "../../pageEditor/store/editor/pageEditorTypes"; +import { saveEditorState } from "../../store/editorStorage"; +import { type ModComponentState } from "../../store/modComponents/modComponentTypes"; +import { allSettled } from "../../utils/promiseUtils"; +import { type ModInstance } from "../../types/modInstanceTypes"; +import deactivateMod from "./deactivateMod"; async function deactivateModInstancesAndSaveState( modInstancesToDeactivate: ModInstance[], diff --git a/src/background/utils/saveModComponentStateAndReloadTabs.ts b/applications/browser-extension/src/background/utils/saveModComponentStateAndReloadTabs.ts similarity index 85% rename from src/background/utils/saveModComponentStateAndReloadTabs.ts rename to applications/browser-extension/src/background/utils/saveModComponentStateAndReloadTabs.ts index 03583691a4..727fa8b086 100644 --- a/src/background/utils/saveModComponentStateAndReloadTabs.ts +++ b/applications/browser-extension/src/background/utils/saveModComponentStateAndReloadTabs.ts @@ -18,9 +18,9 @@ import { reloadModsEveryTab, queueReloadModEveryTab, -} from "@/contentScript/messenger/api"; -import { saveModComponentState } from "@/store/modComponents/modComponentStorage"; -import { type ModComponentState } from "@/store/modComponents/modComponentTypes"; +} from "../../contentScript/messenger/api"; +import { saveModComponentState } from "../../store/modComponents/modComponentStorage"; +import { type ModComponentState } from "../../store/modComponents/modComponentTypes"; export type ReloadOptions = { /** diff --git a/src/background/walkthroughModalTrigger.ts b/applications/browser-extension/src/background/walkthroughModalTrigger.ts similarity index 93% rename from src/background/walkthroughModalTrigger.ts rename to applications/browser-extension/src/background/walkthroughModalTrigger.ts index 0a5bc4c411..29edc8d793 100644 --- a/src/background/walkthroughModalTrigger.ts +++ b/applications/browser-extension/src/background/walkthroughModalTrigger.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { showWalkthroughModal } from "@/contentScript/messenger/api"; +import { showWalkthroughModal } from "../contentScript/messenger/api"; const DEVELOPER_WELCOME_URL = "https://www.pixiebrix.com/developers-welcome"; diff --git a/src/background/welcomeMods.test.ts b/applications/browser-extension/src/background/welcomeMods.test.ts similarity index 93% rename from src/background/welcomeMods.test.ts rename to applications/browser-extension/src/background/welcomeMods.test.ts index cd8cf30af6..59ae2c9616 100644 --- a/src/background/welcomeMods.test.ts +++ b/applications/browser-extension/src/background/welcomeMods.test.ts @@ -15,40 +15,40 @@ * along with this program. If not, see . */ -import { debouncedActivateWelcomeMods } from "@/background/welcomeMods"; +import { debouncedActivateWelcomeMods } from "./welcomeMods"; import { getModComponentState, saveModComponentState, -} from "@/store/modComponents/modComponentStorage"; +} from "../store/modComponents/modComponentStorage"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import { isLinked } from "@/auth/authStorage"; +import { isLinked } from "../auth/authStorage"; import { refreshRegistries } from "./refreshRegistries"; import { uuidv4 } from "@/types/helpers"; import { activatedModComponentFactory, modMetadataFactory, -} from "@/testUtils/factories/modComponentFactories"; +} from "../testUtils/factories/modComponentFactories"; import { defaultModDefinitionFactory, getModDefinitionWithBuiltInIntegrationConfigs, -} from "@/testUtils/factories/modDefinitionFactories"; +} from "../testUtils/factories/modDefinitionFactories"; import { meApiResponseFactory, meOrganizationApiResponseFactory, -} from "@/testUtils/factories/authFactories"; -import { remoteIntegrationConfigurationFactory } from "@/testUtils/factories/integrationFactories"; +} from "../testUtils/factories/authFactories"; +import { remoteIntegrationConfigurationFactory } from "../testUtils/factories/integrationFactories"; import { getSidebarState, saveSidebarState, -} from "@/store/sidebar/sidebarStorage"; -import { MOD_LAUNCHER } from "@/store/sidebar/constants"; +} from "../store/sidebar/sidebarStorage"; +import { MOD_LAUNCHER } from "../store/sidebar/constants"; import { eventKeyForEntry, getEventKeyForPanel, -} from "@/store/sidebar/eventKeyUtils"; +} from "../store/sidebar/eventKeyUtils"; import produce from "immer"; -import { type StarterBrickDefinitionProp } from "@/starterBricks/types"; +import { type StarterBrickDefinitionProp } from "../starterBricks/types"; import { type ModDefinition } from "@/types/modDefinitionTypes"; import { type StarterBrickType, @@ -57,23 +57,23 @@ import { import { PIXIEBRIX_INTEGRATION_CONFIG_ID, PIXIEBRIX_INTEGRATION_ID, -} from "@/integrations/constants"; -import { databaseFactory } from "@/testUtils/factories/databaseFactories"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; -import { getBuiltInIntegrationConfigs } from "@/background/getBuiltInIntegrationConfigs"; +} from "../integrations/constants"; +import { databaseFactory } from "../testUtils/factories/databaseFactories"; +import { autoUUIDSequence } from "../testUtils/factories/stringFactories"; +import { getBuiltInIntegrationConfigs } from "./getBuiltInIntegrationConfigs"; import { mapRestrictedFeatureToFeatureFlag, RestrictedFeatures, -} from "@/auth/featureFlags"; +} from "../auth/featureFlags"; import { TEST_deleteFeatureFlagsCache, TEST_overrideFeatureFlags, -} from "@/auth/featureFlagStorage"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../auth/featureFlagStorage"; +import { API_PATHS } from "../data/service/urlPaths"; const axiosMock = new MockAdapter(axios); -jest.mock("@/auth/authStorage", () => ({ +jest.mock("../auth/authStorage", () => ({ async getAuthHeaders() { return {}; }, @@ -81,11 +81,11 @@ jest.mock("@/auth/authStorage", () => ({ addListener: jest.fn(), })); -jest.mock("@/contentScript/messenger/api"); +jest.mock("../contentScript/messenger/api"); jest.mock("./refreshRegistries"); // This comes up in the extensions slice redux-persist migrations that run when mod component state is loaded -jest.mock("@/auth/authUtils", () => { +jest.mock("../auth/authUtils", () => { const actual = jest.requireActual("@/auth/authUtils"); return { ...actual, diff --git a/src/background/welcomeMods.ts b/applications/browser-extension/src/background/welcomeMods.ts similarity index 86% rename from src/background/welcomeMods.ts rename to applications/browser-extension/src/background/welcomeMods.ts index edc7cff433..250a80f742 100644 --- a/src/background/welcomeMods.ts +++ b/applications/browser-extension/src/background/welcomeMods.ts @@ -15,57 +15,57 @@ * along with this program. If not, see . */ -import modComponentSlice from "@/store/modComponents/modComponentSlice"; -import sidebarSlice from "@/store/sidebar/sidebarSlice"; +import modComponentSlice from "../store/modComponents/modComponentSlice"; +import sidebarSlice from "../store/sidebar/sidebarSlice"; import { getLinkedApiClient, maybeGetLinkedApiClient, -} from "@/data/service/apiClient"; +} from "../data/service/apiClient"; import { getModComponentState, saveModComponentState, -} from "@/store/modComponents/modComponentStorage"; +} from "../store/modComponents/modComponentStorage"; import { type ModDefinition } from "@/types/modDefinitionTypes"; -import { reloadModsEveryTab } from "@/contentScript/messenger/api"; -import { type ModComponentState } from "@/store/modComponents/modComponentTypes"; -import reportError from "@/telemetry/reportError"; +import { reloadModsEveryTab } from "../contentScript/messenger/api"; +import { type ModComponentState } from "../store/modComponents/modComponentTypes"; +import reportError from "../telemetry/reportError"; import { debounce } from "lodash"; import { refreshRegistries } from "./refreshRegistries"; import type { Database } from "@/types/contract"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; -import { type IntegrationDependency } from "@/integrations/integrationTypes"; -import getUnconfiguredComponentIntegrations from "@/integrations/util/getUnconfiguredComponentIntegrations"; +import { memoizeUntilSettled } from "../utils/promiseUtils"; +import { type IntegrationDependency } from "../integrations/integrationTypes"; +import getUnconfiguredComponentIntegrations from "../integrations/util/getUnconfiguredComponentIntegrations"; import { getSidebarState, saveSidebarState, -} from "@/store/sidebar/sidebarStorage"; +} from "../store/sidebar/sidebarStorage"; import { getAllModComponentDefinitionsWithType, getModComponentIdsForModComponentDefinitions, -} from "@/starterBricks/starterBrickModUtils"; +} from "../starterBricks/starterBrickModUtils"; import { type SidebarState } from "@/types/sidebarTypes"; -import { getEventKeyForPanel } from "@/store/sidebar/eventKeyUtils"; +import { getEventKeyForPanel } from "../store/sidebar/eventKeyUtils"; import { type UUID } from "@/types/stringTypes"; import { PIXIEBRIX_INTEGRATION_ID, PIXIEBRIX_INTEGRATION_CONFIG_ID, -} from "@/integrations/constants"; +} from "../integrations/constants"; import { autoCreateDatabaseOptionsArgsInPlace, makeDatabasePreviewName, -} from "@/activation/modOptionsHelpers"; +} from "../activation/modOptionsHelpers"; import type { OptionsArgs } from "@/types/runtimeTypes"; -import { isDatabasePreviewField } from "@/components/fields/schemaFields/fieldTypeCheckers"; -import { isRequired } from "@/utils/schemaUtils"; +import { isDatabasePreviewField } from "../components/fields/schemaFields/fieldTypeCheckers"; +import { isRequired } from "../utils/schemaUtils"; import type { Schema } from "@/types/schemaTypes"; -import { getBuiltInIntegrationConfigs } from "@/background/getBuiltInIntegrationConfigs"; +import { getBuiltInIntegrationConfigs } from "./getBuiltInIntegrationConfigs"; import { StarterBrickTypes } from "@/types/starterBrickTypes"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { restrict } from "@/auth/featureFlagStorage"; -import { RestrictedFeatures } from "@/auth/featureFlags"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { selectModInstanceMap } from "@/store/modComponents/modInstanceSelectors"; -import { mapModInstanceToActivatedModComponents } from "@/store/modComponents/modInstanceUtils"; +import { getErrorMessage } from "../errors/errorHelpers"; +import { restrict } from "../auth/featureFlagStorage"; +import { RestrictedFeatures } from "../auth/featureFlags"; +import { API_PATHS } from "../data/service/urlPaths"; +import { selectModInstanceMap } from "../store/modComponents/modInstanceSelectors"; +import { mapModInstanceToActivatedModComponents } from "../store/modComponents/modInstanceUtils"; // eslint-disable-next-line local-rules/persistBackgroundData -- no state; destructuring reducer and actions const { reducer: modComponentReducer, actions: modComponentActions } = diff --git a/src/bricks/PipelineExpressionVisitor.test.ts b/applications/browser-extension/src/bricks/PipelineExpressionVisitor.test.ts similarity index 86% rename from src/bricks/PipelineExpressionVisitor.test.ts rename to applications/browser-extension/src/bricks/PipelineExpressionVisitor.test.ts index d44f8abbca..29e0084dd4 100644 --- a/src/bricks/PipelineExpressionVisitor.test.ts +++ b/applications/browser-extension/src/bricks/PipelineExpressionVisitor.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { type BrickPosition, type BrickPipeline } from "@/bricks/types"; -import { createNewDocumentBuilderElement } from "@/pageEditor/documentBuilder/createNewDocumentBuilderElement"; +import { DocumentRenderer } from "./renderers/document"; +import { type BrickPosition, type BrickPipeline } from "./types"; +import { createNewDocumentBuilderElement } from "../pageEditor/documentBuilder/createNewDocumentBuilderElement"; import { type Expression } from "@/types/runtimeTypes"; -import { PIPELINE_BRICKS_FIELD_NAME } from "@/pageEditor/consts"; +import { PIPELINE_BRICKS_FIELD_NAME } from "../pageEditor/consts"; import PipelineExpressionVisitor from "./PipelineExpressionVisitor"; -import { brickConfigFactory } from "@/testUtils/factories/brickFactories"; -import { toExpression } from "@/utils/expressionUtils"; +import { brickConfigFactory } from "../testUtils/factories/brickFactories"; +import { toExpression } from "../utils/expressionUtils"; function getTestBlock() { return brickConfigFactory({ diff --git a/src/bricks/PipelineExpressionVisitor.ts b/applications/browser-extension/src/bricks/PipelineExpressionVisitor.ts similarity index 93% rename from src/bricks/PipelineExpressionVisitor.ts rename to applications/browser-extension/src/bricks/PipelineExpressionVisitor.ts index 7e3aa5a2e0..207527c62a 100644 --- a/src/bricks/PipelineExpressionVisitor.ts +++ b/applications/browser-extension/src/bricks/PipelineExpressionVisitor.ts @@ -15,11 +15,7 @@ * along with this program. If not, see . */ -import { - type BrickConfig, - type BrickPosition, - PipelineFlavor, -} from "@/bricks/types"; +import { type BrickConfig, type BrickPosition, PipelineFlavor } from "./types"; import { type Expression } from "@/types/runtimeTypes"; import PipelineVisitor, { nestedPosition, @@ -28,10 +24,10 @@ import PipelineVisitor, { import { isDocumentBuilderElementArray, type DocumentBuilderElement, -} from "@/pageEditor/documentBuilder/documentBuilderTypes"; -import { isExpression, isPipelineExpression } from "@/utils/expressionUtils"; -import { joinPathParts } from "@/utils/formUtils"; -import { BusinessError } from "@/errors/businessErrors"; +} from "../pageEditor/documentBuilder/documentBuilderTypes"; +import { isExpression, isPipelineExpression } from "../utils/expressionUtils"; +import { joinPathParts } from "../utils/formUtils"; +import { BusinessError } from "../errors/businessErrors"; export type VisitDocumentBuilderElementArgs = { /** diff --git a/src/bricks/PipelineVisitor.test.ts b/applications/browser-extension/src/bricks/PipelineVisitor.test.ts similarity index 92% rename from src/bricks/PipelineVisitor.test.ts rename to applications/browser-extension/src/bricks/PipelineVisitor.test.ts index 95fb1fcc5e..4f29263c09 100644 --- a/src/bricks/PipelineVisitor.test.ts +++ b/applications/browser-extension/src/bricks/PipelineVisitor.test.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { DocumentRenderer } from "@/bricks/renderers/document"; -import ForEach from "@/bricks/transformers/controlFlow/ForEach"; -import { type BrickPosition, type BrickConfig } from "@/bricks/types"; -import { createNewDocumentBuilderElement } from "@/pageEditor/documentBuilder/createNewDocumentBuilderElement"; -import { PIPELINE_BRICKS_FIELD_NAME } from "@/pageEditor/consts"; +import { DocumentRenderer } from "./renderers/document"; +import ForEach from "./transformers/controlFlow/ForEach"; +import { type BrickPosition, type BrickConfig } from "./types"; +import { createNewDocumentBuilderElement } from "../pageEditor/documentBuilder/createNewDocumentBuilderElement"; +import { PIPELINE_BRICKS_FIELD_NAME } from "../pageEditor/consts"; import { type PipelineExpression } from "@/types/runtimeTypes"; import PipelineVisitor, { type VisitBlockExtra } from "./PipelineVisitor"; import { brickConfigFactory, pipelineFactory, -} from "@/testUtils/factories/brickFactories"; -import { toExpression } from "@/utils/expressionUtils"; +} from "../testUtils/factories/brickFactories"; +import { toExpression } from "../utils/expressionUtils"; import { StarterBrickTypes } from "@/types/starterBrickTypes"; test("should invoke the callback for the pipeline bricks", () => { diff --git a/src/bricks/PipelineVisitor.ts b/applications/browser-extension/src/bricks/PipelineVisitor.ts similarity index 90% rename from src/bricks/PipelineVisitor.ts rename to applications/browser-extension/src/bricks/PipelineVisitor.ts index dc0bab9d70..c2df7b4565 100644 --- a/src/bricks/PipelineVisitor.ts +++ b/applications/browser-extension/src/bricks/PipelineVisitor.ts @@ -15,24 +15,20 @@ * along with this program. If not, see . */ -import { - type BrickConfig, - type BrickPosition, - PipelineFlavor, -} from "@/bricks/types"; +import { type BrickConfig, type BrickPosition, PipelineFlavor } from "./types"; import { type UUID } from "@/types/stringTypes"; -import { type TypedBrickPair } from "@/bricks/registry"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { getDocumentBuilderPipelinePaths } from "@/pageEditor/utils"; +import { type TypedBrickPair } from "./registry"; +import { DocumentRenderer } from "./renderers/document"; +import { getDocumentBuilderPipelinePaths } from "../pageEditor/utils"; import { get } from "lodash"; import { getRootPipelineFlavor, getSubPipelineFlavor, -} from "@/bricks/brickFilterHelpers"; +} from "./brickFilterHelpers"; import { type StarterBrickType } from "@/types/starterBrickTypes"; -import { PIPELINE_BRICKS_FIELD_NAME } from "@/pageEditor/consts"; -import { isPipelineExpression } from "@/utils/expressionUtils"; -import { joinPathParts } from "@/utils/formUtils"; +import { PIPELINE_BRICKS_FIELD_NAME } from "../pageEditor/consts"; +import { isPipelineExpression } from "../utils/expressionUtils"; +import { joinPathParts } from "../utils/formUtils"; export const ROOT_POSITION = Object.freeze({ path: PIPELINE_BRICKS_FIELD_NAME, diff --git a/src/bricks/available.test.ts b/applications/browser-extension/src/bricks/available.test.ts similarity index 99% rename from src/bricks/available.test.ts rename to applications/browser-extension/src/bricks/available.test.ts index c684e15048..bfdae391f8 100644 --- a/src/bricks/available.test.ts +++ b/applications/browser-extension/src/bricks/available.test.ts @@ -23,7 +23,7 @@ import { checkAvailable, normalizeAvailability, testMatchPatterns, -} from "@/bricks/available"; +} from "./available"; describe("normalizeAvailability", () => { it("adds missing", () => { diff --git a/src/bricks/available.ts b/applications/browser-extension/src/bricks/available.ts similarity index 95% rename from src/bricks/available.ts rename to applications/browser-extension/src/bricks/available.ts index 1443b4669b..0943b35883 100644 --- a/src/bricks/available.ts +++ b/applications/browser-extension/src/bricks/available.ts @@ -18,14 +18,14 @@ import { doesUrlMatchPatterns, isValidPattern } from "webext-patterns"; import { castArray } from "lodash"; import { type Entries } from "type-fest"; -import { BusinessError } from "@/errors/businessErrors"; -import { $safeFind } from "@/utils/domUtils"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; +import { BusinessError } from "../errors/businessErrors"; +import { $safeFind } from "../utils/domUtils"; +import { isLoadedInIframe } from "../utils/iframeUtils"; import { type Availability, type NormalizedAvailability, } from "@/types/availabilityTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; +import { type Nullishable } from "../utils/nullishUtils"; export function normalizeAvailability( availability: Availability, diff --git a/src/bricks/brickFilterHelpers.ts b/applications/browser-extension/src/bricks/brickFilterHelpers.ts similarity index 84% rename from src/bricks/brickFilterHelpers.ts rename to applications/browser-extension/src/bricks/brickFilterHelpers.ts index 3207f230d5..a511ee7990 100644 --- a/src/bricks/brickFilterHelpers.ts +++ b/applications/browser-extension/src/bricks/brickFilterHelpers.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { type TypedBrickPair } from "@/bricks/registry"; +import { type TypedBrickPair } from "./registry"; import { type StarterBrickType, StarterBrickTypes, } from "@/types/starterBrickTypes"; import { stubTrue } from "lodash"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { type BrickType, BrickTypes } from "@/runtime/runtimeTypes"; -import DisplayTemporaryInfo from "@/bricks/transformers/temporaryInfo/DisplayTemporaryInfo"; +import { DocumentRenderer } from "./renderers/document"; +import { type BrickType, BrickTypes } from "../runtime/runtimeTypes"; +import DisplayTemporaryInfo from "./transformers/temporaryInfo/DisplayTemporaryInfo"; import { type RegistryId } from "@/types/registryTypes"; -import { ErrorEffect } from "@/bricks/effects/error"; -import CancelEffect from "@/bricks/effects/CancelEffect"; -import CommentEffect from "@/bricks/effects/comment"; -import { PipelineFlavor } from "@/bricks/types"; +import { ErrorEffect } from "./effects/error"; +import CancelEffect from "./effects/CancelEffect"; +import CommentEffect from "./effects/comment"; +import { PipelineFlavor } from "./types"; const PANEL_TYPES = [StarterBrickTypes.SIDEBAR_PANEL]; diff --git a/src/bricks/effects/AddDynamicTextSnippet.test.ts b/applications/browser-extension/src/bricks/effects/AddDynamicTextSnippet.test.ts similarity index 83% rename from src/bricks/effects/AddDynamicTextSnippet.test.ts rename to applications/browser-extension/src/bricks/effects/AddDynamicTextSnippet.test.ts index 67517e6fa3..1183d8aacf 100644 --- a/src/bricks/effects/AddDynamicTextSnippet.test.ts +++ b/applications/browser-extension/src/bricks/effects/AddDynamicTextSnippet.test.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { snippetRegistry } from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuController"; -import AddDynamicTextSnippet from "@/bricks/effects/AddDynamicTextSnippet"; -import brickRegistry from "@/bricks/registry"; -import { simpleInput } from "@/runtime/pipelineTests/testHelpers"; -import { toExpression } from "@/utils/expressionUtils"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import { validateRegistryId } from "@/types/helpers"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; -import { getExampleBrickConfig } from "@/bricks/exampleBrickConfigs"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { snippetRegistry } from "../../contentScript/snippetShortcutMenu/snippetShortcutMenuController"; +import AddDynamicTextSnippet from "./AddDynamicTextSnippet"; +import brickRegistry from "../registry"; +import { simpleInput } from "../../runtime/pipelineTests/testHelpers"; +import { toExpression } from "../../utils/expressionUtils"; +import { reducePipeline } from "../../runtime/reducePipeline"; +import { validateRegistryId } from "../../types/helpers"; +import IdentityTransformer from "../transformers/IdentityTransformer"; +import { getExampleBrickConfig } from "../exampleBrickConfigs"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import { reduceOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new AddDynamicTextSnippet(); const identity = new IdentityTransformer(); diff --git a/src/bricks/effects/AddDynamicTextSnippet.ts b/applications/browser-extension/src/bricks/effects/AddDynamicTextSnippet.ts similarity index 84% rename from src/bricks/effects/AddDynamicTextSnippet.ts rename to applications/browser-extension/src/bricks/effects/AddDynamicTextSnippet.ts index 222addfa11..e797ff10d1 100644 --- a/src/bricks/effects/AddDynamicTextSnippet.ts +++ b/applications/browser-extension/src/bricks/effects/AddDynamicTextSnippet.ts @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; +import { validateRegistryId } from "../../types/helpers"; import type { BrickArgs, BrickOptions, PipelineExpression, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { initSnippetShortcutMenuController } from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuController"; -import { BusinessError } from "@/errors/businessErrors"; -import { getSettingsState } from "@/store/settings/settingsStorage"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { normalizeShortcut } from "@/bricks/effects/AddTextSnippets"; -import { assertNotNullish } from "@/utils/nullishUtils"; +} from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { initSnippetShortcutMenuController } from "../../contentScript/snippetShortcutMenu/snippetShortcutMenuController"; +import { BusinessError } from "../../errors/businessErrors"; +import { getSettingsState } from "../../store/settings/settingsStorage"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { normalizeShortcut } from "./AddTextSnippets"; +import { assertNotNullish } from "../../utils/nullishUtils"; type SnippetArgs = { /** diff --git a/src/bricks/effects/AddQuickBarAction.test.ts b/applications/browser-extension/src/bricks/effects/AddQuickBarAction.test.ts similarity index 84% rename from src/bricks/effects/AddQuickBarAction.test.ts rename to applications/browser-extension/src/bricks/effects/AddQuickBarAction.test.ts index df18f4b118..0dc8387382 100644 --- a/src/bricks/effects/AddQuickBarAction.test.ts +++ b/applications/browser-extension/src/bricks/effects/AddQuickBarAction.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import AddQuickBarAction from "@/bricks/effects/AddQuickBarAction"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import AddQuickBarAction from "./AddQuickBarAction"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; import { brickOptionsFactory, runMetadataFactory, -} from "@/testUtils/factories/runtimeFactories"; -import { platformMock } from "@/testUtils/platformMock"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; +} from "../../testUtils/factories/runtimeFactories"; +import { platformMock } from "../../testUtils/platformMock"; +import { modComponentRefFactory } from "../../testUtils/factories/modComponentFactories"; const brick = new AddQuickBarAction(); diff --git a/src/bricks/effects/AddQuickBarAction.tsx b/applications/browser-extension/src/bricks/effects/AddQuickBarAction.tsx similarity index 95% rename from src/bricks/effects/AddQuickBarAction.tsx rename to applications/browser-extension/src/bricks/effects/AddQuickBarAction.tsx index e51dd514cd..6159d6443a 100644 --- a/src/bricks/effects/AddQuickBarAction.tsx +++ b/applications/browser-extension/src/bricks/effects/AddQuickBarAction.tsx @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; -import Icon from "@/icons/Icon"; +import { validateRegistryId } from "../../types/helpers"; +import Icon from "../../icons/Icon"; import React from "react"; import { type BrickArgs, @@ -29,8 +29,8 @@ import { EffectABC } from "@/types/bricks/effectTypes"; import type { BrickConfig } from "@/bricks/types"; import type { PlatformCapability } from "@/platform/capabilities"; import { uniq } from "lodash"; -import type { CustomAction } from "@/platform/platformTypes/quickBarProtocol"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import type { CustomAction } from "../../platform/platformTypes/quickBarProtocol"; +import { propertiesToSchema } from "../../utils/schemaUtils"; type ActionConfig = { /** diff --git a/src/bricks/effects/AddTextSnippets.test.ts b/applications/browser-extension/src/bricks/effects/AddTextSnippets.test.ts similarity index 84% rename from src/bricks/effects/AddTextSnippets.test.ts rename to applications/browser-extension/src/bricks/effects/AddTextSnippets.test.ts index 3d928a6cdb..95caf33feb 100644 --- a/src/bricks/effects/AddTextSnippets.test.ts +++ b/applications/browser-extension/src/bricks/effects/AddTextSnippets.test.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import AddTextSnippets from "@/bricks/effects/AddTextSnippets"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { snippetRegistry } from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuController"; -import { getExampleBrickConfig } from "@/bricks/exampleBrickConfigs"; +import AddTextSnippets from "./AddTextSnippets"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { snippetRegistry } from "../../contentScript/snippetShortcutMenu/snippetShortcutMenuController"; +import { getExampleBrickConfig } from "../exampleBrickConfigs"; const brick = new AddTextSnippets(); diff --git a/src/bricks/effects/AddTextSnippets.ts b/applications/browser-extension/src/bricks/effects/AddTextSnippets.ts similarity index 86% rename from src/bricks/effects/AddTextSnippets.ts rename to applications/browser-extension/src/bricks/effects/AddTextSnippets.ts index 4247c962f7..e1bc2f4d2b 100644 --- a/src/bricks/effects/AddTextSnippets.ts +++ b/applications/browser-extension/src/bricks/effects/AddTextSnippets.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { initSnippetShortcutMenuController } from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuController"; -import { getSettingsState } from "@/store/settings/settingsStorage"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { validateRegistryId } from "../../types/helpers"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { initSnippetShortcutMenuController } from "../../contentScript/snippetShortcutMenu/snippetShortcutMenuController"; +import { getSettingsState } from "../../store/settings/settingsStorage"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** * Regex for likely command keys to strip from shortcut definitions diff --git a/src/bricks/effects/CancelEffect.test.ts b/applications/browser-extension/src/bricks/effects/CancelEffect.test.ts similarity index 79% rename from src/bricks/effects/CancelEffect.test.ts rename to applications/browser-extension/src/bricks/effects/CancelEffect.test.ts index fa4e596bef..f759cea652 100644 --- a/src/bricks/effects/CancelEffect.test.ts +++ b/applications/browser-extension/src/bricks/effects/CancelEffect.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import CancelEffect from "@/bricks/effects/CancelEffect"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { CancelError } from "@/errors/businessErrors"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import CancelEffect from "./CancelEffect"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { CancelError } from "../../errors/businessErrors"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new CancelEffect(); diff --git a/src/bricks/effects/CancelEffect.ts b/applications/browser-extension/src/bricks/effects/CancelEffect.ts similarity index 81% rename from src/bricks/effects/CancelEffect.ts rename to applications/browser-extension/src/bricks/effects/CancelEffect.ts index b4cb28eb2c..750fac5c96 100644 --- a/src/bricks/effects/CancelEffect.ts +++ b/applications/browser-extension/src/bricks/effects/CancelEffect.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { CancelError } from "@/errors/businessErrors"; -import { type Schema } from "@/types/schemaTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { CancelError } from "../../errors/businessErrors"; +import { type Schema } from "../../types/schemaTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { validateRegistryId } from "../../types/helpers"; class CancelEffect extends EffectABC { static BRICK_ID = validateRegistryId("@pixiebrix/cancel"); diff --git a/src/bricks/effects/CancelEphemeralElements.ts b/applications/browser-extension/src/bricks/effects/CancelEphemeralElements.ts similarity index 78% rename from src/bricks/effects/CancelEphemeralElements.ts rename to applications/browser-extension/src/bricks/effects/CancelEphemeralElements.ts index 2c07fac739..c0c9e513e9 100644 --- a/src/bricks/effects/CancelEphemeralElements.ts +++ b/applications/browser-extension/src/bricks/effects/CancelEphemeralElements.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import * as formController from "@/platform/forms/formController"; -import * as panelController from "@/platform/panels/panelController"; -import { type Schema, SCHEMA_EMPTY_OBJECT } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import * as formController from "../../platform/forms/formController"; +import * as panelController from "../../platform/panels/panelController"; +import { type Schema, SCHEMA_EMPTY_OBJECT } from "../../types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { allSettled } from "@/utils/promiseUtils"; +import { validateRegistryId } from "../../types/helpers"; +import { allSettled } from "../../utils/promiseUtils"; /** * Cancels all temporary forms/panels showing in the frame. diff --git a/src/bricks/effects/CommentOptions.test.tsx b/applications/browser-extension/src/bricks/effects/CommentOptions.test.tsx similarity index 86% rename from src/bricks/effects/CommentOptions.test.tsx rename to applications/browser-extension/src/bricks/effects/CommentOptions.test.tsx index ed2141305c..a47123ac34 100644 --- a/src/bricks/effects/CommentOptions.test.tsx +++ b/applications/browser-extension/src/bricks/effects/CommentOptions.test.tsx @@ -16,9 +16,9 @@ */ import React from "react"; -import { render } from "@/pageEditor/testHelpers"; -import CommentOptions from "@/bricks/effects/CommentOptions"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { render } from "../../pageEditor/testHelpers"; +import CommentOptions from "./CommentOptions"; +import registerDefaultWidgets from "../../components/fields/schemaFields/widgets/registerDefaultWidgets"; import { screen } from "@testing-library/react"; beforeAll(() => { diff --git a/src/bricks/effects/CommentOptions.tsx b/applications/browser-extension/src/bricks/effects/CommentOptions.tsx similarity index 59% rename from src/bricks/effects/CommentOptions.tsx rename to applications/browser-extension/src/bricks/effects/CommentOptions.tsx index dee225934e..a4215abe0f 100644 --- a/src/bricks/effects/CommentOptions.tsx +++ b/applications/browser-extension/src/bricks/effects/CommentOptions.tsx @@ -1,14 +1,14 @@ import React, { useContext } from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; +import { type BrickOptionProps } from "../../components/fields/schemaFields/genericOptionsFactory"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; import { useField } from "formik"; -import { joinName } from "@/utils/formUtils"; -import { isTextLiteralOrNull } from "@/utils/expressionUtils"; -import WorkshopMessage from "@/components/fields/schemaFields/WorkshopMessage"; -import widgetsRegistry from "@/components/fields/schemaFields/widgets/widgetsRegistry"; -import CommentEffect from "@/bricks/effects/comment"; -import FieldRuntimeContext from "@/components/fields/schemaFields/FieldRuntimeContext"; -import { type Expression } from "@/types/runtimeTypes"; +import { joinName } from "../../utils/formUtils"; +import { isTextLiteralOrNull } from "../../utils/expressionUtils"; +import WorkshopMessage from "../../components/fields/schemaFields/WorkshopMessage"; +import widgetsRegistry from "../../components/fields/schemaFields/widgets/widgetsRegistry"; +import CommentEffect from "./comment"; +import FieldRuntimeContext from "../../components/fields/schemaFields/FieldRuntimeContext"; +import { type Expression } from "../../types/runtimeTypes"; /** * Page Editor fields for the @pixiebrix/comment brick. diff --git a/src/bricks/effects/InsertAtCursorEffect.test.ts b/applications/browser-extension/src/bricks/effects/InsertAtCursorEffect.test.ts similarity index 84% rename from src/bricks/effects/InsertAtCursorEffect.test.ts rename to applications/browser-extension/src/bricks/effects/InsertAtCursorEffect.test.ts index 9d8efbc98c..a61c176acd 100644 --- a/src/bricks/effects/InsertAtCursorEffect.test.ts +++ b/applications/browser-extension/src/bricks/effects/InsertAtCursorEffect.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import InsertAtCursorEffect from "@/bricks/effects/InsertAtCursorEffect"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { BusinessError } from "@/errors/businessErrors"; +import InsertAtCursorEffect from "./InsertAtCursorEffect"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { BusinessError } from "../../errors/businessErrors"; const brick = new InsertAtCursorEffect(); diff --git a/src/bricks/effects/InsertAtCursorEffect.ts b/applications/browser-extension/src/bricks/effects/InsertAtCursorEffect.ts similarity index 83% rename from src/bricks/effects/InsertAtCursorEffect.ts rename to applications/browser-extension/src/bricks/effects/InsertAtCursorEffect.ts index f259b54cb4..de8c264bbe 100644 --- a/src/bricks/effects/InsertAtCursorEffect.ts +++ b/applications/browser-extension/src/bricks/effects/InsertAtCursorEffect.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { isEmpty } from "lodash"; -import selectionController from "@/utils/selectionController"; -import type { PlatformCapability } from "@/platform/capabilities"; +import selectionController from "../../utils/selectionController"; +import type { PlatformCapability } from "../../platform/capabilities"; import { ExecCommandError, insertAtCursorWithCustomEditorSupport, -} from "@/contentScript/textEditorDom"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { expectContext } from "@/utils/expectContext"; -import { BusinessError } from "@/errors/businessErrors"; +} from "../../contentScript/textEditorDom"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { expectContext } from "../../utils/expectContext"; +import { BusinessError } from "../../errors/businessErrors"; /** * Insert text at the cursor position. For use with text snippets, etc. diff --git a/src/bricks/effects/TelemetryEffect.ts b/applications/browser-extension/src/bricks/effects/TelemetryEffect.ts similarity index 83% rename from src/bricks/effects/TelemetryEffect.ts rename to applications/browser-extension/src/bricks/effects/TelemetryEffect.ts index c51a8d1b6b..b863e2031c 100644 --- a/src/bricks/effects/TelemetryEffect.ts +++ b/applications/browser-extension/src/bricks/effects/TelemetryEffect.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { getDNT } from "@/telemetry/dnt"; -import { PropError } from "@/errors/businessErrors"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; +import { getDNT } from "../../telemetry/dnt"; +import { PropError } from "../../errors/businessErrors"; import { type JsonObject } from "type-fest"; class TelemetryEffect extends EffectABC { diff --git a/src/bricks/effects/ToggleQuickbarEffect.ts b/applications/browser-extension/src/bricks/effects/ToggleQuickbarEffect.ts similarity index 85% rename from src/bricks/effects/ToggleQuickbarEffect.ts rename to applications/browser-extension/src/bricks/effects/ToggleQuickbarEffect.ts index 977da15ec5..9f17ec98cd 100644 --- a/src/bricks/effects/ToggleQuickbarEffect.ts +++ b/applications/browser-extension/src/bricks/effects/ToggleQuickbarEffect.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type Schema } from "../../types/schemaTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class ToggleQuickbarEffect extends EffectABC { constructor() { @@ -39,7 +39,7 @@ class ToggleQuickbarEffect extends EffectABC { async effect(): Promise { const { toggleQuickBar } = await import( /* webpackChunkName: "quickBarApp" */ - "@/components/quickBar/QuickBarApp" + "../../components/quickBar/QuickBarApp" ); await toggleQuickBar(); diff --git a/src/bricks/effects/__snapshots__/highlight.test.ts.snap b/applications/browser-extension/src/bricks/effects/__snapshots__/highlight.test.ts.snap similarity index 100% rename from src/bricks/effects/__snapshots__/highlight.test.ts.snap rename to applications/browser-extension/src/bricks/effects/__snapshots__/highlight.test.ts.snap diff --git a/src/bricks/effects/alert.test.ts b/applications/browser-extension/src/bricks/effects/alert.test.ts similarity index 80% rename from src/bricks/effects/alert.test.ts rename to applications/browser-extension/src/bricks/effects/alert.test.ts index 66a7d1eb1a..e26283700d 100644 --- a/src/bricks/effects/alert.test.ts +++ b/applications/browser-extension/src/bricks/effects/alert.test.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { AlertEffect } from "@/bricks/effects/alert"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { validateBrickInputOutput } from "@/validators/schemaValidator"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { platformMock } from "@/testUtils/platformMock"; +import { AlertEffect } from "./alert"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { validateBrickInputOutput } from "../../validators/schemaValidator"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { platformMock } from "../../testUtils/platformMock"; const brick = new AlertEffect(); diff --git a/src/bricks/effects/alert.ts b/applications/browser-extension/src/bricks/effects/alert.ts similarity index 87% rename from src/bricks/effects/alert.ts rename to applications/browser-extension/src/bricks/effects/alert.ts index d4ec868f44..45811ae422 100644 --- a/src/bricks/effects/alert.ts +++ b/applications/browser-extension/src/bricks/effects/alert.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { validateRegistryId } from "../../types/helpers"; +import { type Schema } from "../../types/schemaTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export const ALERT_EFFECT_ID = validateRegistryId("@pixiebrix/browser/alert"); diff --git a/src/bricks/effects/assignModVariable.test.ts b/applications/browser-extension/src/bricks/effects/assignModVariable.test.ts similarity index 87% rename from src/bricks/effects/assignModVariable.test.ts rename to applications/browser-extension/src/bricks/effects/assignModVariable.test.ts index 58069f915f..b2f28b71aa 100644 --- a/src/bricks/effects/assignModVariable.test.ts +++ b/applications/browser-extension/src/bricks/effects/assignModVariable.test.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import AssignModVariable from "@/bricks/effects/assignModVariable"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { validateBrickInputOutput } from "@/validators/schemaValidator"; +import AssignModVariable from "./assignModVariable"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { validateBrickInputOutput } from "../../validators/schemaValidator"; import { brickOptionsFactory, runMetadataFactory, -} from "@/testUtils/factories/runtimeFactories"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; -import { MergeStrategies, StateNamespaces } from "@/platform/state/stateTypes"; -import { getPlatform } from "@/platform/platformContext"; +} from "../../testUtils/factories/runtimeFactories"; +import { modComponentRefFactory } from "../../testUtils/factories/modComponentFactories"; +import { MergeStrategies, StateNamespaces } from "../../platform/state/stateTypes"; +import { getPlatform } from "../../platform/platformContext"; const brick = new AssignModVariable(); diff --git a/src/bricks/effects/assignModVariable.ts b/applications/browser-extension/src/bricks/effects/assignModVariable.ts similarity index 92% rename from src/bricks/effects/assignModVariable.ts rename to applications/browser-extension/src/bricks/effects/assignModVariable.ts index 9e93fddb0e..a20c9e9e0d 100644 --- a/src/bricks/effects/assignModVariable.ts +++ b/applications/browser-extension/src/bricks/effects/assignModVariable.ts @@ -1,6 +1,6 @@ -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; import { type JsonObject, type JsonPrimitive } from "type-fest"; import { EffectABC } from "@/types/bricks/effectTypes"; import { type BrickConfig } from "@/bricks/types"; diff --git a/src/bricks/effects/attachAutocomplete.test.ts b/applications/browser-extension/src/bricks/effects/attachAutocomplete.test.ts similarity index 91% rename from src/bricks/effects/attachAutocomplete.test.ts rename to applications/browser-extension/src/bricks/effects/attachAutocomplete.test.ts index f8fa64357f..cd49afd095 100644 --- a/src/bricks/effects/attachAutocomplete.test.ts +++ b/applications/browser-extension/src/bricks/effects/attachAutocomplete.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { AttachAutocomplete } from "@/bricks/effects/attachAutocomplete"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { AttachAutocomplete } from "./attachAutocomplete"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new AttachAutocomplete(); diff --git a/src/bricks/effects/attachAutocomplete.ts b/applications/browser-extension/src/bricks/effects/attachAutocomplete.ts similarity index 92% rename from src/bricks/effects/attachAutocomplete.ts rename to applications/browser-extension/src/bricks/effects/attachAutocomplete.ts index 1bf1d104a4..9608da445c 100644 --- a/src/bricks/effects/attachAutocomplete.ts +++ b/applications/browser-extension/src/bricks/effects/attachAutocomplete.ts @@ -19,16 +19,16 @@ import { type AutocompleteItem } from "autocompleter"; import { $safeFindElementsWithRootMode, IS_ROOT_AWARE_BRICK_PROPS, -} from "@/bricks/rootModeHelpers"; +} from "../rootModeHelpers"; import "autocompleter/autocomplete.css"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type Schema } from "../../types/schemaTypes"; import { isDocument, type BrickArgs, type BrickOptions, -} from "@/types/runtimeTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../types/runtimeTypes"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class AttachAutocomplete extends EffectABC { constructor() { diff --git a/src/bricks/effects/captureAudio.ts b/applications/browser-extension/src/bricks/effects/captureAudio.ts similarity index 82% rename from src/bricks/effects/captureAudio.ts rename to applications/browser-extension/src/bricks/effects/captureAudio.ts index af47a4cad3..0d5883b1e1 100644 --- a/src/bricks/effects/captureAudio.ts +++ b/applications/browser-extension/src/bricks/effects/captureAudio.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { minimalSchemaFactory, propertiesToSchema } from "@/utils/schemaUtils"; -import { DEEPGRAM_INTEGRATION_ID } from "@/contrib/deepgram/deepgramTypes"; -import { FeatureFlags } from "@/auth/featureFlags"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { validateRegistryId } from "../../types/helpers"; +import type { SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { minimalSchemaFactory, propertiesToSchema } from "../../utils/schemaUtils"; +import { DEEPGRAM_INTEGRATION_ID } from "../../contrib/deepgram/deepgramTypes"; +import { FeatureFlags } from "../../auth/featureFlags"; const DEEPGRAM_INTEGRATION_REF = `https://app.pixiebrix.com/schemas/services/${DEEPGRAM_INTEGRATION_ID}`; diff --git a/src/bricks/effects/clipboard.test.ts b/applications/browser-extension/src/bricks/effects/clipboard.test.ts similarity index 94% rename from src/bricks/effects/clipboard.test.ts rename to applications/browser-extension/src/bricks/effects/clipboard.test.ts index 448036d05d..67d0a8ba83 100644 --- a/src/bricks/effects/clipboard.test.ts +++ b/applications/browser-extension/src/bricks/effects/clipboard.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { CopyToClipboard } from "@/bricks/effects/clipboard"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { PropError } from "@/errors/businessErrors"; +import { CopyToClipboard } from "./clipboard"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { PropError } from "../../errors/businessErrors"; import userEvent from "@testing-library/user-event"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { convertDataUrl } from "@/utils/parseDataUrl"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { convertDataUrl } from "../../utils/parseDataUrl"; const brick = new CopyToClipboard(); diff --git a/src/bricks/effects/clipboard.ts b/applications/browser-extension/src/bricks/effects/clipboard.ts similarity index 88% rename from src/bricks/effects/clipboard.ts rename to applications/browser-extension/src/bricks/effects/clipboard.ts index 9c28bd6f45..fd1f5e60f2 100644 --- a/src/bricks/effects/clipboard.ts +++ b/applications/browser-extension/src/bricks/effects/clipboard.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type Permissions } from "webextension-polyfill"; -import { BusinessError, PropError } from "@/errors/businessErrors"; -import { type ContentType, detectContentType } from "@/utils/clipboardUtils"; -import { convertDataUrl } from "@/utils/parseDataUrl"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { BusinessError, PropError } from "../../errors/businessErrors"; +import { type ContentType, detectContentType } from "../../utils/clipboardUtils"; +import { convertDataUrl } from "../../utils/parseDataUrl"; +import type { PlatformCapability } from "../../platform/capabilities"; export class CopyToClipboard extends EffectABC { constructor() { diff --git a/src/bricks/effects/comment.test.ts b/applications/browser-extension/src/bricks/effects/comment.test.ts similarity index 83% rename from src/bricks/effects/comment.test.ts rename to applications/browser-extension/src/bricks/effects/comment.test.ts index 4fa138ac19..b5fd1ca868 100644 --- a/src/bricks/effects/comment.test.ts +++ b/applications/browser-extension/src/bricks/effects/comment.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import CommentEffect from "@/bricks/effects/comment"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import CommentEffect from "./comment"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new CommentEffect(); diff --git a/src/bricks/effects/comment.ts b/applications/browser-extension/src/bricks/effects/comment.ts similarity index 86% rename from src/bricks/effects/comment.ts rename to applications/browser-extension/src/bricks/effects/comment.ts index 74711e086f..035949f897 100644 --- a/src/bricks/effects/comment.ts +++ b/applications/browser-extension/src/bricks/effects/comment.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { validateRegistryId } from "../../types/helpers"; +import { type Schema } from "../../types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class CommentEffect extends EffectABC { // Use an effect so PixieBrix doesn't show an output diff --git a/src/bricks/effects/confetti.ts b/applications/browser-extension/src/bricks/effects/confetti.ts similarity index 87% rename from src/bricks/effects/confetti.ts rename to applications/browser-extension/src/bricks/effects/confetti.ts index ad91d67de4..d280501dd1 100644 --- a/src/bricks/effects/confetti.ts +++ b/applications/browser-extension/src/bricks/effects/confetti.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type Schema } from "@/types/schemaTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type Schema } from "../../types/schemaTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; export class ConfettiEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/customEvent.test.ts b/applications/browser-extension/src/bricks/effects/customEvent.test.ts similarity index 90% rename from src/bricks/effects/customEvent.test.ts rename to applications/browser-extension/src/bricks/effects/customEvent.test.ts index 71a9adf7c8..56ac1221d4 100644 --- a/src/bricks/effects/customEvent.test.ts +++ b/applications/browser-extension/src/bricks/effects/customEvent.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import CustomEventEffect from "@/bricks/effects/customEvent"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import CustomEventEffect from "./customEvent"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new CustomEventEffect(); diff --git a/src/bricks/effects/customEvent.ts b/applications/browser-extension/src/bricks/effects/customEvent.ts similarity index 85% rename from src/bricks/effects/customEvent.ts rename to applications/browser-extension/src/bricks/effects/customEvent.ts index bc82da2f33..2321924a35 100644 --- a/src/bricks/effects/customEvent.ts +++ b/applications/browser-extension/src/bricks/effects/customEvent.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; import properEvent from "proper-event"; import { type JsonObject } from "type-fest"; -import { type UiSchema, type Schema } from "@/types/schemaTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { validateRegistryId } from "@/types/helpers"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { type UiSchema, type Schema } from "../../types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { validateRegistryId } from "../../types/helpers"; +import type { PlatformCapability } from "../../platform/capabilities"; class CustomEventEffect extends EffectABC { public static BRICK_ID = validateRegistryId("@pixiebrix/event"); diff --git a/src/bricks/effects/disable.test.ts b/applications/browser-extension/src/bricks/effects/disable.test.ts similarity index 89% rename from src/bricks/effects/disable.test.ts rename to applications/browser-extension/src/bricks/effects/disable.test.ts index 27684674d2..babe3f7fee 100644 --- a/src/bricks/effects/disable.test.ts +++ b/applications/browser-extension/src/bricks/effects/disable.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { DisableEffect } from "@/bricks/effects/disable"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { DisableEffect } from "./disable"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new DisableEffect(); diff --git a/src/bricks/effects/disable.ts b/applications/browser-extension/src/bricks/effects/disable.ts similarity index 84% rename from src/bricks/effects/disable.ts rename to applications/browser-extension/src/bricks/effects/disable.ts index e9d68d5126..162676d5d6 100644 --- a/src/bricks/effects/disable.ts +++ b/applications/browser-extension/src/bricks/effects/disable.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; import { IS_ROOT_AWARE_BRICK_PROPS, $safeFindElementsWithRootMode, -} from "@/bricks/rootModeHelpers"; -import { type Schema } from "@/types/schemaTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../rootModeHelpers"; +import { type Schema } from "../../types/schemaTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class DisableEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/enable.test.ts b/applications/browser-extension/src/bricks/effects/enable.test.ts similarity index 88% rename from src/bricks/effects/enable.test.ts rename to applications/browser-extension/src/bricks/effects/enable.test.ts index b91b3661e6..39b77f757c 100644 --- a/src/bricks/effects/enable.test.ts +++ b/applications/browser-extension/src/bricks/effects/enable.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { EnableEffect } from "@/bricks/effects/enable"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { EnableEffect } from "./enable"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new EnableEffect(); diff --git a/src/bricks/effects/enable.ts b/applications/browser-extension/src/bricks/effects/enable.ts similarity index 83% rename from src/bricks/effects/enable.ts rename to applications/browser-extension/src/bricks/effects/enable.ts index e3beb6943b..fe028ff023 100644 --- a/src/bricks/effects/enable.ts +++ b/applications/browser-extension/src/bricks/effects/enable.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { IS_ROOT_AWARE_BRICK_PROPS, $safeFindElementsWithRootMode, -} from "@/bricks/rootModeHelpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../rootModeHelpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class EnableEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/error.test.ts b/applications/browser-extension/src/bricks/effects/error.test.ts similarity index 79% rename from src/bricks/effects/error.test.ts rename to applications/browser-extension/src/bricks/effects/error.test.ts index df3c08c76e..516506569d 100644 --- a/src/bricks/effects/error.test.ts +++ b/applications/browser-extension/src/bricks/effects/error.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { ErrorEffect } from "@/bricks/effects/error"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { ErrorEffect } from "./error"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new ErrorEffect(); diff --git a/src/bricks/effects/error.ts b/applications/browser-extension/src/bricks/effects/error.ts similarity index 81% rename from src/bricks/effects/error.ts rename to applications/browser-extension/src/bricks/effects/error.ts index 4b9d466fdd..6b99c6081a 100644 --- a/src/bricks/effects/error.ts +++ b/applications/browser-extension/src/bricks/effects/error.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { validateRegistryId } from "@/types/helpers"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { validateRegistryId } from "../../types/helpers"; export class ErrorEffect extends EffectABC { static BRICK_ID = validateRegistryId("@pixiebrix/error"); diff --git a/src/bricks/effects/event.test.ts b/applications/browser-extension/src/bricks/effects/event.test.ts similarity index 90% rename from src/bricks/effects/event.test.ts rename to applications/browser-extension/src/bricks/effects/event.test.ts index 41a80bf011..978677f0d7 100644 --- a/src/bricks/effects/event.test.ts +++ b/applications/browser-extension/src/bricks/effects/event.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { ElementEvent } from "@/bricks/effects/event"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { ElementEvent } from "./event"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new ElementEvent(); diff --git a/src/bricks/effects/event.ts b/applications/browser-extension/src/bricks/effects/event.ts similarity index 89% rename from src/bricks/effects/event.ts rename to applications/browser-extension/src/bricks/effects/event.ts index fbceb2c517..0e7ff79000 100644 --- a/src/bricks/effects/event.ts +++ b/applications/browser-extension/src/bricks/effects/event.ts @@ -16,14 +16,14 @@ */ import properEvent from "proper-event"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { IS_ROOT_AWARE_BRICK_PROPS, $safeFindElementsWithRootMode, -} from "@/bricks/rootModeHelpers"; -import { DOM_EVENTS } from "@/types/browserTypes"; +} from "../rootModeHelpers"; +import { DOM_EVENTS } from "../../types/browserTypes"; export class ElementEvent extends EffectABC { constructor() { diff --git a/src/bricks/effects/exportCsv.ts b/applications/browser-extension/src/bricks/effects/exportCsv.ts similarity index 91% rename from src/bricks/effects/exportCsv.ts rename to applications/browser-extension/src/bricks/effects/exportCsv.ts index da0c8b67fb..8134b99879 100644 --- a/src/bricks/effects/exportCsv.ts +++ b/applications/browser-extension/src/bricks/effects/exportCsv.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { PropError } from "@/errors/businessErrors"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { PropError } from "../../errors/businessErrors"; +import type { PlatformCapability } from "../../platform/capabilities"; import { type JsonPrimitive } from "type-fest"; // Derived from the unexported type in the `export-to-csv` package diff --git a/src/bricks/effects/exportFileEffect.test.ts b/applications/browser-extension/src/bricks/effects/exportFileEffect.test.ts similarity index 85% rename from src/bricks/effects/exportFileEffect.test.ts rename to applications/browser-extension/src/bricks/effects/exportFileEffect.test.ts index 74b1afc275..79534b7545 100644 --- a/src/bricks/effects/exportFileEffect.test.ts +++ b/applications/browser-extension/src/bricks/effects/exportFileEffect.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import ExportFileEffect from "@/bricks/effects/exportFileEffect"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import ExportFileEffect from "./exportFileEffect"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; import download from "downloadjs"; jest.mock("downloadjs"); diff --git a/src/bricks/effects/exportFileEffect.ts b/applications/browser-extension/src/bricks/effects/exportFileEffect.ts similarity index 86% rename from src/bricks/effects/exportFileEffect.ts rename to applications/browser-extension/src/bricks/effects/exportFileEffect.ts index 7840dd71d0..3ef9d7481a 100644 --- a/src/bricks/effects/exportFileEffect.ts +++ b/applications/browser-extension/src/bricks/effects/exportFileEffect.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import type { BrickArgs } from "@/types/runtimeTypes"; -import type { Schema } from "@/types/schemaTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import type { BrickArgs } from "../../types/runtimeTypes"; +import type { Schema } from "../../types/schemaTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** * Brick to export a data URL as a file. diff --git a/src/bricks/effects/forms.test.ts b/applications/browser-extension/src/bricks/effects/forms.test.ts similarity index 94% rename from src/bricks/effects/forms.test.ts rename to applications/browser-extension/src/bricks/effects/forms.test.ts index 293b4a1e18..a1777e2e4a 100644 --- a/src/bricks/effects/forms.test.ts +++ b/applications/browser-extension/src/bricks/effects/forms.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { FormFill, SetInputValue } from "@/bricks/effects/forms"; -import { BusinessError, NoElementsFoundError } from "@/errors/businessErrors"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { FormFill, SetInputValue } from "./forms"; +import { BusinessError, NoElementsFoundError } from "../../errors/businessErrors"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const setInputValueBrick = new SetInputValue(); const formFillBrick = new FormFill(); diff --git a/src/bricks/effects/forms.ts b/applications/browser-extension/src/bricks/effects/forms.ts similarity index 94% rename from src/bricks/effects/forms.ts rename to applications/browser-extension/src/bricks/effects/forms.ts index 893d7869f6..39d564527f 100644 --- a/src/bricks/effects/forms.ts +++ b/applications/browser-extension/src/bricks/effects/forms.ts @@ -15,27 +15,27 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; import { type JsonObject, type RequireExactlyOne } from "type-fest"; import { BusinessError, MultipleElementsFoundError, NoElementsFoundError, -} from "@/errors/businessErrors"; +} from "../../errors/businessErrors"; import { $safeFindElementsWithRootMode, IS_ROOT_AWARE_BRICK_PROPS, -} from "@/bricks/rootModeHelpers"; +} from "../rootModeHelpers"; import { isEmpty } from "lodash"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { type Logger } from "@/types/loggerTypes"; -import { findSingleElement } from "@/utils/domUtils"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { type Logger } from "../../types/loggerTypes"; +import { findSingleElement } from "../../utils/domUtils"; import { isFieldElement, setFieldValue, setFieldsValue, -} from "@/utils/domFieldUtils"; +} from "../../utils/domFieldUtils"; type FindAndSetValueData = RequireExactlyOne< { diff --git a/src/bricks/effects/getAllEffects.ts b/applications/browser-extension/src/bricks/effects/getAllEffects.ts similarity index 72% rename from src/bricks/effects/getAllEffects.ts rename to applications/browser-extension/src/bricks/effects/getAllEffects.ts index 475356ddaa..912453bf61 100644 --- a/src/bricks/effects/getAllEffects.ts +++ b/applications/browser-extension/src/bricks/effects/getAllEffects.ts @@ -30,7 +30,7 @@ import { HideEffect } from "./hide"; import { ExportCsv } from "./exportCsv"; import { HideSidebar, ShowSidebar, ToggleSidebar } from "./sidebarEffects"; import CancelEffect from "./CancelEffect"; -import CancelEphemeralElements from "@/bricks/effects/CancelEphemeralElements"; +import CancelEphemeralElements from "./CancelEphemeralElements"; import { ErrorEffect } from "./error"; import { ShowEffect } from "./show"; import { ConfettiEffect } from "./confetti"; @@ -40,28 +40,28 @@ import { ReactivateEffect } from "./reactivate"; import { SoundEffect } from "./sound"; import { DisableEffect } from "./disable"; import { EnableEffect } from "./enable"; -import InsertHtml from "@/bricks/effects/insertHtml"; -import CustomEventEffect from "@/bricks/effects/customEvent"; -import ReplaceTextEffect from "@/bricks/effects/replaceText"; -import HighlightText from "@/bricks/effects/highlightText"; -import ScrollIntoViewEffect from "@/bricks/effects/scrollIntoView"; -import AddQuickBarAction from "@/bricks/effects/AddQuickBarAction"; -import ToggleQuickbarEffect from "@/bricks/effects/ToggleQuickbarEffect"; -import SubmitPanelEffect from "@/bricks/effects/submitPanel"; -import { type Brick } from "@/types/brickTypes"; -import PostMessageEffect from "@/bricks/effects/postMessage"; -import AssignModVariable from "@/bricks/effects/assignModVariable"; -import CommentEffect from "@/bricks/effects/comment"; -import SetToolbarBadge from "@/bricks/effects/setToolbarBadge"; -import InsertAtCursorEffect from "@/bricks/effects/InsertAtCursorEffect"; -import AddDynamicTextSnippet from "@/bricks/effects/AddDynamicTextSnippet"; -import AddTextSnippets from "@/bricks/effects/AddTextSnippets"; -import ExportFileEffect from "@/bricks/effects/exportFileEffect"; +import InsertHtml from "./insertHtml"; +import CustomEventEffect from "./customEvent"; +import ReplaceTextEffect from "./replaceText"; +import HighlightText from "./highlightText"; +import ScrollIntoViewEffect from "./scrollIntoView"; +import AddQuickBarAction from "./AddQuickBarAction"; +import ToggleQuickbarEffect from "./ToggleQuickbarEffect"; +import SubmitPanelEffect from "./submitPanel"; +import { type Brick } from "../../types/brickTypes"; +import PostMessageEffect from "./postMessage"; +import AssignModVariable from "./assignModVariable"; +import CommentEffect from "./comment"; +import SetToolbarBadge from "./setToolbarBadge"; +import InsertAtCursorEffect from "./InsertAtCursorEffect"; +import AddDynamicTextSnippet from "./AddDynamicTextSnippet"; +import AddTextSnippets from "./AddTextSnippets"; +import ExportFileEffect from "./exportFileEffect"; import { StartCaptureAudioEffect, StopCaptureAudioEffect, -} from "@/bricks/effects/captureAudio"; -import TelemetryEffect from "@/bricks/effects/TelemetryEffect"; +} from "./captureAudio"; +import TelemetryEffect from "./TelemetryEffect"; function getAllEffects(): Brick[] { return [ diff --git a/src/bricks/effects/hide.test.ts b/applications/browser-extension/src/bricks/effects/hide.test.ts similarity index 90% rename from src/bricks/effects/hide.test.ts rename to applications/browser-extension/src/bricks/effects/hide.test.ts index 1f71bb9a81..930e611680 100644 --- a/src/bricks/effects/hide.test.ts +++ b/applications/browser-extension/src/bricks/effects/hide.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { HideEffect } from "@/bricks/effects/hide"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { HideEffect } from "./hide"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new HideEffect(); diff --git a/src/bricks/effects/hide.ts b/applications/browser-extension/src/bricks/effects/hide.ts similarity index 86% rename from src/bricks/effects/hide.ts rename to applications/browser-extension/src/bricks/effects/hide.ts index 85be7565e2..4a5d62aef4 100644 --- a/src/bricks/effects/hide.ts +++ b/applications/browser-extension/src/bricks/effects/hide.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { $safeFindElementsWithRootMode, IS_ROOT_AWARE_BRICK_PROPS, -} from "@/bricks/rootModeHelpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../rootModeHelpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class HideEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/highlight.test.ts b/applications/browser-extension/src/bricks/effects/highlight.test.ts similarity index 92% rename from src/bricks/effects/highlight.test.ts rename to applications/browser-extension/src/bricks/effects/highlight.test.ts index fc6e377256..ab816334c7 100644 --- a/src/bricks/effects/highlight.test.ts +++ b/applications/browser-extension/src/bricks/effects/highlight.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { HighlightEffect } from "@/bricks/effects/highlight"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { HighlightEffect } from "./highlight"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; describe("highlight", () => { test.each([[undefined], ["yellow"]])( diff --git a/src/bricks/effects/highlight.ts b/applications/browser-extension/src/bricks/effects/highlight.ts similarity index 93% rename from src/bricks/effects/highlight.ts rename to applications/browser-extension/src/bricks/effects/highlight.ts index d60b22674c..bf42002203 100644 --- a/src/bricks/effects/highlight.ts +++ b/applications/browser-extension/src/bricks/effects/highlight.ts @@ -16,12 +16,12 @@ */ /* eslint-disable unicorn/no-array-callback-reference -- $.find false positives */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { boolean } from "@/utils/typeUtils"; -import { $safeFind } from "@/utils/domUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { boolean } from "../../utils/typeUtils"; +import { $safeFind } from "../../utils/domUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; type ColorRule = | string diff --git a/src/bricks/effects/highlightText.test.ts b/applications/browser-extension/src/bricks/effects/highlightText.test.ts similarity index 97% rename from src/bricks/effects/highlightText.test.ts rename to applications/browser-extension/src/bricks/effects/highlightText.test.ts index 7e612a597c..3def71beee 100644 --- a/src/bricks/effects/highlightText.test.ts +++ b/applications/browser-extension/src/bricks/effects/highlightText.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import HighlightText from "@/bricks/effects/highlightText"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import HighlightText from "./highlightText"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; describe("ReplaceTextEffect", () => { test("can iterate body", () => { diff --git a/src/bricks/effects/highlightText.ts b/applications/browser-extension/src/bricks/effects/highlightText.ts similarity index 93% rename from src/bricks/effects/highlightText.ts rename to applications/browser-extension/src/bricks/effects/highlightText.ts index 806f539f65..42be257dcb 100644 --- a/src/bricks/effects/highlightText.ts +++ b/applications/browser-extension/src/bricks/effects/highlightText.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { $safeFind } from "@/utils/domUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { $safeFind } from "../../utils/domUtils"; import { escapeRegExp } from "lodash"; /** diff --git a/src/bricks/effects/insertHtml.ts b/applications/browser-extension/src/bricks/effects/insertHtml.ts similarity index 86% rename from src/bricks/effects/insertHtml.ts rename to applications/browser-extension/src/bricks/effects/insertHtml.ts index 1350bb614a..366353371f 100644 --- a/src/bricks/effects/insertHtml.ts +++ b/applications/browser-extension/src/bricks/effects/insertHtml.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import sanitize from "@/utils/sanitize"; -import { PIXIEBRIX_DATA_ATTR } from "@/domConstants"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import sanitize from "../../utils/sanitize"; +import { PIXIEBRIX_DATA_ATTR } from "../../domConstants"; import { escape } from "lodash"; -import { BusinessError, PropError } from "@/errors/businessErrors"; -import { $safeFind } from "@/utils/domUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { validateRegistryId } from "@/types/helpers"; +import { BusinessError, PropError } from "../../errors/businessErrors"; +import { $safeFind } from "../../utils/domUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { validateRegistryId } from "../../types/helpers"; type Position = "before" | "prepend" | "append" | "after"; diff --git a/src/bricks/effects/logger.ts b/applications/browser-extension/src/bricks/effects/logger.ts similarity index 86% rename from src/bricks/effects/logger.ts rename to applications/browser-extension/src/bricks/effects/logger.ts index f676a0775e..7b84349fa8 100644 --- a/src/bricks/effects/logger.ts +++ b/applications/browser-extension/src/bricks/effects/logger.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { realConsole } from "@/development/runtimeLogging"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { realConsole } from "../../development/runtimeLogging"; +import { propertiesToSchema } from "../../utils/schemaUtils"; type Level = "debug" | "info" | "warn" | "error"; diff --git a/src/bricks/effects/pageState.test.ts b/applications/browser-extension/src/bricks/effects/pageState.test.ts similarity index 87% rename from src/bricks/effects/pageState.test.ts rename to applications/browser-extension/src/bricks/effects/pageState.test.ts index 309f3b5f9c..0e46989a1c 100644 --- a/src/bricks/effects/pageState.test.ts +++ b/applications/browser-extension/src/bricks/effects/pageState.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { toExpression } from "@/utils/expressionUtils"; -import { GetPageState, SetPageState } from "@/bricks/effects/pageState"; -import { TEST_resetStateController } from "@/contentScript/stateController/stateController"; -import { MergeStrategies, StateNamespaces } from "@/platform/state/stateTypes"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { toExpression } from "../../utils/expressionUtils"; +import { GetPageState, SetPageState } from "./pageState"; +import { TEST_resetStateController } from "../../contentScript/stateController/stateController"; +import { MergeStrategies, StateNamespaces } from "../../platform/state/stateTypes"; beforeEach(async () => { await TEST_resetStateController(); @@ -60,7 +60,7 @@ describe("@pixiebrix/state/set", () => { }); test("deep merge does not append array elements", async () => { - const { SetPageState } = await import("@/bricks/effects/pageState"); + const { SetPageState } = await import("./pageState"); const brick = new SetPageState(); const brickOptions = brickOptionsFactory(); @@ -99,7 +99,7 @@ describe("@pixiebrix/state/set", () => { }); it("returns mod variables", async () => { - const { SetPageState } = await import("@/bricks/effects/pageState"); + const { SetPageState } = await import("./pageState"); const brick = new SetPageState(); await expect( @@ -122,7 +122,7 @@ describe("@pixiebrix/state/set", () => { }); it("ignores private variables", async () => { - const { SetPageState } = await import("@/bricks/effects/pageState"); + const { SetPageState } = await import("./pageState"); const brick = new SetPageState(); await expect( diff --git a/src/bricks/effects/pageState.ts b/applications/browser-extension/src/bricks/effects/pageState.ts similarity index 94% rename from src/bricks/effects/pageState.ts rename to applications/browser-extension/src/bricks/effects/pageState.ts index 6de55fe7bd..de8c21ffa9 100644 --- a/src/bricks/effects/pageState.ts +++ b/applications/browser-extension/src/bricks/effects/pageState.ts @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; import { TransformerABC } from "@/types/bricks/transformerTypes"; import { validateRegistryId } from "@/types/helpers"; import { type BrickConfig } from "@/bricks/types"; import { isObject } from "@/utils/objectUtils"; import { mapValues } from "lodash"; -import { castTextLiteralOrThrow } from "@/utils/expressionUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { castTextLiteralOrThrow } from "../../utils/expressionUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; import { MergeStrategies, type MergeStrategy, type StateNamespace, StateNamespaces, -} from "@/platform/state/stateTypes"; +} from "../../platform/state/stateTypes"; /** * Namespace options for use in oneOf. diff --git a/src/bricks/effects/postMessage.test.ts b/applications/browser-extension/src/bricks/effects/postMessage.test.ts similarity index 87% rename from src/bricks/effects/postMessage.test.ts rename to applications/browser-extension/src/bricks/effects/postMessage.test.ts index eb5962986a..61ab0d2203 100644 --- a/src/bricks/effects/postMessage.test.ts +++ b/applications/browser-extension/src/bricks/effects/postMessage.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import PostMessageEffect from "@/bricks/effects/postMessage"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import PostMessageEffect from "./postMessage"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new PostMessageEffect(); diff --git a/src/bricks/effects/postMessage.ts b/applications/browser-extension/src/bricks/effects/postMessage.ts similarity index 87% rename from src/bricks/effects/postMessage.ts rename to applications/browser-extension/src/bricks/effects/postMessage.ts index 352fb6619a..449a4be091 100644 --- a/src/bricks/effects/postMessage.ts +++ b/applications/browser-extension/src/bricks/effects/postMessage.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { $safeFindElementsWithRootMode } from "@/bricks/rootModeHelpers"; -import { PropError } from "@/errors/businessErrors"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { $safeFindElementsWithRootMode } from "../rootModeHelpers"; +import { PropError } from "../../errors/businessErrors"; +import { assertNotNullish } from "../../utils/nullishUtils"; class PostMessageEffect extends EffectABC { // https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage diff --git a/src/bricks/effects/reactivate.ts b/applications/browser-extension/src/bricks/effects/reactivate.ts similarity index 81% rename from src/bricks/effects/reactivate.ts rename to applications/browser-extension/src/bricks/effects/reactivate.ts index 6201c6c4b6..2380dd051e 100644 --- a/src/bricks/effects/reactivate.ts +++ b/applications/browser-extension/src/bricks/effects/reactivate.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { reloadFrameMods } from "@/contentScript/lifecycle"; -import { expectContext } from "@/utils/expectContext"; -import { EffectABC } from "@/types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { reloadFrameMods } from "../../contentScript/lifecycle"; +import { expectContext } from "../../utils/expectContext"; +import { EffectABC } from "../../types/bricks/effectTypes"; import { type JsonObject } from "type-fest"; export class ReactivateEffect extends EffectABC { diff --git a/src/bricks/effects/redirectPage.ts b/applications/browser-extension/src/bricks/effects/redirectPage.ts similarity index 88% rename from src/bricks/effects/redirectPage.ts rename to applications/browser-extension/src/bricks/effects/redirectPage.ts index 154e867f35..d5480f9dce 100644 --- a/src/bricks/effects/redirectPage.ts +++ b/applications/browser-extension/src/bricks/effects/redirectPage.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { URL_INPUT_SPEC } from "@/bricks/transformers/url"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { URL_INPUT_SPEC } from "../transformers/url"; import { LEGACY_URL_INPUT_SPACE_ENCODING_DEFAULT, makeURL, -} from "@/utils/urlUtils"; -import type { PlatformCapability } from "@/platform/capabilities"; +} from "../../utils/urlUtils"; +import type { PlatformCapability } from "../../platform/capabilities"; export class NavigateURLEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/replaceText.test.ts b/applications/browser-extension/src/bricks/effects/replaceText.test.ts similarity index 96% rename from src/bricks/effects/replaceText.test.ts rename to applications/browser-extension/src/bricks/effects/replaceText.test.ts index 2771217b80..9502e9cea9 100644 --- a/src/bricks/effects/replaceText.test.ts +++ b/applications/browser-extension/src/bricks/effects/replaceText.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; import { JSDOM } from "jsdom"; -import ReplaceTextEffect from "@/bricks/effects/replaceText"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import ReplaceTextEffect from "./replaceText"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; beforeEach(() => { // Isolate extension state between test diff --git a/src/bricks/effects/replaceText.ts b/applications/browser-extension/src/bricks/effects/replaceText.ts similarity index 93% rename from src/bricks/effects/replaceText.ts rename to applications/browser-extension/src/bricks/effects/replaceText.ts index ed8cb2c7d7..2a8ee95437 100644 --- a/src/bricks/effects/replaceText.ts +++ b/applications/browser-extension/src/bricks/effects/replaceText.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { uniq } from "lodash"; -import { $safeFind } from "@/utils/domUtils"; +import { $safeFind } from "../../utils/domUtils"; // Adapted from https://github.com/refined-github/refined-github/blob/main/source/helpers/get-text-nodes.ts function getTextNodes(roots: Node[]): Text[] { diff --git a/src/bricks/effects/scrollIntoView.ts b/applications/browser-extension/src/bricks/effects/scrollIntoView.ts similarity index 86% rename from src/bricks/effects/scrollIntoView.ts rename to applications/browser-extension/src/bricks/effects/scrollIntoView.ts index 5f745a3bff..4f14892125 100644 --- a/src/bricks/effects/scrollIntoView.ts +++ b/applications/browser-extension/src/bricks/effects/scrollIntoView.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { $safeFindElementsWithRootMode } from "@/bricks/rootModeHelpers"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { $safeFindElementsWithRootMode } from "../rootModeHelpers"; -import { assertSingleElement } from "@/utils/domUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { assertSingleElement } from "../../utils/domUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class ScrollIntoViewEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/scrollToElement.test.ts b/applications/browser-extension/src/bricks/effects/scrollToElement.test.ts similarity index 89% rename from src/bricks/effects/scrollToElement.test.ts rename to applications/browser-extension/src/bricks/effects/scrollToElement.test.ts index 5826b925ec..c5ca7d27c8 100644 --- a/src/bricks/effects/scrollToElement.test.ts +++ b/applications/browser-extension/src/bricks/effects/scrollToElement.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import ScrollIntoViewEffect from "@/bricks/effects/scrollIntoView"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import ScrollIntoViewEffect from "./scrollIntoView"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new ScrollIntoViewEffect(); diff --git a/src/bricks/effects/setToolbarBadge.test.ts b/applications/browser-extension/src/bricks/effects/setToolbarBadge.test.ts similarity index 80% rename from src/bricks/effects/setToolbarBadge.test.ts rename to applications/browser-extension/src/bricks/effects/setToolbarBadge.test.ts index 3dffc9a154..eca0025c62 100644 --- a/src/bricks/effects/setToolbarBadge.test.ts +++ b/applications/browser-extension/src/bricks/effects/setToolbarBadge.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import SetToolbarBadge from "@/bricks/effects/setToolbarBadge"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { setToolbarBadge } from "@/background/messenger/api"; +import SetToolbarBadge from "./setToolbarBadge"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { isLoadedInIframe } from "../../utils/iframeUtils"; +import { setToolbarBadge } from "../../background/messenger/api"; const brick = new SetToolbarBadge(); -jest.mock("@/utils/iframeUtils", () => ({ +jest.mock("../../utils/iframeUtils", () => ({ isLoadedInIframe: jest.fn(() => false), })); diff --git a/src/bricks/effects/setToolbarBadge.ts b/applications/browser-extension/src/bricks/effects/setToolbarBadge.ts similarity index 81% rename from src/bricks/effects/setToolbarBadge.ts rename to applications/browser-extension/src/bricks/effects/setToolbarBadge.ts index 8b63eadccd..006034ab8d 100644 --- a/src/bricks/effects/setToolbarBadge.ts +++ b/applications/browser-extension/src/bricks/effects/setToolbarBadge.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { BusinessError } from "@/errors/businessErrors"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { isLoadedInIframe } from "../../utils/iframeUtils"; +import { BusinessError } from "../../errors/businessErrors"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class SetToolbarBadge extends EffectABC { constructor() { diff --git a/src/bricks/effects/show.test.ts b/applications/browser-extension/src/bricks/effects/show.test.ts similarity index 89% rename from src/bricks/effects/show.test.ts rename to applications/browser-extension/src/bricks/effects/show.test.ts index 2f92ce9dc3..edd0b3fd7a 100644 --- a/src/bricks/effects/show.test.ts +++ b/applications/browser-extension/src/bricks/effects/show.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { ShowEffect } from "@/bricks/effects/show"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { ShowEffect } from "./show"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new ShowEffect(); diff --git a/src/bricks/effects/show.ts b/applications/browser-extension/src/bricks/effects/show.ts similarity index 84% rename from src/bricks/effects/show.ts rename to applications/browser-extension/src/bricks/effects/show.ts index 42be713e0a..e011a76dbf 100644 --- a/src/bricks/effects/show.ts +++ b/applications/browser-extension/src/bricks/effects/show.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { $safeFindElementsWithRootMode, IS_ROOT_AWARE_BRICK_PROPS, -} from "@/bricks/rootModeHelpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../rootModeHelpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class ShowEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/sidebarEffects.ts b/applications/browser-extension/src/bricks/effects/sidebarEffects.ts similarity index 85% rename from src/bricks/effects/sidebarEffects.ts rename to applications/browser-extension/src/bricks/effects/sidebarEffects.ts index 4bf466e23c..858d787ae4 100644 --- a/src/bricks/effects/sidebarEffects.ts +++ b/applications/browser-extension/src/bricks/effects/sidebarEffects.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema, SCHEMA_EMPTY_OBJECT } from "@/types/schemaTypes"; -import * as sidebarController from "@/contentScript/sidebarController"; -import { logPromiseDuration } from "@/utils/promiseUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema, SCHEMA_EMPTY_OBJECT } from "../../types/schemaTypes"; +import * as sidebarController from "../../contentScript/sidebarController"; +import { logPromiseDuration } from "../../utils/promiseUtils"; import { CONTENT_SCRIPT_CAPABILITIES, type PlatformCapability, -} from "@/platform/capabilities"; -import { expectContext } from "@/utils/expectContext"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { validateRegistryId } from "@/types/helpers"; +} from "../../platform/capabilities"; +import { expectContext } from "../../utils/expectContext"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { validateRegistryId } from "../../types/helpers"; export class ShowSidebar extends EffectABC { static BRICK_ID = validateRegistryId("@pixiebrix/sidebar/show"); diff --git a/src/bricks/effects/sound.ts b/applications/browser-extension/src/bricks/effects/sound.ts similarity index 81% rename from src/bricks/effects/sound.ts rename to applications/browser-extension/src/bricks/effects/sound.ts index 960bcf6c9b..d30f46baca 100644 --- a/src/bricks/effects/sound.ts +++ b/applications/browser-extension/src/bricks/effects/sound.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class SoundEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/submitPanel.test.ts b/applications/browser-extension/src/bricks/effects/submitPanel.test.ts similarity index 86% rename from src/bricks/effects/submitPanel.test.ts rename to applications/browser-extension/src/bricks/effects/submitPanel.test.ts index 8d93ce4623..a658cd031a 100644 --- a/src/bricks/effects/submitPanel.test.ts +++ b/applications/browser-extension/src/bricks/effects/submitPanel.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import SubmitPanelEffect from "@/bricks/effects/submitPanel"; -import { SubmitPanelAction } from "@/bricks/errors"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import SubmitPanelEffect from "./submitPanel"; +import { SubmitPanelAction } from "../errors"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; describe("SubmitPanelEffect", () => { test("defaults detail to empty object", async () => { diff --git a/src/bricks/effects/submitPanel.ts b/applications/browser-extension/src/bricks/effects/submitPanel.ts similarity index 87% rename from src/bricks/effects/submitPanel.ts rename to applications/browser-extension/src/bricks/effects/submitPanel.ts index ca99a44a7e..d8112ef314 100644 --- a/src/bricks/effects/submitPanel.ts +++ b/applications/browser-extension/src/bricks/effects/submitPanel.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; -import { SubmitPanelAction } from "@/bricks/errors"; +import { SubmitPanelAction } from "../errors"; class SubmitPanelEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/tabs.ts b/applications/browser-extension/src/bricks/effects/tabs.ts similarity index 85% rename from src/bricks/effects/tabs.ts rename to applications/browser-extension/src/bricks/effects/tabs.ts index 76b6310689..79d3623d5d 100644 --- a/src/bricks/effects/tabs.ts +++ b/applications/browser-extension/src/bricks/effects/tabs.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { focusTab, closeTab } from "@/background/messenger/api"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { focusTab, closeTab } from "../../background/messenger/api"; import { CONTENT_SCRIPT_CAPABILITIES, type PlatformCapability, -} from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class ActivateTabEffect extends EffectABC { constructor() { diff --git a/src/bricks/effects/tourEffect.test.ts b/applications/browser-extension/src/bricks/effects/tourEffect.test.ts similarity index 87% rename from src/bricks/effects/tourEffect.test.ts rename to applications/browser-extension/src/bricks/effects/tourEffect.test.ts index baa6716333..c1419419f0 100644 --- a/src/bricks/effects/tourEffect.test.ts +++ b/applications/browser-extension/src/bricks/effects/tourEffect.test.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { TourEffect } from "@/bricks/effects/tourEffect"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { CancelError, PropError } from "@/errors/businessErrors"; -import { tick } from "@/starterBricks/testHelpers"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { TourEffect } from "./tourEffect"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { CancelError, PropError } from "../../errors/businessErrors"; +import { tick } from "../../starterBricks/testHelpers"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new TourEffect(); diff --git a/src/bricks/effects/tourEffect.ts b/applications/browser-extension/src/bricks/effects/tourEffect.ts similarity index 89% rename from src/bricks/effects/tourEffect.ts rename to applications/browser-extension/src/bricks/effects/tourEffect.ts index 78acabd890..71c6da006e 100644 --- a/src/bricks/effects/tourEffect.ts +++ b/applications/browser-extension/src/bricks/effects/tourEffect.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import injectStylesheet from "@/utils/injectStylesheet"; -import stylesheetUrl from "@/vendors/intro.js/introjs.scss?loadAsUrl"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import injectStylesheet from "../../utils/injectStylesheet"; +import stylesheetUrl from "../../vendors/intro.js/introjs.scss?loadAsUrl"; import pDefer from "p-defer"; -import { BusinessError, CancelError, PropError } from "@/errors/businessErrors"; -import { IS_ROOT_AWARE_BRICK_PROPS } from "@/bricks/rootModeHelpers"; -import { validateRegistryId } from "@/types/helpers"; +import { BusinessError, CancelError, PropError } from "../../errors/businessErrors"; +import { IS_ROOT_AWARE_BRICK_PROPS } from "../rootModeHelpers"; +import { validateRegistryId } from "../../types/helpers"; import { isEmpty } from "lodash"; -import { $safeFind } from "@/utils/domUtils"; +import { $safeFind } from "../../utils/domUtils"; import { type TooltipPosition } from "intro.js/src/core/steps"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { assertNotNullish } from "../../utils/nullishUtils"; type Step = { title: string; diff --git a/src/bricks/effects/vue.ts b/applications/browser-extension/src/bricks/effects/vue.ts similarity index 86% rename from src/bricks/effects/vue.ts rename to applications/browser-extension/src/bricks/effects/vue.ts index 188292d11c..d41239ad6f 100644 --- a/src/bricks/effects/vue.ts +++ b/applications/browser-extension/src/bricks/effects/vue.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { setComponentData } from "@/pageScript/messenger/api"; +import { setComponentData } from "../../pageScript/messenger/api"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type PlatformCapability, PAGE_SCRIPT_CAPABILITIES, -} from "@/platform/capabilities"; +} from "../../platform/capabilities"; export class SetVueValues extends EffectABC { constructor() { diff --git a/src/bricks/effects/wait.test.ts b/applications/browser-extension/src/bricks/effects/wait.test.ts similarity index 90% rename from src/bricks/effects/wait.test.ts rename to applications/browser-extension/src/bricks/effects/wait.test.ts index bc20aee6eb..2e11ca82bf 100644 --- a/src/bricks/effects/wait.test.ts +++ b/applications/browser-extension/src/bricks/effects/wait.test.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { WaitElementEffect } from "@/bricks/effects/wait"; -import { BusinessError } from "@/errors/businessErrors"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { WaitElementEffect } from "./wait"; +import { BusinessError } from "../../errors/businessErrors"; import { ensureMocksReset, requestIdleCallback } from "@shopify/jest-dom-mocks"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; beforeAll(() => { requestIdleCallback.mock(); diff --git a/src/bricks/effects/wait.ts b/applications/browser-extension/src/bricks/effects/wait.ts similarity index 91% rename from src/bricks/effects/wait.ts rename to applications/browser-extension/src/bricks/effects/wait.ts index a27506503d..edbd816e76 100644 --- a/src/bricks/effects/wait.ts +++ b/applications/browser-extension/src/bricks/effects/wait.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { awaitElementOnce } from "@/starterBricks/helpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { IS_ROOT_AWARE_BRICK_PROPS } from "@/bricks/rootModeHelpers"; -import { type Schema } from "@/types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { awaitElementOnce } from "../../starterBricks/helpers"; +import { BusinessError } from "../../errors/businessErrors"; +import { IS_ROOT_AWARE_BRICK_PROPS } from "../rootModeHelpers"; +import { type Schema } from "../../types/schemaTypes"; import { type BrickArgs, type BrickOptions, type SelectorRoot, -} from "@/types/runtimeTypes"; -import { sleep } from "@/utils/timeUtils"; +} from "../../types/runtimeTypes"; +import { sleep } from "../../utils/timeUtils"; import { mergeSignals } from "abort-utils"; export class WaitEffect extends EffectABC { diff --git a/src/bricks/errors.ts b/applications/browser-extension/src/bricks/errors.ts similarity index 97% rename from src/bricks/errors.ts rename to applications/browser-extension/src/bricks/errors.ts index 67db5957b4..15dd3e984c 100644 --- a/src/bricks/errors.ts +++ b/applications/browser-extension/src/bricks/errors.ts @@ -17,12 +17,12 @@ import { type OutputUnit } from "@cfworker/json-schema"; import { type JsonObject } from "type-fest"; -import { BusinessError, CancelError } from "@/errors/businessErrors"; +import { BusinessError, CancelError } from "../errors/businessErrors"; import { type MessageContext } from "@/types/loggerTypes"; import { type RegistryId } from "@/types/registryTypes"; import { type Schema } from "@/types/schemaTypes"; import { type BrickArgs, type BrickArgsContext } from "@/types/runtimeTypes"; -import { isObject } from "@/utils/objectUtils"; +import { isObject } from "../utils/objectUtils"; /** * Error bailing if a renderer component is encountered while running in "headless mode" diff --git a/src/bricks/exampleBrickConfigs.ts b/applications/browser-extension/src/bricks/exampleBrickConfigs.ts similarity index 85% rename from src/bricks/exampleBrickConfigs.ts rename to applications/browser-extension/src/bricks/exampleBrickConfigs.ts index 6db692ef8a..f278f87b9c 100644 --- a/src/bricks/exampleBrickConfigs.ts +++ b/applications/browser-extension/src/bricks/exampleBrickConfigs.ts @@ -15,29 +15,29 @@ * along with this program. If not, see . */ -import { COMPONENT_READER_ID } from "@/bricks/transformers/component/ComponentReader"; -import { FormTransformer } from "@/bricks/transformers/ephemeralForm/formTransformer"; -import { CustomFormRenderer } from "@/bricks/renderers/customForm"; -import { createNewDocumentBuilderElement } from "@/pageEditor/documentBuilder/createNewDocumentBuilderElement"; -import DisplayTemporaryInfo from "@/bricks/transformers/temporaryInfo/DisplayTemporaryInfo"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { type BrickConfig } from "@/bricks/types"; +import { COMPONENT_READER_ID } from "./transformers/component/ComponentReader"; +import { FormTransformer } from "./transformers/ephemeralForm/formTransformer"; +import { CustomFormRenderer } from "./renderers/customForm"; +import { createNewDocumentBuilderElement } from "../pageEditor/documentBuilder/createNewDocumentBuilderElement"; +import DisplayTemporaryInfo from "./transformers/temporaryInfo/DisplayTemporaryInfo"; +import { DocumentRenderer } from "./renderers/document"; +import { type BrickConfig } from "./types"; import { uuidv4 } from "@/types/helpers"; -import { defaultBrickConfig } from "@/bricks/util"; +import { defaultBrickConfig } from "./util"; import { type RegistryId } from "@/types/registryTypes"; import { type Schema } from "@/types/schemaTypes"; -import { JavaScriptTransformer } from "@/bricks/transformers/javascript"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; -import { minimalUiSchemaFactory } from "@/utils/schemaUtils"; -import { toExpression } from "@/utils/expressionUtils"; -import CommentEffect from "@/bricks/effects/comment"; -import AddDynamicTextSnippet from "@/bricks/effects/AddDynamicTextSnippet"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import AddTextSnippets from "@/bricks/effects/AddTextSnippets"; +import { JavaScriptTransformer } from "./transformers/javascript"; +import IdentityTransformer from "./transformers/IdentityTransformer"; +import { minimalUiSchemaFactory } from "../utils/schemaUtils"; +import { toExpression } from "../utils/expressionUtils"; +import CommentEffect from "./effects/comment"; +import AddDynamicTextSnippet from "./effects/AddDynamicTextSnippet"; +import { validateOutputKey } from "../runtime/runtimeTypes"; +import AddTextSnippets from "./effects/AddTextSnippets"; -import { MergeStrategies, StateNamespaces } from "@/platform/state/stateTypes"; -import IfElse from "@/bricks/transformers/controlFlow/IfElse"; -import AssignModVariable from "@/bricks/effects/assignModVariable"; +import { MergeStrategies, StateNamespaces } from "../platform/state/stateTypes"; +import IfElse from "./transformers/controlFlow/IfElse"; +import AssignModVariable from "./effects/assignModVariable"; /** * Get an example brick config for a given brick id. diff --git a/src/bricks/hooks/useTypedBrickMap.ts b/applications/browser-extension/src/bricks/hooks/useTypedBrickMap.ts similarity index 87% rename from src/bricks/hooks/useTypedBrickMap.ts rename to applications/browser-extension/src/bricks/hooks/useTypedBrickMap.ts index 0fd377184d..5e30d34223 100644 --- a/src/bricks/hooks/useTypedBrickMap.ts +++ b/applications/browser-extension/src/bricks/hooks/useTypedBrickMap.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import brickRegistry, { type TypedBrickMap } from "@/bricks/registry"; -import type { AsyncState } from "@/types/sliceTypes"; -import useAsyncExternalStore from "@/hooks/useAsyncExternalStore"; +import brickRegistry, { type TypedBrickMap } from "../registry"; +import type { AsyncState } from "../../types/sliceTypes"; +import useAsyncExternalStore from "../../hooks/useAsyncExternalStore"; function subscribe(callback: () => void) { brickRegistry.onChange.add(callback); diff --git a/src/bricks/readers/ArrayCompositeReader.ts b/applications/browser-extension/src/bricks/readers/ArrayCompositeReader.ts similarity index 97% rename from src/bricks/readers/ArrayCompositeReader.ts rename to applications/browser-extension/src/bricks/readers/ArrayCompositeReader.ts index 28ab29410d..1df5109906 100644 --- a/src/bricks/readers/ArrayCompositeReader.ts +++ b/applications/browser-extension/src/bricks/readers/ArrayCompositeReader.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Reader, ReaderABC } from "@/types/bricks/readerTypes"; +import { type Reader, ReaderABC } from "../../types/bricks/readerTypes"; import { type JsonObject } from "type-fest"; class ArrayCompositeReader extends ReaderABC { diff --git a/src/bricks/readers/BlankReader.ts b/applications/browser-extension/src/bricks/readers/BlankReader.ts similarity index 87% rename from src/bricks/readers/BlankReader.ts rename to applications/browser-extension/src/bricks/readers/BlankReader.ts index 92dd8e69bb..1103ca518e 100644 --- a/src/bricks/readers/BlankReader.ts +++ b/applications/browser-extension/src/bricks/readers/BlankReader.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; export class BlankReader extends ReaderABC { constructor() { diff --git a/src/bricks/readers/CompositeReader.ts b/applications/browser-extension/src/bricks/readers/CompositeReader.ts similarity index 97% rename from src/bricks/readers/CompositeReader.ts rename to applications/browser-extension/src/bricks/readers/CompositeReader.ts index 5ca62f3ddc..b96c6b841e 100644 --- a/src/bricks/readers/CompositeReader.ts +++ b/applications/browser-extension/src/bricks/readers/CompositeReader.ts @@ -16,7 +16,7 @@ */ import { mapValues } from "lodash"; -import { type Reader, ReaderABC } from "@/types/bricks/readerTypes"; +import { type Reader, ReaderABC } from "../../types/bricks/readerTypes"; import { type JsonObject } from "type-fest"; class CompositeReader extends ReaderABC { diff --git a/src/bricks/readers/DocumentReader.test.ts b/applications/browser-extension/src/bricks/readers/DocumentReader.test.ts similarity index 95% rename from src/bricks/readers/DocumentReader.test.ts rename to applications/browser-extension/src/bricks/readers/DocumentReader.test.ts index 686fac833f..041f63d208 100644 --- a/src/bricks/readers/DocumentReader.test.ts +++ b/applications/browser-extension/src/bricks/readers/DocumentReader.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import DocumentReader from "@/bricks/readers/DocumentReader"; +import DocumentReader from "./DocumentReader"; const brick = new DocumentReader(); diff --git a/src/bricks/readers/DocumentReader.ts b/applications/browser-extension/src/bricks/readers/DocumentReader.ts similarity index 89% rename from src/bricks/readers/DocumentReader.ts rename to applications/browser-extension/src/bricks/readers/DocumentReader.ts index 8d534ccc3f..8abcce001e 100644 --- a/src/bricks/readers/DocumentReader.ts +++ b/applications/browser-extension/src/bricks/readers/DocumentReader.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { nowTimestamp } from "@/utils/timeUtils"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { isLoadedInIframe } from "../../utils/iframeUtils"; +import { nowTimestamp } from "../../utils/timeUtils"; class DocumentReader extends ReaderABC { override defaultOutputKey = "context"; diff --git a/src/bricks/readers/ElementReader.test.ts b/applications/browser-extension/src/bricks/readers/ElementReader.test.ts similarity index 93% rename from src/bricks/readers/ElementReader.test.ts rename to applications/browser-extension/src/bricks/readers/ElementReader.test.ts index 914ce2a45b..df95d115ae 100644 --- a/src/bricks/readers/ElementReader.test.ts +++ b/applications/browser-extension/src/bricks/readers/ElementReader.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ElementReader } from "@/bricks/readers/ElementReader"; -import { validateUUID } from "@/types/helpers"; -import { rectFactory } from "@/testUtils/factories/domFactories"; +import { ElementReader } from "./ElementReader"; +import { validateUUID } from "../../types/helpers"; +import { rectFactory } from "../../testUtils/factories/domFactories"; const reader = new ElementReader(); diff --git a/src/bricks/readers/ElementReader.ts b/applications/browser-extension/src/bricks/readers/ElementReader.ts similarity index 88% rename from src/bricks/readers/ElementReader.ts rename to applications/browser-extension/src/bricks/readers/ElementReader.ts index 9ce9deadac..108d116bf3 100644 --- a/src/bricks/readers/ElementReader.ts +++ b/applications/browser-extension/src/bricks/readers/ElementReader.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { isHTMLElement } from "@/bricks/readers/frameworkReader"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type SelectorRoot } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { isInViewport, isVisible } from "@/utils/domUtils"; +import { isHTMLElement } from "./frameworkReader"; +import { getReferenceForElement } from "../../contentScript/elementReference"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type SelectorRoot } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { isInViewport, isVisible } from "../../utils/domUtils"; /** * Read attributes, text, etc. from an HTML element. diff --git a/src/bricks/readers/HtmlReader.ts b/applications/browser-extension/src/bricks/readers/HtmlReader.ts similarity index 89% rename from src/bricks/readers/HtmlReader.ts rename to applications/browser-extension/src/bricks/readers/HtmlReader.ts index 488d5901b8..57f159e2db 100644 --- a/src/bricks/readers/HtmlReader.ts +++ b/applications/browser-extension/src/bricks/readers/HtmlReader.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { isHTMLElement } from "@/bricks/readers/frameworkReader"; -import { type Schema } from "@/types/schemaTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { isHTMLElement } from "./frameworkReader"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; -import { type SelectorRoot } from "@/types/runtimeTypes"; +import { type SelectorRoot } from "../../types/runtimeTypes"; /** * Read HTML from the document or the current element. diff --git a/src/bricks/readers/ImageExifReader.ts b/applications/browser-extension/src/bricks/readers/ImageExifReader.ts similarity index 88% rename from src/bricks/readers/ImageExifReader.ts rename to applications/browser-extension/src/bricks/readers/ImageExifReader.ts index 96b6bb157a..a8dbe81269 100644 --- a/src/bricks/readers/ImageExifReader.ts +++ b/applications/browser-extension/src/bricks/readers/ImageExifReader.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; -import { ensureJsonObject } from "@/utils/objectUtils"; -import { loadImageBinaryData } from "@/utils/imageUtils"; +import { ensureJsonObject } from "../../utils/objectUtils"; +import { loadImageBinaryData } from "../../utils/imageUtils"; export class ImageExifReader extends ReaderABC { override defaultOutputKey = "image"; diff --git a/src/bricks/readers/ImageReader.ts b/applications/browser-extension/src/bricks/readers/ImageReader.ts similarity index 91% rename from src/bricks/readers/ImageReader.ts rename to applications/browser-extension/src/bricks/readers/ImageReader.ts index 8cf584bf47..2f1668a8be 100644 --- a/src/bricks/readers/ImageReader.ts +++ b/applications/browser-extension/src/bricks/readers/ImageReader.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { loadImageAsBase64 } from "@/utils/imageUtils"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { loadImageAsBase64 } from "../../utils/imageUtils"; export class ImageReader extends ReaderABC { override defaultOutputKey = "image"; diff --git a/src/bricks/readers/ManifestReader.ts b/applications/browser-extension/src/bricks/readers/ManifestReader.ts similarity index 93% rename from src/bricks/readers/ManifestReader.ts rename to applications/browser-extension/src/bricks/readers/ManifestReader.ts index fd0eb0cec2..40b878155b 100644 --- a/src/bricks/readers/ManifestReader.ts +++ b/applications/browser-extension/src/bricks/readers/ManifestReader.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; class ManifestReader extends ReaderABC { override defaultOutputKey = "manifest"; diff --git a/src/bricks/readers/PageMetadataReader.ts b/applications/browser-extension/src/bricks/readers/PageMetadataReader.ts similarity index 91% rename from src/bricks/readers/PageMetadataReader.ts rename to applications/browser-extension/src/bricks/readers/PageMetadataReader.ts index 649bd33d99..b491fd4daf 100644 --- a/src/bricks/readers/PageMetadataReader.ts +++ b/applications/browser-extension/src/bricks/readers/PageMetadataReader.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; export class PageMetadataReader extends ReaderABC { override defaultOutputKey = "metadata"; @@ -39,7 +39,7 @@ export class PageMetadataReader extends ReaderABC { async read() { const { getMetadata } = await import( - /* webpackChunkName: "page-metadata-parser" */ "@/vendors/page-metadata-parser/parser" + /* webpackChunkName: "page-metadata-parser" */ "../../vendors/page-metadata-parser/parser" ); return getMetadata(document, location.href); } diff --git a/src/bricks/readers/PageSemanticReader.ts b/applications/browser-extension/src/bricks/readers/PageSemanticReader.ts similarity index 95% rename from src/bricks/readers/PageSemanticReader.ts rename to applications/browser-extension/src/bricks/readers/PageSemanticReader.ts index e33a1baafd..a574f51f66 100644 --- a/src/bricks/readers/PageSemanticReader.ts +++ b/applications/browser-extension/src/bricks/readers/PageSemanticReader.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; import { type JsonObject } from "type-fest"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../types/schemaTypes"; export class PageSemanticReader extends ReaderABC { override defaultOutputKey = "metadata"; diff --git a/src/bricks/readers/ProfileReader.ts b/applications/browser-extension/src/bricks/readers/ProfileReader.ts similarity index 90% rename from src/bricks/readers/ProfileReader.ts rename to applications/browser-extension/src/bricks/readers/ProfileReader.ts index 41250abf2f..5ccb356499 100644 --- a/src/bricks/readers/ProfileReader.ts +++ b/applications/browser-extension/src/bricks/readers/ProfileReader.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { getUserData } from "@/background/messenger/api"; -import { type Schema } from "@/types/schemaTypes"; -import { type UserData } from "@/auth/authTypes"; -import { BusinessError } from "@/errors/businessErrors"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { getUserData } from "../../background/messenger/api"; +import { type Schema } from "../../types/schemaTypes"; +import { type UserData } from "../../auth/authTypes"; +import { BusinessError } from "../../errors/businessErrors"; class ProfileReader extends ReaderABC { override defaultOutputKey = "profile"; diff --git a/src/bricks/readers/SelectionReader.ts b/applications/browser-extension/src/bricks/readers/SelectionReader.ts similarity index 88% rename from src/bricks/readers/SelectionReader.ts rename to applications/browser-extension/src/bricks/readers/SelectionReader.ts index ea5190f803..9db3b0e789 100644 --- a/src/bricks/readers/SelectionReader.ts +++ b/applications/browser-extension/src/bricks/readers/SelectionReader.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import selectionController from "@/utils/selectionController"; -import { type Schema } from "@/types/schemaTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import selectionController from "../../utils/selectionController"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; export class SelectionReader extends ReaderABC { diff --git a/src/bricks/readers/SessionReader.ts b/applications/browser-extension/src/bricks/readers/SessionReader.ts similarity index 91% rename from src/bricks/readers/SessionReader.ts rename to applications/browser-extension/src/bricks/readers/SessionReader.ts index 754e7fa6d6..99a838b64c 100644 --- a/src/bricks/readers/SessionReader.ts +++ b/applications/browser-extension/src/bricks/readers/SessionReader.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import * as session from "@/contentScript/context"; -import { getExtensionAuth } from "@/auth/authStorage"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import * as session from "../../contentScript/context"; +import { getExtensionAuth } from "../../auth/authStorage"; import { type JsonObject } from "type-fest"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../types/schemaTypes"; class SessionReader extends ReaderABC { override defaultOutputKey = "session"; diff --git a/src/bricks/readers/TimestampReader.test.ts b/applications/browser-extension/src/bricks/readers/TimestampReader.test.ts similarity index 93% rename from src/bricks/readers/TimestampReader.test.ts rename to applications/browser-extension/src/bricks/readers/TimestampReader.test.ts index 5034ec773f..3bf0026835 100644 --- a/src/bricks/readers/TimestampReader.test.ts +++ b/applications/browser-extension/src/bricks/readers/TimestampReader.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import TimestampReader from "@/bricks/readers/TimestampReader"; +import TimestampReader from "./TimestampReader"; describe("TimestampReader", () => { test("generates equivalent timestamps", async () => { diff --git a/src/bricks/readers/TimestampReader.ts b/applications/browser-extension/src/bricks/readers/TimestampReader.ts similarity index 90% rename from src/bricks/readers/TimestampReader.ts rename to applications/browser-extension/src/bricks/readers/TimestampReader.ts index 1b700f9e36..401af8b219 100644 --- a/src/bricks/readers/TimestampReader.ts +++ b/applications/browser-extension/src/bricks/readers/TimestampReader.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { ReaderABC } from "../../types/bricks/readerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; class TimestampReader extends ReaderABC { override defaultOutputKey = "instant"; diff --git a/src/bricks/readers/factory.ts b/applications/browser-extension/src/bricks/readers/factory.ts similarity index 87% rename from src/bricks/readers/factory.ts rename to applications/browser-extension/src/bricks/readers/factory.ts index 7d14251a13..cf137eb52f 100644 --- a/src/bricks/readers/factory.ts +++ b/applications/browser-extension/src/bricks/readers/factory.ts @@ -18,22 +18,22 @@ import { checkAvailable } from "@/bricks/available"; import type { BrickConfig } from "@/bricks/types"; import { cloneDeep } from "lodash"; -import { InvalidDefinitionError } from "@/errors/businessErrors"; -import { type ApiVersion, type SelectorRoot } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { InvalidDefinitionError } from "../../errors/businessErrors"; +import { type ApiVersion, type SelectorRoot } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; -import { type Reader, ReaderABC } from "@/types/bricks/readerTypes"; +import { type Reader, ReaderABC } from "../../types/bricks/readerTypes"; import { type DefinitionKinds, type Metadata, type SemVerString, -} from "@/types/registryTypes"; +} from "../../types/registryTypes"; import { PAGE_SCRIPT_CAPABILITIES, type PlatformCapability, -} from "@/platform/capabilities"; -import { validatePackageDefinition } from "@/validators/schemaValidator"; -import { type Availability } from "@/types/availabilityTypes"; +} from "../../platform/capabilities"; +import { validatePackageDefinition } from "../../validators/schemaValidator"; +import { type Availability } from "../../types/availabilityTypes"; export interface ReaderTypeConfig { type: string; diff --git a/src/bricks/readers/frameworkReader.ts b/applications/browser-extension/src/bricks/readers/frameworkReader.ts similarity index 90% rename from src/bricks/readers/frameworkReader.ts rename to applications/browser-extension/src/bricks/readers/frameworkReader.ts index 88fd127c26..85aeea065f 100644 --- a/src/bricks/readers/frameworkReader.ts +++ b/applications/browser-extension/src/bricks/readers/frameworkReader.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { type Read } from "@/bricks/readers/factory"; -import { type Framework } from "@/pageScript/messenger/constants"; +import { type Read } from "./factory"; +import { type Framework } from "../../pageScript/messenger/constants"; import { getCssSelector } from "css-selector-generator"; import { castArray, compact } from "lodash"; -import { getComponentData, type ReadPayload } from "@/pageScript/messenger/api"; -import { type SelectorRoot } from "@/types/runtimeTypes"; +import { getComponentData, type ReadPayload } from "../../pageScript/messenger/api"; +import { type SelectorRoot } from "../../types/runtimeTypes"; import { type JsonObject } from "type-fest"; export type FrameworkConfig = ReadPayload & { diff --git a/src/bricks/readers/getAllReaders.ts b/applications/browser-extension/src/bricks/readers/getAllReaders.ts similarity index 95% rename from src/bricks/readers/getAllReaders.ts rename to applications/browser-extension/src/bricks/readers/getAllReaders.ts index 7d52cf23e7..7baff0c3a8 100644 --- a/src/bricks/readers/getAllReaders.ts +++ b/applications/browser-extension/src/bricks/readers/getAllReaders.ts @@ -24,14 +24,14 @@ import { ImageExifReader } from "./ImageExifReader"; import { ElementReader } from "./ElementReader"; import { type Read, registerFactory } from "./factory"; import { type FrameworkConfig, frameworkReadFactory } from "./frameworkReader"; -import { readJQuery } from "@/bricks/readers/jquery"; +import { readJQuery } from "./jquery"; import { HtmlReader } from "./HtmlReader"; import DocumentReader from "./DocumentReader"; import ManifestReader from "./ManifestReader"; import ProfileReader from "./ProfileReader"; import SessionReader from "./SessionReader"; import TimestampReader from "./TimestampReader"; -import { type Brick } from "@/types/brickTypes"; +import { type Brick } from "../../types/brickTypes"; function getAllReaders(): Brick[] { return [ diff --git a/src/bricks/readers/jquery.test.ts b/applications/browser-extension/src/bricks/readers/jquery.test.ts similarity index 97% rename from src/bricks/readers/jquery.test.ts rename to applications/browser-extension/src/bricks/readers/jquery.test.ts index 6d64441238..4456f3d502 100644 --- a/src/bricks/readers/jquery.test.ts +++ b/applications/browser-extension/src/bricks/readers/jquery.test.ts @@ -1,4 +1,4 @@ -import { readJQuery } from "@/bricks/readers/jquery"; +import { readJQuery } from "./jquery"; describe("jquery", () => { it("reads data attribute", async () => { diff --git a/src/bricks/readers/jquery.ts b/applications/browser-extension/src/bricks/readers/jquery.ts similarity index 97% rename from src/bricks/readers/jquery.ts rename to applications/browser-extension/src/bricks/readers/jquery.ts index 00a1a66fb0..2dd1e9c787 100644 --- a/src/bricks/readers/jquery.ts +++ b/applications/browser-extension/src/bricks/readers/jquery.ts @@ -18,9 +18,9 @@ import { BusinessError, MultipleElementsFoundError, -} from "@/errors/businessErrors"; -import { asyncMapValues, pollUntilTruthy } from "@/utils/promiseUtils"; -import { $safeFind } from "@/utils/domUtils"; +} from "../../errors/businessErrors"; +import { asyncMapValues, pollUntilTruthy } from "../../utils/promiseUtils"; +import { $safeFind } from "../../utils/domUtils"; type CastType = "string" | "boolean" | "number"; diff --git a/src/bricks/readers/readerUtils.ts b/applications/browser-extension/src/bricks/readers/readerUtils.ts similarity index 100% rename from src/bricks/readers/readerUtils.ts rename to applications/browser-extension/src/bricks/readers/readerUtils.ts diff --git a/src/bricks/readers/window.ts b/applications/browser-extension/src/bricks/readers/window.ts similarity index 90% rename from src/bricks/readers/window.ts rename to applications/browser-extension/src/bricks/readers/window.ts index 0b687a50a3..e362dd9bc3 100644 --- a/src/bricks/readers/window.ts +++ b/applications/browser-extension/src/bricks/readers/window.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { withReadWindow } from "@/pageScript/messenger/api"; -import { registerFactory } from "@/bricks/readers/factory"; +import { withReadWindow } from "../../pageScript/messenger/api"; +import { registerFactory } from "./factory"; import { type JsonObject } from "type-fest"; -import { isObject } from "@/utils/objectUtils"; +import { isObject } from "../../utils/objectUtils"; type PathSpecObj = Record; export type PathSpec = string | PathSpecObj; diff --git a/src/bricks/registerBuiltinBricks.ts b/applications/browser-extension/src/bricks/registerBuiltinBricks.ts similarity index 94% rename from src/bricks/registerBuiltinBricks.ts rename to applications/browser-extension/src/bricks/registerBuiltinBricks.ts index 3185889b07..a4267d5d63 100644 --- a/src/bricks/registerBuiltinBricks.ts +++ b/applications/browser-extension/src/bricks/registerBuiltinBricks.ts @@ -20,8 +20,8 @@ import getAllTransformers from "./transformers/getAllTransformers"; import getAllRenderers from "./renderers/getAllRenderers"; import getAllReaders, { registerReaderFactories, -} from "@/bricks/readers/getAllReaders"; -import brickRegistry from "@/bricks/registry"; +} from "./readers/getAllReaders"; +import brickRegistry from "./registry"; let registered = false; diff --git a/src/bricks/registry.test.ts b/applications/browser-extension/src/bricks/registry.test.ts similarity index 92% rename from src/bricks/registry.test.ts rename to applications/browser-extension/src/bricks/registry.test.ts index 56d7b65e86..d2410a0c8a 100644 --- a/src/bricks/registry.test.ts +++ b/applications/browser-extension/src/bricks/registry.test.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import bricksRegistry from "@/bricks/registry"; -import { registry as backgroundRegistry } from "@/background/messenger/api"; -import { echoBrick } from "@/runtime/pipelineTests/testHelpers"; -import { type PackageVersion, parsePackage } from "@/registry/packageRegistry"; +import bricksRegistry from "./registry"; +import { registry as backgroundRegistry } from "../background/messenger/api"; +import { echoBrick } from "../runtime/pipelineTests/testHelpers"; +import { type PackageVersion, parsePackage } from "../registry/packageRegistry"; import { brickDefinitionFactory, readerBrickFactory, -} from "@/testUtils/factories/brickFactories"; +} from "../testUtils/factories/brickFactories"; import { array } from "cooky-cutter"; -import type { BrickDefinition } from "@/bricks/transformers/brickFactory"; +import type { BrickDefinition } from "./transformers/brickFactory"; import type { RegistryId } from "@/types/registryTypes"; const backgroundGetByKindsMock = jest.mocked(backgroundRegistry.getByKinds); diff --git a/src/bricks/registry.ts b/applications/browser-extension/src/bricks/registry.ts similarity index 92% rename from src/bricks/registry.ts rename to applications/browser-extension/src/bricks/registry.ts index 291611f8c1..f1d778be53 100644 --- a/src/bricks/registry.ts +++ b/applications/browser-extension/src/bricks/registry.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import MemoryRegistry from "@/registry/memoryRegistry"; -import { fromJS } from "@/bricks/transformers/brickFactory"; -import { type BrickType } from "@/runtime/runtimeTypes"; -import getType from "@/runtime/getType"; +import MemoryRegistry from "../registry/memoryRegistry"; +import { fromJS } from "./transformers/brickFactory"; +import { type BrickType } from "../runtime/runtimeTypes"; +import getType from "../runtime/getType"; import { DefinitionKinds, type RegistryId } from "@/types/registryTypes"; import { type Brick } from "@/types/brickTypes"; import { partial } from "lodash"; -import { allSettled } from "@/utils/promiseUtils"; +import { allSettled } from "../utils/promiseUtils"; /** * A brick along with inferred/calculated information diff --git a/src/bricks/renderers/CustomFormComponent.test.tsx b/applications/browser-extension/src/bricks/renderers/CustomFormComponent.test.tsx similarity index 97% rename from src/bricks/renderers/CustomFormComponent.test.tsx rename to applications/browser-extension/src/bricks/renderers/CustomFormComponent.test.tsx index ba2386cb11..cef3170b3b 100644 --- a/src/bricks/renderers/CustomFormComponent.test.tsx +++ b/applications/browser-extension/src/bricks/renderers/CustomFormComponent.test.tsx @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import CustomFormComponent from "@/bricks/renderers/CustomFormComponent"; +import CustomFormComponent from "./CustomFormComponent"; import { normalizeOutgoingFormData, normalizeIncomingFormData, -} from "@/bricks/renderers/customForm"; +} from "./customForm"; import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import React from "react"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; describe("CustomFormComponent", () => { diff --git a/src/bricks/renderers/CustomFormComponent.tsx b/applications/browser-extension/src/bricks/renderers/CustomFormComponent.tsx similarity index 85% rename from src/bricks/renderers/CustomFormComponent.tsx rename to applications/browser-extension/src/bricks/renderers/CustomFormComponent.tsx index dd32c8ace6..409200bed5 100644 --- a/src/bricks/renderers/CustomFormComponent.tsx +++ b/applications/browser-extension/src/bricks/renderers/CustomFormComponent.tsx @@ -15,27 +15,27 @@ * along with this program. If not, see . */ -import "@/vendors/bootstrapWithoutRem.css"; -import "@/sidebar/sidebarBootstrapOverrides.scss"; -import "@/bricks/renderers/customForm.css"; +import "../../vendors/bootstrapWithoutRem.css"; +import "../../sidebar/sidebarBootstrapOverrides.scss"; +import "./customForm.css"; import React, { useEffect, useRef, useState } from "react"; -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { type Schema, type UiSchema } from "../../types/schemaTypes"; import { type JsonObject } from "type-fest"; import cx from "classnames"; -import ErrorBoundary from "@/components/ErrorBoundary"; -import { Stylesheets } from "@/components/Stylesheets"; +import ErrorBoundary from "../../components/ErrorBoundary"; +import { Stylesheets } from "../../components/Stylesheets"; import JsonSchemaForm from "@rjsf/bootstrap-4"; -import validator from "@/validators/formValidator"; +import validator from "../../validators/formValidator"; import { type IChangeEvent } from "@rjsf/core"; -import { templates } from "@/components/formBuilder/RjsfTemplates"; -import ImageCropWidget from "@/components/formBuilder/widgets/ImageCropWidget"; -import RjsfSelectWidget from "@/components/formBuilder/widgets/RjsfSelectWidget"; -import DescriptionField from "@/components/formBuilder/DescriptionField"; -import TextAreaWidget from "@/components/formBuilder/widgets/TextAreaWidget"; -import RjsfSubmitContext from "@/components/formBuilder/RjsfSubmitContext"; +import { templates } from "../../components/formBuilder/RjsfTemplates"; +import ImageCropWidget from "../../components/formBuilder/widgets/ImageCropWidget"; +import RjsfSelectWidget from "../../components/formBuilder/widgets/RjsfSelectWidget"; +import DescriptionField from "../../components/formBuilder/DescriptionField"; +import TextAreaWidget from "../../components/formBuilder/widgets/TextAreaWidget"; +import RjsfSubmitContext from "../../components/formBuilder/RjsfSubmitContext"; import { cloneDeep } from "lodash"; -import { useStylesheetsContextWithFormDefault } from "@/components/StylesheetsContext"; -import RichTextWidget from "@/components/formBuilder/widgets/RichTextWidget"; +import { useStylesheetsContextWithFormDefault } from "../../components/StylesheetsContext"; +import RichTextWidget from "../../components/formBuilder/widgets/RichTextWidget"; const FIELDS = { DescriptionField, diff --git a/src/bricks/renderers/HtmlRenderer.test.ts b/applications/browser-extension/src/bricks/renderers/HtmlRenderer.test.ts similarity index 92% rename from src/bricks/renderers/HtmlRenderer.test.ts rename to applications/browser-extension/src/bricks/renderers/HtmlRenderer.test.ts index 4a4b547c62..1bc9ef24b5 100644 --- a/src/bricks/renderers/HtmlRenderer.test.ts +++ b/applications/browser-extension/src/bricks/renderers/HtmlRenderer.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import HtmlRenderer from "@/bricks/renderers/HtmlRenderer"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import HtmlRenderer from "./HtmlRenderer"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new HtmlRenderer(); diff --git a/src/bricks/renderers/HtmlRenderer.ts b/applications/browser-extension/src/bricks/renderers/HtmlRenderer.ts similarity index 81% rename from src/bricks/renderers/HtmlRenderer.ts rename to applications/browser-extension/src/bricks/renderers/HtmlRenderer.ts index e13e28500c..970e4b77ce 100644 --- a/src/bricks/renderers/HtmlRenderer.ts +++ b/applications/browser-extension/src/bricks/renderers/HtmlRenderer.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { RendererABC } from "@/types/bricks/rendererTypes"; -import sanitize, { ADD_IFRAME_CONFIG } from "@/utils/sanitize"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type SafeHTML } from "@/types/stringTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { RendererABC } from "../../types/bricks/rendererTypes"; +import sanitize, { ADD_IFRAME_CONFIG } from "../../utils/sanitize"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type SafeHTML } from "../../types/stringTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class HtmlRenderer extends RendererABC { static BRICK_ID = validateRegistryId("@pixiebrix/html"); diff --git a/src/bricks/renderers/MarkdownRenderer.test.tsx b/applications/browser-extension/src/bricks/renderers/MarkdownRenderer.test.tsx similarity index 94% rename from src/bricks/renderers/MarkdownRenderer.test.tsx rename to applications/browser-extension/src/bricks/renderers/MarkdownRenderer.test.tsx index d4532d5889..d79121a984 100644 --- a/src/bricks/renderers/MarkdownRenderer.test.tsx +++ b/applications/browser-extension/src/bricks/renderers/MarkdownRenderer.test.tsx @@ -16,8 +16,8 @@ */ import React from "react"; -import MarkdownRenderer from "@/bricks/renderers/MarkdownRenderer"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import MarkdownRenderer from "./MarkdownRenderer"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; import { render, screen } from "@testing-library/react"; const brick = new MarkdownRenderer(); diff --git a/src/bricks/renderers/MarkdownRenderer.ts b/applications/browser-extension/src/bricks/renderers/MarkdownRenderer.ts similarity index 82% rename from src/bricks/renderers/MarkdownRenderer.ts rename to applications/browser-extension/src/bricks/renderers/MarkdownRenderer.ts index 41012756e1..69e7982375 100644 --- a/src/bricks/renderers/MarkdownRenderer.ts +++ b/applications/browser-extension/src/bricks/renderers/MarkdownRenderer.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { RendererABC } from "@/types/bricks/rendererTypes"; -import { validateRegistryId } from "@/types/helpers"; -import MarkdownLazy from "@/components/Markdown"; -import { type BrickArgs, type ComponentRef } from "@/types/runtimeTypes"; -import { ADD_IFRAME_CONFIG } from "@/utils/sanitize"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { RendererABC } from "../../types/bricks/rendererTypes"; +import { validateRegistryId } from "../../types/helpers"; +import MarkdownLazy from "../../components/Markdown"; +import { type BrickArgs, type ComponentRef } from "../../types/runtimeTypes"; +import { ADD_IFRAME_CONFIG } from "../../utils/sanitize"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class MarkdownRenderer extends RendererABC { static BRICK_ID = validateRegistryId("@pixiebrix/markdown"); diff --git a/src/bricks/renderers/PropertyTree.tsx b/applications/browser-extension/src/bricks/renderers/PropertyTree.tsx similarity index 100% rename from src/bricks/renderers/PropertyTree.tsx rename to applications/browser-extension/src/bricks/renderers/PropertyTree.tsx diff --git a/src/bricks/renderers/__snapshots__/customForm.test.tsx.snap b/applications/browser-extension/src/bricks/renderers/__snapshots__/customForm.test.tsx.snap similarity index 100% rename from src/bricks/renderers/__snapshots__/customForm.test.tsx.snap rename to applications/browser-extension/src/bricks/renderers/__snapshots__/customForm.test.tsx.snap diff --git a/src/bricks/renderers/__snapshots__/table.test.ts.snap b/applications/browser-extension/src/bricks/renderers/__snapshots__/table.test.ts.snap similarity index 100% rename from src/bricks/renderers/__snapshots__/table.test.ts.snap rename to applications/browser-extension/src/bricks/renderers/__snapshots__/table.test.ts.snap diff --git a/src/bricks/renderers/customForm.css b/applications/browser-extension/src/bricks/renderers/customForm.css similarity index 100% rename from src/bricks/renderers/customForm.css rename to applications/browser-extension/src/bricks/renderers/customForm.css diff --git a/src/bricks/renderers/customForm.test.tsx b/applications/browser-extension/src/bricks/renderers/customForm.test.tsx similarity index 92% rename from src/bricks/renderers/customForm.test.tsx rename to applications/browser-extension/src/bricks/renderers/customForm.test.tsx index 5c108dc5bf..3c272a629e 100644 --- a/src/bricks/renderers/customForm.test.tsx +++ b/applications/browser-extension/src/bricks/renderers/customForm.test.tsx @@ -18,33 +18,33 @@ import React from "react"; import { render } from "@testing-library/react"; import { screen } from "shadow-dom-testing-library"; -import ImageCropWidget from "@/components/formBuilder/widgets/ImageCropWidget"; -import DescriptionField from "@/components/formBuilder/DescriptionField"; +import ImageCropWidget from "../../components/formBuilder/widgets/ImageCropWidget"; +import DescriptionField from "../../components/formBuilder/DescriptionField"; import JsonSchemaForm from "@rjsf/bootstrap-4"; -import validator from "@/validators/formValidator"; +import validator from "../../validators/formValidator"; import { CustomFormRenderer, normalizeIncomingFormData, normalizeOutgoingFormData, } from "./customForm"; import userEvent from "@testing-library/user-event"; -import { type Schema } from "@/types/schemaTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { templates } from "@/components/formBuilder/RjsfTemplates"; -import { toExpression } from "@/utils/expressionUtils"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { templates } from "../../components/formBuilder/RjsfTemplates"; +import { toExpression } from "../../utils/expressionUtils"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; import { TEST_resetStateController, getState, setState, -} from "@/contentScript/stateController/stateController"; -import type { Target } from "@/types/messengerTypes"; -import { StateNamespaces } from "@/platform/state/stateTypes"; +} from "../../contentScript/stateController/stateController"; +import type { Target } from "../../types/messengerTypes"; +import { StateNamespaces } from "../../platform/state/stateTypes"; const brick = new CustomFormRenderer(); // CustomForm uses @/contentScript/messenger/api instead of the platform API -jest.mock("@/contentScript/messenger/api", () => ({ +jest.mock("../../contentScript/messenger/api", () => ({ getPageState: jest.fn(async (_: Target, args: any) => getState(args)), setPageState: jest.fn(async (_: Target, args: any) => setState(args)), })); diff --git a/src/bricks/renderers/customForm.tsx b/applications/browser-extension/src/bricks/renderers/customForm.tsx similarity index 95% rename from src/bricks/renderers/customForm.tsx rename to applications/browser-extension/src/bricks/renderers/customForm.tsx index 4fbdfd26cb..ab38b10b1d 100644 --- a/src/bricks/renderers/customForm.tsx +++ b/applications/browser-extension/src/bricks/renderers/customForm.tsx @@ -17,18 +17,18 @@ import React from "react"; import { type Except, type JsonObject } from "type-fest"; -import { validateRegistryId } from "@/types/helpers"; -import { BusinessError, PropError } from "@/errors/businessErrors"; -import { getPageState, setPageState } from "@/contentScript/messenger/api"; +import { validateRegistryId } from "../../types/helpers"; +import { BusinessError, PropError } from "../../errors/businessErrors"; +import { getPageState, setPageState } from "../../contentScript/messenger/api"; import { isEmpty, isPlainObject, set } from "lodash"; -import { getConnectedTarget } from "@/sidebar/connectedTarget"; -import { type UUID } from "@/types/stringTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { getConnectedTarget } from "../../sidebar/connectedTarget"; +import { type UUID } from "../../types/stringTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; import { type Schema, SCHEMA_ALLOW_ANY, type UiSchema, -} from "@/types/schemaTypes"; +} from "../../types/schemaTypes"; import { type BrickArgs, type BrickOptions, @@ -44,15 +44,15 @@ import { isExpression } from "@/utils/expressionUtils"; import { getPlatform } from "@/platform/platformContext"; import IsolatedComponent from "@/components/IsolatedComponent"; import { type CustomFormComponentProps } from "./CustomFormComponent"; -import { PIXIEBRIX_INTEGRATION_FIELD_SCHEMA } from "@/integrations/constants"; -import { assumeNotNullish_UNSAFE } from "@/utils/nullishUtils"; -import { type ModComponentRef } from "@/types/modComponentTypes"; +import { PIXIEBRIX_INTEGRATION_FIELD_SCHEMA } from "../../integrations/constants"; +import { assumeNotNullish_UNSAFE } from "../../utils/nullishUtils"; +import { type ModComponentRef } from "../../types/modComponentTypes"; import { MergeStrategies, type StateNamespace, StateNamespaces, -} from "@/platform/state/stateTypes"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../../platform/state/stateTypes"; +import { API_PATHS } from "../../data/service/urlPaths"; interface DatabaseResult { success: boolean; diff --git a/src/bricks/renderers/dataTable.ts b/applications/browser-extension/src/bricks/renderers/dataTable.ts similarity index 94% rename from src/bricks/renderers/dataTable.ts rename to applications/browser-extension/src/bricks/renderers/dataTable.ts index d05df08688..3b2c5217ce 100644 --- a/src/bricks/renderers/dataTable.ts +++ b/applications/browser-extension/src/bricks/renderers/dataTable.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type SafeHTML } from "@/types/stringTypes"; -import sanitize from "@/utils/sanitize"; -import { BusinessError } from "@/errors/businessErrors"; -import { isUnknownObjectArray } from "@/utils/objectUtils"; +import { type SafeHTML } from "../../types/stringTypes"; +import sanitize from "../../utils/sanitize"; +import { BusinessError } from "../../errors/businessErrors"; +import { isUnknownObjectArray } from "../../utils/objectUtils"; // eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style -- Record<> doesn't allow labelled keys export interface Row { diff --git a/src/bricks/renderers/document.tsx b/applications/browser-extension/src/bricks/renderers/document.tsx similarity index 91% rename from src/bricks/renderers/document.tsx rename to applications/browser-extension/src/bricks/renderers/document.tsx index 2fb178e192..16dfdc9320 100644 --- a/src/bricks/renderers/document.tsx +++ b/applications/browser-extension/src/bricks/renderers/document.tsx @@ -16,19 +16,19 @@ */ import React from "react"; -import { RendererABC } from "@/types/bricks/rendererTypes"; -import { validateRegistryId } from "@/types/helpers"; +import { RendererABC } from "../../types/bricks/rendererTypes"; +import { validateRegistryId } from "../../types/helpers"; import { type BrickArgs, type BrickOptions, type ComponentRef, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +} from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { DOCUMENT_BUILDER_ELEMENT_TYPES, type DocumentBuilderElement, -} from "@/pageEditor/documentBuilder/documentBuilderTypes"; -import IsolatedComponent from "@/components/IsolatedComponent"; +} from "../../pageEditor/documentBuilder/documentBuilderTypes"; +import IsolatedComponent from "../../components/IsolatedComponent"; import { type DocumentViewProps } from "./documentView/DocumentViewProps"; export const DOCUMENT_SCHEMA: Schema = { diff --git a/src/bricks/renderers/documentView/DocumentView.tsx b/applications/browser-extension/src/bricks/renderers/documentView/DocumentView.tsx similarity index 83% rename from src/bricks/renderers/documentView/DocumentView.tsx rename to applications/browser-extension/src/bricks/renderers/documentView/DocumentView.tsx index 18d1aeb016..ff4710b31c 100644 --- a/src/bricks/renderers/documentView/DocumentView.tsx +++ b/applications/browser-extension/src/bricks/renderers/documentView/DocumentView.tsx @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import "@/vendors/bootstrapWithoutRem.css"; -import "@/sidebar/sidebarBootstrapOverrides.scss"; -import { buildDocumentBuilderSubtree } from "@/pageEditor/documentBuilder/documentTree"; +import "../../../vendors/bootstrapWithoutRem.css"; +import "../../../sidebar/sidebarBootstrapOverrides.scss"; +import { buildDocumentBuilderSubtree } from "../../../pageEditor/documentBuilder/documentTree"; import React from "react"; import { type DocumentViewProps } from "./DocumentViewProps"; -import DocumentContext from "@/pageEditor/documentBuilder/render/DocumentContext"; -import { Stylesheets } from "@/components/Stylesheets"; -import { joinPathParts } from "@/utils/formUtils"; +import DocumentContext from "../../../pageEditor/documentBuilder/render/DocumentContext"; +import { Stylesheets } from "../../../components/Stylesheets"; +import { joinPathParts } from "../../../utils/formUtils"; import StylesheetsContext, { useStylesheetsContextWithDocumentDefault, -} from "@/components/StylesheetsContext"; -import { assertNotNullish } from "@/utils/nullishUtils"; +} from "../../../components/StylesheetsContext"; +import { assertNotNullish } from "../../../utils/nullishUtils"; const DocumentView: React.FC = ({ body, diff --git a/src/bricks/renderers/documentView/DocumentViewProps.tsx b/applications/browser-extension/src/bricks/renderers/documentView/DocumentViewProps.tsx similarity index 87% rename from src/bricks/renderers/documentView/DocumentViewProps.tsx rename to applications/browser-extension/src/bricks/renderers/documentView/DocumentViewProps.tsx index d411002970..2b0ad20f11 100644 --- a/src/bricks/renderers/documentView/DocumentViewProps.tsx +++ b/applications/browser-extension/src/bricks/renderers/documentView/DocumentViewProps.tsx @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type DocumentBuilderElement } from "@/pageEditor/documentBuilder/documentBuilderTypes"; -import { type SubmitPanelAction } from "@/bricks/errors"; +import { type DocumentBuilderElement } from "../../../pageEditor/documentBuilder/documentBuilderTypes"; +import { type SubmitPanelAction } from "../../errors"; import { type BrickArgsContext, type BrickOptions, type RunMetadata, -} from "@/types/runtimeTypes"; +} from "../../../types/runtimeTypes"; export type DocumentViewProps = { /** diff --git a/src/bricks/renderers/getAllRenderers.ts b/applications/browser-extension/src/bricks/renderers/getAllRenderers.ts similarity index 96% rename from src/bricks/renderers/getAllRenderers.ts rename to applications/browser-extension/src/bricks/renderers/getAllRenderers.ts index 07dc69d29e..d3577f679d 100644 --- a/src/bricks/renderers/getAllRenderers.ts +++ b/applications/browser-extension/src/bricks/renderers/getAllRenderers.ts @@ -22,7 +22,7 @@ import { PropertyTableRenderer } from "./propertyTable"; import { CustomFormRenderer } from "./customForm"; import { TableRenderer } from "./table"; import { DocumentRenderer } from "./document"; -import { type Brick } from "@/types/brickTypes"; +import { type Brick } from "../../types/brickTypes"; function getAllRenderers(): Brick[] { return [ diff --git a/src/bricks/renderers/iframe.ts b/applications/browser-extension/src/bricks/renderers/iframe.ts similarity index 91% rename from src/bricks/renderers/iframe.ts rename to applications/browser-extension/src/bricks/renderers/iframe.ts index 348e0f4534..73dd8676f7 100644 --- a/src/bricks/renderers/iframe.ts +++ b/applications/browser-extension/src/bricks/renderers/iframe.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { RendererABC } from "@/types/bricks/rendererTypes"; -import { assumeSafe } from "@/utils/sanitize"; -import { type Schema } from "@/types/schemaTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type SafeHTML } from "@/types/stringTypes"; +import { RendererABC } from "../../types/bricks/rendererTypes"; +import { assumeSafe } from "../../utils/sanitize"; +import { type Schema } from "../../types/schemaTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type SafeHTML } from "../../types/stringTypes"; export class IFrameRenderer extends RendererABC { constructor() { diff --git a/src/bricks/renderers/propertyTable.tsx b/applications/browser-extension/src/bricks/renderers/propertyTable.tsx similarity index 89% rename from src/bricks/renderers/propertyTable.tsx rename to applications/browser-extension/src/bricks/renderers/propertyTable.tsx index 2c5a556ae1..844fa1f79e 100644 --- a/src/bricks/renderers/propertyTable.tsx +++ b/applications/browser-extension/src/bricks/renderers/propertyTable.tsx @@ -16,14 +16,14 @@ */ import React from "react"; -import { RendererABC } from "@/types/bricks/rendererTypes"; +import { RendererABC } from "../../types/bricks/rendererTypes"; import { sortBy, isPlainObject } from "lodash"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { canParseUrl } from "@/utils/urlUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import IsolatedComponent from "@/components/IsolatedComponent"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { canParseUrl } from "../../utils/urlUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import IsolatedComponent from "../../components/IsolatedComponent"; import type TreeNode from "primereact/treenode"; -import { isObject } from "@/utils/objectUtils"; +import { isObject } from "../../utils/objectUtils"; interface Item { key: string; diff --git a/src/bricks/renderers/table.test.ts b/applications/browser-extension/src/bricks/renderers/table.test.ts similarity index 90% rename from src/bricks/renderers/table.test.ts rename to applications/browser-extension/src/bricks/renderers/table.test.ts index 2f76f9eb62..6b9320fc18 100644 --- a/src/bricks/renderers/table.test.ts +++ b/applications/browser-extension/src/bricks/renderers/table.test.ts @@ -16,8 +16,8 @@ */ import { TableRenderer } from "./table"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; describe("parse compile error", () => { test("null data", async () => { diff --git a/src/bricks/renderers/table.tsx b/applications/browser-extension/src/bricks/renderers/table.tsx similarity index 88% rename from src/bricks/renderers/table.tsx rename to applications/browser-extension/src/bricks/renderers/table.tsx index ddaf819646..0e343ee899 100644 --- a/src/bricks/renderers/table.tsx +++ b/applications/browser-extension/src/bricks/renderers/table.tsx @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { RendererABC } from "@/types/bricks/rendererTypes"; +import { RendererABC } from "../../types/bricks/rendererTypes"; import makeDataTable, { type ColumnDefinition, type Row, -} from "@/bricks/renderers/dataTable"; -import { BusinessError } from "@/errors/businessErrors"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type SafeHTML } from "@/types/stringTypes"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { isObject } from "@/utils/objectUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "./dataTable"; +import { BusinessError } from "../../errors/businessErrors"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type SafeHTML } from "../../types/stringTypes"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import { isObject } from "../../utils/objectUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; function makeLinkRenderer(href: string) { return (value: unknown, row: Row) => { diff --git a/src/bricks/rootModeHelpers.ts b/applications/browser-extension/src/bricks/rootModeHelpers.ts similarity index 95% rename from src/bricks/rootModeHelpers.ts rename to applications/browser-extension/src/bricks/rootModeHelpers.ts index f7c5c8b71e..0d7dfa12aa 100644 --- a/src/bricks/rootModeHelpers.ts +++ b/applications/browser-extension/src/bricks/rootModeHelpers.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { PropError } from "@/errors/businessErrors"; +import { PropError } from "../errors/businessErrors"; import { type SelectorRoot } from "@/types/runtimeTypes"; import { type RegistryId } from "@/types/registryTypes"; -import { $safeFind } from "@/utils/domUtils"; +import { $safeFind } from "../utils/domUtils"; /** * Special prop used to upgrade DOM bricks to be root-aware diff --git a/src/bricks/transformers/FormData.test.ts b/applications/browser-extension/src/bricks/transformers/FormData.test.ts similarity index 96% rename from src/bricks/transformers/FormData.test.ts rename to applications/browser-extension/src/bricks/transformers/FormData.test.ts index 245a6af4fe..13921f0b7a 100644 --- a/src/bricks/transformers/FormData.test.ts +++ b/applications/browser-extension/src/bricks/transformers/FormData.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; import { FormData } from "./FormData"; import { html } from "code-tag"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; describe("FormData block", () => { test("Basic form serialization", async () => { diff --git a/src/bricks/transformers/FormData.ts b/applications/browser-extension/src/bricks/transformers/FormData.ts similarity index 89% rename from src/bricks/transformers/FormData.ts rename to applications/browser-extension/src/bricks/transformers/FormData.ts index 5b5a06bd81..ccc2e57f8c 100644 --- a/src/bricks/transformers/FormData.ts +++ b/applications/browser-extension/src/bricks/transformers/FormData.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { compact } from "lodash"; import { $safeFindElementsWithRootMode, IS_ROOT_AWARE_BRICK_PROPS, -} from "@/bricks/rootModeHelpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../rootModeHelpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; function isCheckbox( element: HTMLInputElement | HTMLTextAreaElement, diff --git a/src/bricks/transformers/GetBrickInterfaceTransformer.test.ts b/applications/browser-extension/src/bricks/transformers/GetBrickInterfaceTransformer.test.ts similarity index 81% rename from src/bricks/transformers/GetBrickInterfaceTransformer.test.ts rename to applications/browser-extension/src/bricks/transformers/GetBrickInterfaceTransformer.test.ts index d687a52a0f..38965eed39 100644 --- a/src/bricks/transformers/GetBrickInterfaceTransformer.test.ts +++ b/applications/browser-extension/src/bricks/transformers/GetBrickInterfaceTransformer.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; -import { echoBrick } from "@/runtime/pipelineTests/testHelpers"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import GetBrickInterfaceTransformer from "@/bricks/transformers/GetBrickInterfaceTransformer"; +import brickRegistry from "../registry"; +import { echoBrick } from "../../runtime/pipelineTests/testHelpers"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import GetBrickInterfaceTransformer from "./GetBrickInterfaceTransformer"; import { pick } from "lodash"; -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "../../errors/businessErrors"; const brick = new GetBrickInterfaceTransformer(brickRegistry); diff --git a/src/bricks/transformers/GetBrickInterfaceTransformer.ts b/applications/browser-extension/src/bricks/transformers/GetBrickInterfaceTransformer.ts similarity index 85% rename from src/bricks/transformers/GetBrickInterfaceTransformer.ts rename to applications/browser-extension/src/bricks/transformers/GetBrickInterfaceTransformer.ts index 4a740a0565..504cd123d9 100644 --- a/src/bricks/transformers/GetBrickInterfaceTransformer.ts +++ b/applications/browser-extension/src/bricks/transformers/GetBrickInterfaceTransformer.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import type { RegistryId, RegistryProtocol } from "@/types/registryTypes"; -import type { Brick } from "@/types/brickTypes"; -import { BusinessError, PropError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { validateRegistryId } from "../../types/helpers"; +import type { RegistryId, RegistryProtocol } from "../../types/registryTypes"; +import type { Brick } from "../../types/brickTypes"; +import { BusinessError, PropError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** * An experimental brick that returns the interface of a brick by its registry ID. diff --git a/src/bricks/transformers/IdentityTransformer.test.ts b/applications/browser-extension/src/bricks/transformers/IdentityTransformer.test.ts similarity index 85% rename from src/bricks/transformers/IdentityTransformer.test.ts rename to applications/browser-extension/src/bricks/transformers/IdentityTransformer.test.ts index c1dd8f0ee7..b507a6ca5c 100644 --- a/src/bricks/transformers/IdentityTransformer.test.ts +++ b/applications/browser-extension/src/bricks/transformers/IdentityTransformer.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { validateBrickInputOutput } from "@/validators/schemaValidator"; -import { throwIfInvalidInput } from "@/runtime/runtimeUtils"; -import { toExpression } from "@/utils/expressionUtils"; -import { type RenderedArgs } from "@/types/runtimeTypes"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import IdentityTransformer from "./IdentityTransformer"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { validateBrickInputOutput } from "../../validators/schemaValidator"; +import { throwIfInvalidInput } from "../../runtime/runtimeUtils"; +import { toExpression } from "../../utils/expressionUtils"; +import { type RenderedArgs } from "../../types/runtimeTypes"; const brick = new IdentityTransformer(); diff --git a/src/bricks/transformers/IdentityTransformer.ts b/applications/browser-extension/src/bricks/transformers/IdentityTransformer.ts similarity index 97% rename from src/bricks/transformers/IdentityTransformer.ts rename to applications/browser-extension/src/bricks/transformers/IdentityTransformer.ts index d294934fcc..a5bf234ea3 100644 --- a/src/bricks/transformers/IdentityTransformer.ts +++ b/applications/browser-extension/src/bricks/transformers/IdentityTransformer.ts @@ -21,7 +21,7 @@ import { type Schema } from "@/types/schemaTypes"; import { validateRegistryId } from "@/types/helpers"; import { type BrickConfig } from "@/bricks/types"; import { isPlainObject, mapValues } from "lodash"; -import { isExpression } from "@/utils/expressionUtils"; +import { isExpression } from "../../utils/expressionUtils"; class IdentityTransformer extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/identity"); diff --git a/src/bricks/transformers/IdentityTransformerOptions.test.tsx b/applications/browser-extension/src/bricks/transformers/IdentityTransformerOptions.test.tsx similarity index 73% rename from src/bricks/transformers/IdentityTransformerOptions.test.tsx rename to applications/browser-extension/src/bricks/transformers/IdentityTransformerOptions.test.tsx index 700db71b1b..8af846498b 100644 --- a/src/bricks/transformers/IdentityTransformerOptions.test.tsx +++ b/applications/browser-extension/src/bricks/transformers/IdentityTransformerOptions.test.tsx @@ -16,15 +16,15 @@ */ import React from "react"; -import { render } from "@/pageEditor/testHelpers"; -import IdentityTransformerOptions from "@/bricks/transformers/IdentityTransformerOptions"; -import { getExampleBrickConfig } from "@/bricks/exampleBrickConfigs"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; -import brickRegistry from "@/bricks/registry"; +import { render } from "../../pageEditor/testHelpers"; +import IdentityTransformerOptions from "./IdentityTransformerOptions"; +import { getExampleBrickConfig } from "../exampleBrickConfigs"; +import IdentityTransformer from "./IdentityTransformer"; +import brickRegistry from "../registry"; import { screen } from "@testing-library/react"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import registerEditors from "@/contrib/editors"; -import { toExpression } from "@/utils/expressionUtils"; +import registerDefaultWidgets from "../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import registerEditors from "../../contrib/editors"; +import { toExpression } from "../../utils/expressionUtils"; beforeAll(() => { brickRegistry.register([new IdentityTransformer()]); diff --git a/src/bricks/transformers/IdentityTransformerOptions.tsx b/applications/browser-extension/src/bricks/transformers/IdentityTransformerOptions.tsx similarity index 65% rename from src/bricks/transformers/IdentityTransformerOptions.tsx rename to applications/browser-extension/src/bricks/transformers/IdentityTransformerOptions.tsx index 4f2cc8c6d2..fd33f8af4f 100644 --- a/src/bricks/transformers/IdentityTransformerOptions.tsx +++ b/applications/browser-extension/src/bricks/transformers/IdentityTransformerOptions.tsx @@ -1,8 +1,8 @@ import React from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; -import { type Schema } from "@/types/schemaTypes"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { joinName } from "@/utils/formUtils"; +import { type BrickOptionProps } from "../../components/fields/schemaFields/genericOptionsFactory"; +import { type Schema } from "../../types/schemaTypes"; +import SchemaField from "../../components/fields/schemaFields/SchemaField"; +import { joinName } from "../../utils/formUtils"; const ANY_SCHEMA: Schema = { title: "Value", diff --git a/src/bricks/transformers/ParseJson.ts b/applications/browser-extension/src/bricks/transformers/ParseJson.ts similarity index 90% rename from src/bricks/transformers/ParseJson.ts rename to applications/browser-extension/src/bricks/transformers/ParseJson.ts index bb03d27e3d..c844ad3918 100644 --- a/src/bricks/transformers/ParseJson.ts +++ b/applications/browser-extension/src/bricks/transformers/ParseJson.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { BusinessError } from "@/errors/businessErrors"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { BusinessError } from "../../errors/businessErrors"; import { sortBy } from "lodash"; import { type JsonValue } from "type-fest"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; function extractJsonString(content: string): string { // https://regex101.com/library/sjOfeq?orderBy=MOST_POINTS&page=3&search=json diff --git a/src/bricks/transformers/RunBrickByIdTransformer.test.ts b/applications/browser-extension/src/bricks/transformers/RunBrickByIdTransformer.test.ts similarity index 82% rename from src/bricks/transformers/RunBrickByIdTransformer.test.ts rename to applications/browser-extension/src/bricks/transformers/RunBrickByIdTransformer.test.ts index a09349f960..71dfefd836 100644 --- a/src/bricks/transformers/RunBrickByIdTransformer.test.ts +++ b/applications/browser-extension/src/bricks/transformers/RunBrickByIdTransformer.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; -import { echoBrick, throwBrick } from "@/runtime/pipelineTests/testHelpers"; -import RunBrickByIdTransformer from "@/bricks/transformers/RunBrickByIdTransformer"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { InputValidationError } from "@/bricks/errors"; -import { BusinessError } from "@/errors/businessErrors"; +import brickRegistry from "../registry"; +import { echoBrick, throwBrick } from "../../runtime/pipelineTests/testHelpers"; +import RunBrickByIdTransformer from "./RunBrickByIdTransformer"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { InputValidationError } from "../errors"; +import { BusinessError } from "../../errors/businessErrors"; const brick = new RunBrickByIdTransformer(brickRegistry); diff --git a/src/bricks/transformers/RunBrickByIdTransformer.ts b/applications/browser-extension/src/bricks/transformers/RunBrickByIdTransformer.ts similarity index 82% rename from src/bricks/transformers/RunBrickByIdTransformer.ts rename to applications/browser-extension/src/bricks/transformers/RunBrickByIdTransformer.ts index fd3e4b44f7..5961acdcaf 100644 --- a/src/bricks/transformers/RunBrickByIdTransformer.ts +++ b/applications/browser-extension/src/bricks/transformers/RunBrickByIdTransformer.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; import { type BrickArgs, type BrickOptions, type RenderedArgs, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import type { RegistryId, RegistryProtocol } from "@/types/registryTypes"; -import type { Brick } from "@/types/brickTypes"; -import { BusinessError, PropError } from "@/errors/businessErrors"; -import { throwIfInvalidInput } from "@/runtime/runtimeUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { validateRegistryId } from "../../types/helpers"; +import type { RegistryId, RegistryProtocol } from "../../types/registryTypes"; +import type { Brick } from "../../types/brickTypes"; +import { BusinessError, PropError } from "../../errors/businessErrors"; +import { throwIfInvalidInput } from "../../runtime/runtimeUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** * An experimental brick that runs a brick by its registry ID. diff --git a/src/bricks/transformers/RunMetadataTransformer.test.ts b/applications/browser-extension/src/bricks/transformers/RunMetadataTransformer.test.ts similarity index 79% rename from src/bricks/transformers/RunMetadataTransformer.test.ts rename to applications/browser-extension/src/bricks/transformers/RunMetadataTransformer.test.ts index 860d083e98..f7d3557664 100644 --- a/src/bricks/transformers/RunMetadataTransformer.test.ts +++ b/applications/browser-extension/src/bricks/transformers/RunMetadataTransformer.test.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import RunMetadataTransformer from "@/bricks/transformers/RunMetadataTransformer"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import RunMetadataTransformer from "./RunMetadataTransformer"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; import { brickOptionsFactory, runMetadataFactory, -} from "@/testUtils/factories/runtimeFactories"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; -import ConsoleLogger from "@/utils/ConsoleLogger"; -import type { SemVerString } from "@/types/registryTypes"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; -import { mapModComponentRefToMessageContext } from "@/utils/modUtils"; +} from "../../testUtils/factories/runtimeFactories"; +import { autoUUIDSequence } from "../../testUtils/factories/stringFactories"; +import ConsoleLogger from "../../utils/ConsoleLogger"; +import type { SemVerString } from "../../types/registryTypes"; +import { modComponentRefFactory } from "../../testUtils/factories/modComponentFactories"; +import { mapModComponentRefToMessageContext } from "../../utils/modUtils"; const brick = new RunMetadataTransformer(); diff --git a/src/bricks/transformers/RunMetadataTransformer.ts b/applications/browser-extension/src/bricks/transformers/RunMetadataTransformer.ts similarity index 86% rename from src/bricks/transformers/RunMetadataTransformer.ts rename to applications/browser-extension/src/bricks/transformers/RunMetadataTransformer.ts index 1c51599050..65b1adbd8b 100644 --- a/src/bricks/transformers/RunMetadataTransformer.ts +++ b/applications/browser-extension/src/bricks/transformers/RunMetadataTransformer.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema, SCHEMA_EMPTY_OBJECT } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { type UUID } from "@/types/stringTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema, SCHEMA_EMPTY_OBJECT } from "../../types/schemaTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { type UUID } from "../../types/stringTypes"; +import { type Nullishable } from "../../utils/nullishUtils"; type ModMetadata = { id: string; diff --git a/src/bricks/transformers/__snapshots__/parseDate.test.ts.snap b/applications/browser-extension/src/bricks/transformers/__snapshots__/parseDate.test.ts.snap similarity index 100% rename from src/bricks/transformers/__snapshots__/parseDate.test.ts.snap rename to applications/browser-extension/src/bricks/transformers/__snapshots__/parseDate.test.ts.snap diff --git a/src/bricks/transformers/ai/LocalChatCompletion.ts b/applications/browser-extension/src/bricks/transformers/ai/LocalChatCompletion.ts similarity index 91% rename from src/bricks/transformers/ai/LocalChatCompletion.ts rename to applications/browser-extension/src/bricks/transformers/ai/LocalChatCompletion.ts index 05630d4f71..ed82a66018 100644 --- a/src/bricks/transformers/ai/LocalChatCompletion.ts +++ b/applications/browser-extension/src/bricks/transformers/ai/LocalChatCompletion.ts @@ -17,16 +17,16 @@ /// -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { type PlatformCapability } from "@/platform/capabilities"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; +import { type PlatformCapability } from "../../../platform/capabilities"; import { assertAiCapabilities, throwIfBusinessError, -} from "@/bricks/transformers/ai/domAiHelpers"; -import { PropError } from "@/errors/businessErrors"; +} from "./domAiHelpers"; +import { PropError } from "../../../errors/businessErrors"; type Message = { role: "user" | "assistant" | "system"; diff --git a/src/bricks/transformers/ai/LocalPrompt.ts b/applications/browser-extension/src/bricks/transformers/ai/LocalPrompt.ts similarity index 89% rename from src/bricks/transformers/ai/LocalPrompt.ts rename to applications/browser-extension/src/bricks/transformers/ai/LocalPrompt.ts index b54891884c..24ebb51765 100644 --- a/src/bricks/transformers/ai/LocalPrompt.ts +++ b/applications/browser-extension/src/bricks/transformers/ai/LocalPrompt.ts @@ -17,15 +17,15 @@ /// -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { type PlatformCapability } from "@/platform/capabilities"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; +import { type PlatformCapability } from "../../../platform/capabilities"; import { assertAiCapabilities, throwIfBusinessError, -} from "@/bricks/transformers/ai/domAiHelpers"; +} from "./domAiHelpers"; /** * Prompt API EPP documentation: https://docs.google.com/document/d/1VG8HIyz361zGduWgNG7R_R8Xkv0OOJ8b5C9QKeCjU0c/ diff --git a/src/bricks/transformers/ai/LocalSummarization.ts b/applications/browser-extension/src/bricks/transformers/ai/LocalSummarization.ts similarity index 91% rename from src/bricks/transformers/ai/LocalSummarization.ts rename to applications/browser-extension/src/bricks/transformers/ai/LocalSummarization.ts index f8f6aed75d..6f381bd1ec 100644 --- a/src/bricks/transformers/ai/LocalSummarization.ts +++ b/applications/browser-extension/src/bricks/transformers/ai/LocalSummarization.ts @@ -17,15 +17,15 @@ /// -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { type PlatformCapability } from "@/platform/capabilities"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; +import { type PlatformCapability } from "../../../platform/capabilities"; import { assertAiCapabilities, throwIfBusinessError, -} from "@/bricks/transformers/ai/domAiHelpers"; +} from "./domAiHelpers"; // Copied from @types/dom-chromium-ai because they're not exported type AISummarizerType = "tl;dr" | "key-points" | "teaser" | "headline"; diff --git a/src/bricks/transformers/ai/domAiHelpers.ts b/applications/browser-extension/src/bricks/transformers/ai/domAiHelpers.ts similarity index 95% rename from src/bricks/transformers/ai/domAiHelpers.ts rename to applications/browser-extension/src/bricks/transformers/ai/domAiHelpers.ts index ba50855ddf..e9a46f34a2 100644 --- a/src/bricks/transformers/ai/domAiHelpers.ts +++ b/applications/browser-extension/src/bricks/transformers/ai/domAiHelpers.ts @@ -17,8 +17,8 @@ /// -import { BusinessError } from "@/errors/businessErrors"; -import { getErrorMessage } from "@/errors/errorHelpers"; +import { BusinessError } from "../../../errors/businessErrors"; +import { getErrorMessage } from "../../../errors/errorHelpers"; const UNTESTED_LANGUAGE_ERROR = "The model attempted to output text in an untested language, and was prevented from doing so."; diff --git a/src/bricks/transformers/brickFactory.test.ts b/applications/browser-extension/src/bricks/transformers/brickFactory.test.ts similarity index 90% rename from src/bricks/transformers/brickFactory.test.ts rename to applications/browser-extension/src/bricks/transformers/brickFactory.test.ts index 7aed63cd7b..e5af0c87fd 100644 --- a/src/bricks/transformers/brickFactory.test.ts +++ b/applications/browser-extension/src/bricks/transformers/brickFactory.test.ts @@ -15,31 +15,31 @@ * along with this program. If not, see . */ -import nytimes from "@contrib/bricks/nytimes-org.yaml"; -import trelloReader from "@contrib/readers/trello-card-reader.yaml"; -import { fromJS as nativeFromJS } from "@/bricks/transformers/brickFactory"; -import { InvalidDefinitionError } from "@/errors/businessErrors"; -import { isUserDefinedBrick } from "@/types/brickTypes"; +import nytimes from "../../../contrib/bricks/nytimes-org.yaml"; +import trelloReader from "../../../contrib/readers/trello-card-reader.yaml"; +import { fromJS as nativeFromJS } from "./brickFactory"; +import { InvalidDefinitionError } from "../../errors/businessErrors"; +import { isUserDefinedBrick } from "../../types/brickTypes"; import { MappingTransformer } from "./mapping"; -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../registry"; import { ContextBrick, contextBrick, OptionsBrick, optionsBrick, simpleInput, -} from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import Run from "@/bricks/transformers/controlFlow/Run"; +} from "../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../runtime/reducePipeline"; +import Run from "./controlFlow/Run"; import { cloneDeep, partial } from "lodash"; -import { extraEmptyModStateContext } from "@/runtime/extendModVariableContext"; +import { extraEmptyModStateContext } from "../../runtime/extendModVariableContext"; import { TEST_setContext } from "webext-detect"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; -import { toExpression } from "@/utils/expressionUtils"; -import { DefinitionKinds } from "@/types/registryTypes"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; +import { uuidv4, validateRegistryId } from "../../types/helpers"; +import registerBuiltinBricks from "../registerBuiltinBricks"; +import { toExpression } from "../../utils/expressionUtils"; +import { DefinitionKinds } from "../../types/registryTypes"; +import { reduceOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { modComponentRefFactory } from "../../testUtils/factories/modComponentFactories"; TEST_setContext("contentScript"); diff --git a/src/bricks/transformers/brickFactory.ts b/applications/browser-extension/src/bricks/transformers/brickFactory.ts similarity index 95% rename from src/bricks/transformers/brickFactory.ts rename to applications/browser-extension/src/bricks/transformers/brickFactory.ts index ab39adf76d..cc87ec916c 100644 --- a/src/bricks/transformers/brickFactory.ts +++ b/applications/browser-extension/src/bricks/transformers/brickFactory.ts @@ -31,34 +31,34 @@ import { type BrickOptions, type OutputKey, validateBrickArgsContext, -} from "@/types/runtimeTypes"; +} from "../../types/runtimeTypes"; import { type Schema, type SchemaDefinition, type UiSchema, -} from "@/types/schemaTypes"; +} from "../../types/schemaTypes"; import { DefinitionKinds, type Metadata, type RegistryId, type SemVerString, -} from "@/types/registryTypes"; +} from "../../types/registryTypes"; import { isPipelineExpression, type PipelineClosureExpression, -} from "@/utils/expressionUtils"; +} from "../../utils/expressionUtils"; import { isContentScript } from "webext-detect"; -import { getConnectedTarget } from "@/sidebar/connectedTarget"; -import { uuidv4 } from "@/types/helpers"; -import { isSpecificError } from "@/errors/errorHelpers"; -import { HeadlessModeError } from "@/bricks/errors"; +import { getConnectedTarget } from "../../sidebar/connectedTarget"; +import { uuidv4 } from "../../types/helpers"; +import { isSpecificError } from "../../errors/errorHelpers"; +import { HeadlessModeError } from "../errors"; import { inputProperties, unionSchemaDefinitionTypes, -} from "@/utils/schemaUtils"; -import type BaseRegistry from "@/registry/memoryRegistry"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { runHeadlessPipeline } from "@/contentScript/messenger/api"; +} from "../../utils/schemaUtils"; +import type BaseRegistry from "../../registry/memoryRegistry"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { runHeadlessPipeline } from "../../contentScript/messenger/api"; // Interface to avoid circular dependency with the implementation type BrickRegistryProtocol = BaseRegistry; diff --git a/src/bricks/transformers/component/ComponentReader.ts b/applications/browser-extension/src/bricks/transformers/component/ComponentReader.ts similarity index 85% rename from src/bricks/transformers/component/ComponentReader.ts rename to applications/browser-extension/src/bricks/transformers/component/ComponentReader.ts index 1ae6287e90..f40c981d96 100644 --- a/src/bricks/transformers/component/ComponentReader.ts +++ b/applications/browser-extension/src/bricks/transformers/component/ComponentReader.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; import { type FrameworkConfig, frameworkReadFactory, -} from "@/bricks/readers/frameworkReader"; -import { KNOWN_READERS } from "@/pageScript/messenger/constants"; -import { validateRegistryId } from "@/types/helpers"; +} from "../../readers/frameworkReader"; +import { KNOWN_READERS } from "../../../pageScript/messenger/constants"; +import { validateRegistryId } from "../../../types/helpers"; export const COMPONENT_READER_ID = validateRegistryId( "@pixiebrix/component-reader", diff --git a/src/bricks/transformers/component/TableReader.test.ts b/applications/browser-extension/src/bricks/transformers/component/TableReader.test.ts similarity index 92% rename from src/bricks/transformers/component/TableReader.test.ts rename to applications/browser-extension/src/bricks/transformers/component/TableReader.test.ts index 42dbde39af..135239cd06 100644 --- a/src/bricks/transformers/component/TableReader.test.ts +++ b/applications/browser-extension/src/bricks/transformers/component/TableReader.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TableReader } from "@/bricks/transformers/component/TableReader"; -import brickRegistry from "@/bricks/registry"; -import { type BrickConfig } from "@/bricks/types"; +import { TableReader } from "./TableReader"; +import brickRegistry from "../../registry"; +import { type BrickConfig } from "../../types"; import { unsafeAssumeValidArg, validateOutputKey, -} from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +} from "../../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const tableReaderBlock = new TableReader(); diff --git a/src/bricks/transformers/component/TableReader.ts b/applications/browser-extension/src/bricks/transformers/component/TableReader.ts similarity index 90% rename from src/bricks/transformers/component/TableReader.ts rename to applications/browser-extension/src/bricks/transformers/component/TableReader.ts index 2ca3b7df5c..83366fcaec 100644 --- a/src/bricks/transformers/component/TableReader.ts +++ b/applications/browser-extension/src/bricks/transformers/component/TableReader.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { validateRegistryId } from "../../../types/helpers"; import { parseDomTable, getAllTables, type ParsingOptions, -} from "@/utils/parseDomTable"; +} from "../../../utils/parseDomTable"; import { parseDefinitionList, getAllDefinitionLists, -} from "@/utils/parseDefinitionList"; -import { findSingleElement } from "@/utils/domUtils"; +} from "../../../utils/parseDefinitionList"; +import { findSingleElement } from "../../../utils/domUtils"; const TABLE_READER_ID = validateRegistryId("@pixiebrix/table-reader"); const TABLE_READER_ALL_ID = validateRegistryId("@pixiebrix/table-reader-all"); diff --git a/src/bricks/transformers/controlFlow/ForEach.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEach.test.ts similarity index 79% rename from src/bricks/transformers/controlFlow/ForEach.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/ForEach.test.ts index 812970d253..aac9898411 100644 --- a/src/bricks/transformers/controlFlow/ForEach.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEach.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; -import { echoBrick, simpleInput } from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import ForEach from "@/bricks/transformers/controlFlow/ForEach"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import brickRegistry from "../../registry"; +import { echoBrick, simpleInput } from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import ForEach from "./ForEach"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const forEachBlock = new ForEach(); diff --git a/src/bricks/transformers/controlFlow/ForEach.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEach.ts similarity index 88% rename from src/bricks/transformers/controlFlow/ForEach.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/ForEach.ts index b871032b23..41e01d428f 100644 --- a/src/bricks/transformers/controlFlow/ForEach.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEach.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { validateOutputKey } from "../../../runtime/runtimeTypes"; import { type BrickArgs, type BrickOptions, type OutputKey, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../../types/runtimeTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { type Schema } from "../../../types/schemaTypes"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; class ForEach extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/for-each"); diff --git a/src/bricks/transformers/controlFlow/ForEachElement.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEachElement.test.ts similarity index 89% rename from src/bricks/transformers/controlFlow/ForEachElement.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/ForEachElement.test.ts index e54e855a95..51a42d8bb0 100644 --- a/src/bricks/transformers/controlFlow/ForEachElement.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEachElement.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; -import { echoBrick, simpleInput } from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; +import brickRegistry from "../../registry"; +import { echoBrick, simpleInput } from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; import ForEachElement from "./ForEachElement"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { getReferenceForElement } from "../../../contentScript/elementReference"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const forEachBlock = new ForEachElement(); diff --git a/src/bricks/transformers/controlFlow/ForEachElement.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEachElement.ts similarity index 84% rename from src/bricks/transformers/controlFlow/ForEachElement.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/ForEachElement.ts index ff9746b4f0..d76be8166f 100644 --- a/src/bricks/transformers/controlFlow/ForEachElement.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/ForEachElement.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; +} from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { validateRegistryId } from "../../../types/helpers"; import { castArray } from "lodash"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { PropError } from "@/errors/businessErrors"; -import { $safeFind } from "@/utils/domUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { getReferenceForElement } from "../../../contentScript/elementReference"; +import { validateOutputKey } from "../../../runtime/runtimeTypes"; +import { PropError } from "../../../errors/businessErrors"; +import { $safeFind } from "../../../utils/domUtils"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; class ForEachElement extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/for-each-element"); diff --git a/src/bricks/transformers/controlFlow/IfElse.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/IfElse.test.ts similarity index 91% rename from src/bricks/transformers/controlFlow/IfElse.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/IfElse.test.ts index 7a036ab8ed..f9986f49ef 100644 --- a/src/bricks/transformers/controlFlow/IfElse.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/IfElse.test.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../../registry"; import { rootAwareBrick, simpleInput, teapotBrick, throwBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import IfElse from "@/bricks/transformers/controlFlow/IfElse"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +} from "../../../runtime/pipelineTests/testHelpers"; +import IfElse from "./IfElse"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import { validateOutputKey } from "../../../runtime/runtimeTypes"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const ifElseBlock = new IfElse(); diff --git a/src/bricks/transformers/controlFlow/IfElse.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/IfElse.ts similarity index 87% rename from src/bricks/transformers/controlFlow/IfElse.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/IfElse.ts index fe45c615b1..a24dfcbcc1 100644 --- a/src/bricks/transformers/controlFlow/IfElse.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/IfElse.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { boolean } from "@/utils/typeUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { boolean } from "../../../utils/typeUtils"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; class IfElse extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/if-else"); diff --git a/src/bricks/transformers/controlFlow/MapValues.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/MapValues.test.ts similarity index 80% rename from src/bricks/transformers/controlFlow/MapValues.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/MapValues.test.ts index 5ba5fc10e4..781d9fdcb7 100644 --- a/src/bricks/transformers/controlFlow/MapValues.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/MapValues.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; -import { echoBrick, simpleInput } from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import MapValues from "@/bricks/transformers/controlFlow/MapValues"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import brickRegistry from "../../registry"; +import { echoBrick, simpleInput } from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import MapValues from "./MapValues"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const mapValueBrick = new MapValues(); diff --git a/src/bricks/transformers/controlFlow/MapValues.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/MapValues.ts similarity index 90% rename from src/bricks/transformers/controlFlow/MapValues.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/MapValues.ts index bc1018d199..b4edb59d13 100644 --- a/src/bricks/transformers/controlFlow/MapValues.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/MapValues.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { validateOutputKey } from "../../../runtime/runtimeTypes"; import { type BrickArgs, type BrickOptions, type OutputKey, type PipelineExpression, VARIABLE_REFERENCE_PREFIX, -} from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../../types/runtimeTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { type Schema } from "../../../types/schemaTypes"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; class MapValues extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/map"); diff --git a/src/bricks/transformers/controlFlow/Retry.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/Retry.test.ts similarity index 84% rename from src/bricks/transformers/controlFlow/Retry.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/Retry.test.ts index b2fe9e332b..f15c91c8e6 100644 --- a/src/bricks/transformers/controlFlow/Retry.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/Retry.test.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../../registry"; import { echoBrick, simpleInput, throwBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import Retry from "@/bricks/transformers/controlFlow/Retry"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +} from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import Retry from "./Retry"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const retryBlock = new Retry(); diff --git a/src/bricks/transformers/controlFlow/Retry.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/Retry.ts similarity index 86% rename from src/bricks/transformers/controlFlow/Retry.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/Retry.ts index 50986b36d2..cefced8657 100644 --- a/src/bricks/transformers/controlFlow/Retry.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/Retry.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { sleep } from "@/utils/timeUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import castError from "@/utils/castError"; +} from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { BusinessError } from "../../../errors/businessErrors"; +import { sleep } from "../../../utils/timeUtils"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; +import castError from "../../../utils/castError"; class Retry extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/retry"); diff --git a/src/bricks/transformers/controlFlow/Run.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/Run.test.ts similarity index 88% rename from src/bricks/transformers/controlFlow/Run.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/Run.test.ts index f390a1fac7..2008dd79d2 100644 --- a/src/bricks/transformers/controlFlow/Run.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/Run.test.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../../registry"; import { DeferredEchoBrick, echoBrick, simpleInput, throwBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import Run from "@/bricks/transformers/controlFlow/Run"; +} from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import Run from "./Run"; import pDefer from "p-defer"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const runBlock = new Run(); diff --git a/src/bricks/transformers/controlFlow/Run.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/Run.ts similarity index 89% rename from src/bricks/transformers/controlFlow/Run.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/Run.ts index a67aef0f74..2da2ea841f 100644 --- a/src/bricks/transformers/controlFlow/Run.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/Run.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; /** * A brick that runs one or more bricks synchronously or asynchronously. Used to group bricks and/or develop custom diff --git a/src/bricks/transformers/controlFlow/TryExcept.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/TryExcept.test.ts similarity index 86% rename from src/bricks/transformers/controlFlow/TryExcept.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/TryExcept.test.ts index 0deb528f5b..94a7822c2e 100644 --- a/src/bricks/transformers/controlFlow/TryExcept.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/TryExcept.test.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../../registry"; import { simpleInput, teapotBrick, throwBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import TryExcept from "@/bricks/transformers/controlFlow/TryExcept"; +} from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import TryExcept from "./TryExcept"; -import { toExpression } from "@/utils/expressionUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { toExpression } from "../../../utils/expressionUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; const tryExceptBlock = new TryExcept(); diff --git a/src/bricks/transformers/controlFlow/TryExcept.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/TryExcept.ts similarity index 88% rename from src/bricks/transformers/controlFlow/TryExcept.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/TryExcept.ts index f72b3a1a13..a5068fa43d 100644 --- a/src/bricks/transformers/controlFlow/TryExcept.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/TryExcept.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { validateOutputKey } from "../../../runtime/runtimeTypes"; import { serializeError } from "serialize-error"; import { type BrickArgs, type BrickOptions, type OutputKey, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../../types/runtimeTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { type Schema } from "../../../types/schemaTypes"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; class TryExcept extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/try-catch"); diff --git a/src/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts similarity index 90% rename from src/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts index 93395e8a57..94bcb5cdd1 100644 --- a/src/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/WithAsyncModVariable.test.ts @@ -15,25 +15,25 @@ * along with this program. If not, see . */ -import { WithAsyncModVariable } from "@/bricks/transformers/controlFlow/WithAsyncModVariable"; +import { WithAsyncModVariable } from "./WithAsyncModVariable"; import { DeferredEchoBrick, simpleInput, throwBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import brickRegistry from "@/bricks/registry"; +} from "../../../runtime/pipelineTests/testHelpers"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import brickRegistry from "../../registry"; import pDefer, { type DeferredPromise } from "p-defer"; -import { tick } from "@/starterBricks/testHelpers"; -import { type Brick } from "@/types/brickTypes"; -import { type UUID } from "@/types/stringTypes"; -import { type Expression } from "@/types/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { StateNamespaces } from "@/platform/state/stateTypes"; -import { getPlatform } from "@/platform/platformContext"; -import { TEST_resetStateController } from "@/contentScript/stateController/stateController"; +import { tick } from "../../../starterBricks/testHelpers"; +import { type Brick } from "../../../types/brickTypes"; +import { type UUID } from "../../../types/stringTypes"; +import { type Expression } from "../../../types/runtimeTypes"; +import { toExpression } from "../../../utils/expressionUtils"; +import { modComponentRefFactory } from "../../../testUtils/factories/modComponentFactories"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; +import { StateNamespaces } from "../../../platform/state/stateTypes"; +import { getPlatform } from "../../../platform/platformContext"; +import { TEST_resetStateController } from "../../../contentScript/stateController/stateController"; const withAsyncModVariableBrick = new WithAsyncModVariable(); diff --git a/src/bricks/transformers/controlFlow/WithAsyncModVariable.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/WithAsyncModVariable.ts similarity index 92% rename from src/bricks/transformers/controlFlow/WithAsyncModVariable.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/WithAsyncModVariable.ts index dd3ae17ed5..f60962f0dc 100644 --- a/src/bricks/transformers/controlFlow/WithAsyncModVariable.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/WithAsyncModVariable.ts @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { uuidv4, validateRegistryId } from "../../../types/helpers"; +import { type Schema } from "../../../types/schemaTypes"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; +} from "../../../types/runtimeTypes"; import { serializeError } from "serialize-error"; import { type JsonObject } from "type-fest"; -import { isNullOrBlank } from "@/utils/stringUtils"; +import { isNullOrBlank } from "../../../utils/stringUtils"; import { isEmpty } from "lodash"; -import { PropError } from "@/errors/businessErrors"; -import { type BrickConfig } from "@/bricks/types"; -import { castTextLiteralOrThrow } from "@/utils/expressionUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { MergeStrategies, StateNamespaces } from "@/platform/state/stateTypes"; +import { PropError } from "../../../errors/businessErrors"; +import { type BrickConfig } from "../../types"; +import { castTextLiteralOrThrow } from "../../../utils/expressionUtils"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; +import { MergeStrategies, StateNamespaces } from "../../../platform/state/stateTypes"; /** * A brick that stores the result of an asynchronous operation in a Mod Variable. diff --git a/src/bricks/transformers/controlFlow/WithCache.test.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/WithCache.test.ts similarity index 87% rename from src/bricks/transformers/controlFlow/WithCache.test.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/WithCache.test.ts index 8aea8b898e..0cfa94ed0f 100644 --- a/src/bricks/transformers/controlFlow/WithCache.test.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/WithCache.test.ts @@ -15,28 +15,28 @@ * along with this program. If not, see . */ -import type { Brick } from "@/types/brickTypes"; -import type { Expression } from "@/types/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; -import { getPlatform } from "@/platform/platformContext"; -import { StateNamespaces } from "@/platform/state/stateTypes"; -import { WithCache } from "@/bricks/transformers/controlFlow/WithCache"; +import type { Brick } from "../../../types/brickTypes"; +import type { Expression } from "../../../types/runtimeTypes"; +import { toExpression } from "../../../utils/expressionUtils"; +import { modComponentRefFactory } from "../../../testUtils/factories/modComponentFactories"; +import { getPlatform } from "../../../platform/platformContext"; +import { StateNamespaces } from "../../../platform/state/stateTypes"; +import { WithCache } from "./WithCache"; import pDefer, { type DeferredPromise } from "p-defer"; import { DeferredEchoBrick, simpleInput, throwBrick, echoBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import brickRegistry from "@/bricks/registry"; -import { TEST_resetStateController } from "@/contentScript/stateController/stateController"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { tick } from "@/starterBricks/testHelpers"; -import { CancelError } from "@/errors/businessErrors"; -import { ContextError } from "@/errors/genericErrors"; -import { sleep } from "@/utils/timeUtils"; +} from "../../../runtime/pipelineTests/testHelpers"; +import brickRegistry from "../../registry"; +import { TEST_resetStateController } from "../../../contentScript/stateController/stateController"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; +import { tick } from "../../../starterBricks/testHelpers"; +import { CancelError } from "../../../errors/businessErrors"; +import { ContextError } from "../../../errors/genericErrors"; +import { sleep } from "../../../utils/timeUtils"; const withCacheBrick = new WithCache(); diff --git a/src/bricks/transformers/controlFlow/WithCache.ts b/applications/browser-extension/src/bricks/transformers/controlFlow/WithCache.ts similarity index 94% rename from src/bricks/transformers/controlFlow/WithCache.ts rename to applications/browser-extension/src/bricks/transformers/controlFlow/WithCache.ts index 664e0068f0..4583f4f4ff 100644 --- a/src/bricks/transformers/controlFlow/WithCache.ts +++ b/applications/browser-extension/src/bricks/transformers/controlFlow/WithCache.ts @@ -15,30 +15,30 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { uuidv4, validateRegistryId } from "../../../types/helpers"; +import { type Schema } from "../../../types/schemaTypes"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; +} from "../../../types/runtimeTypes"; import { deserializeError, serializeError } from "serialize-error"; import { type JsonObject } from "type-fest"; -import { isNullOrBlank } from "@/utils/stringUtils"; +import { isNullOrBlank } from "../../../utils/stringUtils"; import { isEmpty } from "lodash"; -import { BusinessError, CancelError, PropError } from "@/errors/businessErrors"; -import { type BrickConfig } from "@/bricks/types"; -import { castTextLiteralOrThrow } from "@/utils/expressionUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { BusinessError, CancelError, PropError } from "../../../errors/businessErrors"; +import { type BrickConfig } from "../../types"; +import { castTextLiteralOrThrow } from "../../../utils/expressionUtils"; +import { propertiesToSchema } from "../../../utils/schemaUtils"; import { MergeStrategies, STATE_CHANGE_JS_EVENT_TYPE, StateNamespaces, -} from "@/platform/state/stateTypes"; -import { ContextError } from "@/errors/genericErrors"; +} from "../../../platform/state/stateTypes"; +import { ContextError } from "../../../errors/genericErrors"; import pDefer from "p-defer"; -import type { UUID } from "@/types/stringTypes"; +import type { UUID } from "../../../types/stringTypes"; type Args = { body: PipelineExpression; diff --git a/src/bricks/transformers/convertDocument.test.ts b/applications/browser-extension/src/bricks/transformers/convertDocument.test.ts similarity index 89% rename from src/bricks/transformers/convertDocument.test.ts rename to applications/browser-extension/src/bricks/transformers/convertDocument.test.ts index 9434744f90..cf34af8377 100644 --- a/src/bricks/transformers/convertDocument.test.ts +++ b/applications/browser-extension/src/bricks/transformers/convertDocument.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import ConvertDocument from "@/bricks/transformers/convertDocument"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import ConvertDocument from "./convertDocument"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new ConvertDocument(); diff --git a/src/bricks/transformers/convertDocument.ts b/applications/browser-extension/src/bricks/transformers/convertDocument.ts similarity index 90% rename from src/bricks/transformers/convertDocument.ts rename to applications/browser-extension/src/bricks/transformers/convertDocument.ts index cec90784fd..434c8db0b1 100644 --- a/src/bricks/transformers/convertDocument.ts +++ b/applications/browser-extension/src/bricks/transformers/convertDocument.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import sanitize from "@/utils/sanitize"; -import { BusinessError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import sanitize from "../../utils/sanitize"; +import { BusinessError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; async function convert({ input, diff --git a/src/bricks/transformers/detect.test.ts b/applications/browser-extension/src/bricks/transformers/detect.test.ts similarity index 89% rename from src/bricks/transformers/detect.test.ts rename to applications/browser-extension/src/bricks/transformers/detect.test.ts index f80dbfb1c2..e9da15ed43 100644 --- a/src/bricks/transformers/detect.test.ts +++ b/applications/browser-extension/src/bricks/transformers/detect.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { DetectElement } from "@/bricks/transformers/detect"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { DetectElement } from "./detect"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new DetectElement(); diff --git a/src/bricks/transformers/detect.ts b/applications/browser-extension/src/bricks/transformers/detect.ts similarity index 87% rename from src/bricks/transformers/detect.ts rename to applications/browser-extension/src/bricks/transformers/detect.ts index f2d3616bcf..574ce429f7 100644 --- a/src/bricks/transformers/detect.ts +++ b/applications/browser-extension/src/bricks/transformers/detect.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { $safeFindElementsWithRootMode, IS_ROOT_AWARE_BRICK_PROPS, -} from "@/bricks/rootModeHelpers"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../rootModeHelpers"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class DetectElement extends TransformerABC { override defaultOutputKey = "match"; diff --git a/src/bricks/transformers/encode.ts b/applications/browser-extension/src/bricks/transformers/encode.ts similarity index 91% rename from src/bricks/transformers/encode.ts rename to applications/browser-extension/src/bricks/transformers/encode.ts index 469c2fc34e..5784113b8c 100644 --- a/src/bricks/transformers/encode.ts +++ b/applications/browser-extension/src/bricks/transformers/encode.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; import { stringToBase64 } from "uint8array-extras"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class Base64Encode extends TransformerABC { override defaultOutputKey = "encoded"; diff --git a/src/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx b/applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx similarity index 95% rename from src/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx rename to applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx index 9fd8867a04..61c2ce2e70 100644 --- a/src/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx +++ b/applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralForm.test.tsx @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { getFormDefinition } from "@/contentScript/messenger/api"; +import { getFormDefinition } from "../../../contentScript/messenger/api"; import { render } from "@testing-library/react"; import React from "react"; import EphemeralForm from "./EphemeralForm"; import { screen } from "shadow-dom-testing-library"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; +import { uuidSequence } from "../../../testUtils/factories/stringFactories"; -jest.mock("@/contentScript/messenger/api"); +jest.mock("../../../contentScript/messenger/api"); const getFormDefinitionMock = jest.mocked(getFormDefinition); diff --git a/src/bricks/transformers/ephemeralForm/EphemeralForm.tsx b/applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralForm.tsx similarity index 84% rename from src/bricks/transformers/ephemeralForm/EphemeralForm.tsx rename to applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralForm.tsx index f4b551d122..5ed832c7bc 100644 --- a/src/bricks/transformers/ephemeralForm/EphemeralForm.tsx +++ b/applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralForm.tsx @@ -16,18 +16,18 @@ */ import React from "react"; -import { cancelForm, getFormDefinition } from "@/contentScript/messenger/api"; -import Loader from "@/components/Loader"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { type Target } from "@/types/messengerTypes"; -import { validateUUID } from "@/types/helpers"; -import { TOP_LEVEL_FRAME_ID } from "@/domConstants"; -import useAsyncState from "@/hooks/useAsyncState"; -import ErrorBoundary from "@/components/ErrorBoundary"; -import useReportError from "@/hooks/useReportError"; -import IsolatedComponent from "@/components/IsolatedComponent"; +import { cancelForm, getFormDefinition } from "../../../contentScript/messenger/api"; +import Loader from "../../../components/Loader"; +import { getErrorMessage } from "../../../errors/errorHelpers"; +import { type Target } from "../../../types/messengerTypes"; +import { validateUUID } from "../../../types/helpers"; +import { TOP_LEVEL_FRAME_ID } from "../../../domConstants"; +import useAsyncState from "../../../hooks/useAsyncState"; +import ErrorBoundary from "../../../components/ErrorBoundary"; +import useReportError from "../../../hooks/useReportError"; +import IsolatedComponent from "../../../components/IsolatedComponent"; import { type EphemeralFormContentProps } from "./EphemeralFormContent"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../../../utils/nullishUtils"; import { type EmptyObject } from "type-fest"; const ModalLayout: React.FC> = ({ diff --git a/src/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx b/applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx similarity index 71% rename from src/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx rename to applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx index 8c9937d759..34a63ad3a7 100644 --- a/src/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx +++ b/applications/browser-extension/src/bricks/transformers/ephemeralForm/EphemeralFormContent.tsx @@ -15,25 +15,25 @@ * along with this program. If not, see . */ -import "@/vendors/bootstrapWithoutRem.css"; -import "@/sidebar/sidebarBootstrapOverrides.scss"; -import "@/bricks/renderers/customForm.css"; +import "../../../vendors/bootstrapWithoutRem.css"; +import "../../../sidebar/sidebarBootstrapOverrides.scss"; +import "../../renderers/customForm.css"; import React from "react"; -import validator from "@/validators/formValidator"; +import validator from "../../../validators/formValidator"; import JsonSchemaForm from "@rjsf/bootstrap-4"; -import { cancelForm, resolveForm } from "@/contentScript/messenger/api"; -import { type Target } from "@/types/messengerTypes"; +import { cancelForm, resolveForm } from "../../../contentScript/messenger/api"; +import { type Target } from "../../../types/messengerTypes"; import { cloneDeep } from "lodash"; -import { type FormDefinition } from "@/platform/forms/formTypes"; -import { type UUID } from "@/types/stringTypes"; -import { templates } from "@/components/formBuilder/RjsfTemplates"; -import ImageCropWidget from "@/components/formBuilder/widgets/ImageCropWidget"; -import DescriptionField from "@/components/formBuilder/DescriptionField"; -import RjsfSelectWidget from "@/components/formBuilder/widgets/RjsfSelectWidget"; -import TextAreaWidget from "@/components/formBuilder/widgets/TextAreaWidget"; -import { Stylesheets } from "@/components/Stylesheets"; -import { useStylesheetsContextWithFormDefault } from "@/components/StylesheetsContext"; -import RichTextWidget from "@/components/formBuilder/widgets/RichTextWidget"; +import { type FormDefinition } from "../../../platform/forms/formTypes"; +import { type UUID } from "../../../types/stringTypes"; +import { templates } from "../../../components/formBuilder/RjsfTemplates"; +import ImageCropWidget from "../../../components/formBuilder/widgets/ImageCropWidget"; +import DescriptionField from "../../../components/formBuilder/DescriptionField"; +import RjsfSelectWidget from "../../../components/formBuilder/widgets/RjsfSelectWidget"; +import TextAreaWidget from "../../../components/formBuilder/widgets/TextAreaWidget"; +import { Stylesheets } from "../../../components/Stylesheets"; +import { useStylesheetsContextWithFormDefault } from "../../../components/StylesheetsContext"; +import RichTextWidget from "../../../components/formBuilder/widgets/RichTextWidget"; export const fields = { DescriptionField, diff --git a/src/bricks/transformers/ephemeralForm/formTransformer.test.ts b/applications/browser-extension/src/bricks/transformers/ephemeralForm/formTransformer.test.ts similarity index 87% rename from src/bricks/transformers/ephemeralForm/formTransformer.test.ts rename to applications/browser-extension/src/bricks/transformers/ephemeralForm/formTransformer.test.ts index 5f32e19a33..b69251fba8 100644 --- a/src/bricks/transformers/ephemeralForm/formTransformer.test.ts +++ b/applications/browser-extension/src/bricks/transformers/ephemeralForm/formTransformer.test.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { FormTransformer } from "@/bricks/transformers/ephemeralForm/formTransformer"; -import { toExpression } from "@/utils/expressionUtils"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { BusinessError, CancelError } from "@/errors/businessErrors"; -import { cancelAll } from "@/platform/forms/formController"; +import { FormTransformer } from "./formTransformer"; +import { toExpression } from "../../../utils/expressionUtils"; +import { unsafeAssumeValidArg } from "../../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; +import { isLoadedInIframe } from "../../../utils/iframeUtils"; +import { BusinessError, CancelError } from "../../../errors/businessErrors"; +import { cancelAll } from "../../../platform/forms/formController"; import * as messenger from "webext-messenger"; -import { showModal } from "@/contentScript/modalDom"; +import { showModal } from "../../../contentScript/modalDom"; -jest.mock("@/utils/iframeUtils"); -jest.mock("@/contentScript/modalDom"); +jest.mock("../../../utils/iframeUtils"); +jest.mock("../../../contentScript/modalDom"); const showModalMock = jest.mocked(showModal); diff --git a/src/bricks/transformers/ephemeralForm/formTransformer.ts b/applications/browser-extension/src/bricks/transformers/ephemeralForm/formTransformer.ts similarity index 87% rename from src/bricks/transformers/ephemeralForm/formTransformer.ts rename to applications/browser-extension/src/bricks/transformers/ephemeralForm/formTransformer.ts index 12ffd97533..c3249d54e6 100644 --- a/src/bricks/transformers/ephemeralForm/formTransformer.ts +++ b/applications/browser-extension/src/bricks/transformers/ephemeralForm/formTransformer.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type BrickConfig } from "@/bricks/types"; -import { type FormDefinition } from "@/platform/forms/formTypes"; -import { isExpression } from "@/utils/expressionUtils"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { validateRegistryId } from "../../../types/helpers"; +import { type BrickConfig } from "../../types"; +import { type FormDefinition } from "../../../platform/forms/formTypes"; +import { isExpression } from "../../../utils/expressionUtils"; +import type { PlatformCapability } from "../../../platform/capabilities"; export const TEMPORARY_FORM_SCHEMA: Schema = { type: "object", diff --git a/src/bricks/transformers/extensionDiagnostics.ts b/applications/browser-extension/src/bricks/transformers/extensionDiagnostics.ts similarity index 82% rename from src/bricks/transformers/extensionDiagnostics.ts rename to applications/browser-extension/src/bricks/transformers/extensionDiagnostics.ts index e313d6b551..34968ccbdb 100644 --- a/src/bricks/transformers/extensionDiagnostics.ts +++ b/applications/browser-extension/src/bricks/transformers/extensionDiagnostics.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { getDiagnostics as collectFrameDiagnostics } from "@/contentScript/performanceMonitoring"; -import { collectPerformanceDiagnostics as collectExtensionDiagnostics } from "@/background/messenger/api"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { getDiagnostics as collectFrameDiagnostics } from "../../contentScript/performanceMonitoring"; +import { collectPerformanceDiagnostics as collectExtensionDiagnostics } from "../../background/messenger/api"; +import { propertiesToSchema } from "../../utils/schemaUtils"; class ExtensionDiagnostics extends TransformerABC { override defaultOutputKey = "diagnostics"; diff --git a/src/bricks/transformers/getAllTransformers.ts b/applications/browser-extension/src/bricks/transformers/getAllTransformers.ts similarity index 66% rename from src/bricks/transformers/getAllTransformers.ts rename to applications/browser-extension/src/bricks/transformers/getAllTransformers.ts index d1e3b1a013..0817986dfe 100644 --- a/src/bricks/transformers/getAllTransformers.ts +++ b/applications/browser-extension/src/bricks/transformers/getAllTransformers.ts @@ -41,30 +41,30 @@ import ParseJson from "./ParseJson"; import ForEach from "./controlFlow/ForEach"; import IfElse from "./controlFlow/IfElse"; import TryExcept from "./controlFlow/TryExcept"; -import ForEachElement from "@/bricks/transformers/controlFlow/ForEachElement"; -import { RandomNumber } from "@/bricks/transformers/randomNumber"; -import Retry from "@/bricks/transformers/controlFlow/Retry"; -import DisplayTemporaryInfo from "@/bricks/transformers/temporaryInfo/DisplayTemporaryInfo"; -import TraverseElements from "@/bricks/transformers/traverseElements"; -import { type Brick } from "@/types/brickTypes"; -import SelectElement from "@/bricks/transformers/selectElement"; -import Run from "@/bricks/transformers/controlFlow/Run"; -import ExtensionDiagnostics from "@/bricks/transformers/extensionDiagnostics"; -import { Readable } from "@/bricks/transformers/readable"; -import { SplitText } from "@/bricks/transformers/splitText"; -import MapValues from "@/bricks/transformers/controlFlow/MapValues"; -import ConvertDocument from "@/bricks/transformers/convertDocument"; -import { SearchText } from "@/bricks/transformers/searchText"; -import { WithAsyncModVariable } from "@/bricks/transformers/controlFlow/WithAsyncModVariable"; -import { JavaScriptTransformer } from "@/bricks/transformers/javascript"; -import type { RegistryId, RegistryProtocol } from "@/types/registryTypes"; -import RunBrickByIdTransformer from "@/bricks/transformers/RunBrickByIdTransformer"; -import GetBrickInterfaceTransformer from "@/bricks/transformers/GetBrickInterfaceTransformer"; -import RunMetadataTransformer from "@/bricks/transformers/RunMetadataTransformer"; -import { WithCache } from "@/bricks/transformers/controlFlow/WithCache"; -import LocalPrompt from "@/bricks/transformers/ai/LocalPrompt"; -import LocalChatCompletionTransformer from "@/bricks/transformers/ai/LocalChatCompletion"; -import LocalSummarization from "@/bricks/transformers/ai/LocalSummarization"; +import ForEachElement from "./controlFlow/ForEachElement"; +import { RandomNumber } from "./randomNumber"; +import Retry from "./controlFlow/Retry"; +import DisplayTemporaryInfo from "./temporaryInfo/DisplayTemporaryInfo"; +import TraverseElements from "./traverseElements"; +import { type Brick } from "../../types/brickTypes"; +import SelectElement from "./selectElement"; +import Run from "./controlFlow/Run"; +import ExtensionDiagnostics from "./extensionDiagnostics"; +import { Readable } from "./readable"; +import { SplitText } from "./splitText"; +import MapValues from "./controlFlow/MapValues"; +import ConvertDocument from "./convertDocument"; +import { SearchText } from "./searchText"; +import { WithAsyncModVariable } from "./controlFlow/WithAsyncModVariable"; +import { JavaScriptTransformer } from "./javascript"; +import type { RegistryId, RegistryProtocol } from "../../types/registryTypes"; +import RunBrickByIdTransformer from "./RunBrickByIdTransformer"; +import GetBrickInterfaceTransformer from "./GetBrickInterfaceTransformer"; +import RunMetadataTransformer from "./RunMetadataTransformer"; +import { WithCache } from "./controlFlow/WithCache"; +import LocalPrompt from "./ai/LocalPrompt"; +import LocalChatCompletionTransformer from "./ai/LocalChatCompletion"; +import LocalSummarization from "./ai/LocalSummarization"; function getAllTransformers( registry: RegistryProtocol, diff --git a/src/bricks/transformers/httpGet.ts b/applications/browser-extension/src/bricks/transformers/httpGet.ts similarity index 80% rename from src/bricks/transformers/httpGet.ts rename to applications/browser-extension/src/bricks/transformers/httpGet.ts index 1623b4447d..2cd25deb6e 100644 --- a/src/bricks/transformers/httpGet.ts +++ b/applications/browser-extension/src/bricks/transformers/httpGet.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { PropError } from "@/errors/businessErrors"; -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { NetworkRequestConfig } from "@/types/networkTypes"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { PropError } from "../../errors/businessErrors"; +import { validateRegistryId } from "../../types/helpers"; +import { type Schema } from "../../types/schemaTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import type { NetworkRequestConfig } from "../../types/networkTypes"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class GetAPITransformer extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/get"); diff --git a/src/bricks/transformers/javascript.test.ts b/applications/browser-extension/src/bricks/transformers/javascript.test.ts similarity index 88% rename from src/bricks/transformers/javascript.test.ts rename to applications/browser-extension/src/bricks/transformers/javascript.test.ts index e640aa0d9e..008441e07a 100644 --- a/src/bricks/transformers/javascript.test.ts +++ b/applications/browser-extension/src/bricks/transformers/javascript.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { JavaScriptTransformer } from "@/bricks/transformers/javascript"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { platformMock as platform } from "@/testUtils/platformMock"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { JavaScriptTransformer } from "./javascript"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { platformMock as platform } from "../../testUtils/platformMock"; import { extend } from "cooky-cutter"; const brick = new JavaScriptTransformer(); diff --git a/src/bricks/transformers/javascript.ts b/applications/browser-extension/src/bricks/transformers/javascript.ts similarity index 85% rename from src/bricks/transformers/javascript.ts rename to applications/browser-extension/src/bricks/transformers/javascript.ts index 480ae866d7..686f8d6467 100644 --- a/src/bricks/transformers/javascript.ts +++ b/applications/browser-extension/src/bricks/transformers/javascript.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type UiSchema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type UiSchema } from "../../types/schemaTypes"; import { type JSONSchema7 } from "json-schema"; import { type JsonObject } from "type-fest"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class JavaScriptTransformer extends TransformerABC { static readonly BRICK_ID = validateRegistryId("@pixiebrix/javascript"); diff --git a/src/bricks/transformers/jq.test.ts b/applications/browser-extension/src/bricks/transformers/jq.test.ts similarity index 94% rename from src/bricks/transformers/jq.test.ts rename to applications/browser-extension/src/bricks/transformers/jq.test.ts index 27be17a377..6f2e268056 100644 --- a/src/bricks/transformers/jq.test.ts +++ b/applications/browser-extension/src/bricks/transformers/jq.test.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { JQTransformer } from "@/bricks/transformers/jq"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { InputValidationError } from "@/bricks/errors"; -import { BusinessError } from "@/errors/businessErrors"; +import { JQTransformer } from "./jq"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { InputValidationError } from "../errors"; +import { BusinessError } from "../../errors/businessErrors"; import { serializeError } from "serialize-error"; -import { throwIfInvalidInput } from "@/runtime/runtimeUtils"; -import { type RenderedArgs } from "@/types/runtimeTypes"; +import { throwIfInvalidInput } from "../../runtime/runtimeUtils"; +import { type RenderedArgs } from "../../types/runtimeTypes"; import { range } from "lodash"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; describe("smoke tests", () => { test("passes input to filter", async () => { diff --git a/src/bricks/transformers/jq.ts b/applications/browser-extension/src/bricks/transformers/jq.ts similarity index 91% rename from src/bricks/transformers/jq.ts rename to applications/browser-extension/src/bricks/transformers/jq.ts index 56f500db81..ca3817a256 100644 --- a/src/bricks/transformers/jq.ts +++ b/applications/browser-extension/src/bricks/transformers/jq.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { InputValidationError } from "@/bricks/errors"; -import { getErrorMessage, isErrorObject } from "@/errors/errorHelpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { retryWithJitter } from "@/utils/promiseUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { InputValidationError } from "../errors"; +import { getErrorMessage, isErrorObject } from "../../errors/errorHelpers"; +import { BusinessError } from "../../errors/businessErrors"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import { retryWithJitter } from "../../utils/promiseUtils"; import { type JsonValue } from "type-fest"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; const jqStacktraceRegexp = /jq: error \(at \/dev\/stdin:0\): (?.*)/; diff --git a/src/bricks/transformers/jquery/JQueryReader.test.ts b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReader.test.ts similarity index 94% rename from src/bricks/transformers/jquery/JQueryReader.test.ts rename to applications/browser-extension/src/bricks/transformers/jquery/JQueryReader.test.ts index 9dbe5d01b9..c8b9164a16 100644 --- a/src/bricks/transformers/jquery/JQueryReader.test.ts +++ b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReader.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { JQueryReader } from "@/bricks/transformers/jquery/JQueryReader"; +import { JQueryReader } from "./JQueryReader"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../utils/expressionUtils"; const brick = new JQueryReader(); diff --git a/src/bricks/transformers/jquery/JQueryReader.ts b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReader.ts similarity index 88% rename from src/bricks/transformers/jquery/JQueryReader.ts rename to applications/browser-extension/src/bricks/transformers/jquery/JQueryReader.ts index 29267946f3..e716676783 100644 --- a/src/bricks/transformers/jquery/JQueryReader.ts +++ b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReader.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { readJQuery, type SelectorConfigMap } from "@/bricks/readers/jquery"; -import { type BrickConfig } from "@/bricks/types"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../../types/runtimeTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { readJQuery, type SelectorConfigMap } from "../../readers/jquery"; +import { type BrickConfig } from "../../types"; import { mapValues } from "lodash"; -import { validateRegistryId } from "@/types/helpers"; -import { isExpression } from "@/utils/expressionUtils"; +import { validateRegistryId } from "../../../types/helpers"; +import { isExpression } from "../../../utils/expressionUtils"; export class JQueryReader extends TransformerABC { public static BRICK_ID = validateRegistryId("@pixiebrix/jquery-reader"); diff --git a/src/bricks/transformers/jquery/JQueryReaderOptions.module.scss b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.module.scss similarity index 100% rename from src/bricks/transformers/jquery/JQueryReaderOptions.module.scss rename to applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.module.scss diff --git a/src/bricks/transformers/jquery/JQueryReaderOptions.test.tsx b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.test.tsx similarity index 90% rename from src/bricks/transformers/jquery/JQueryReaderOptions.test.tsx rename to applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.test.tsx index c686c2072e..b1d3b24544 100644 --- a/src/bricks/transformers/jquery/JQueryReaderOptions.test.tsx +++ b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.test.tsx @@ -15,27 +15,27 @@ * along with this program. If not, see . */ -import { render } from "@/pageEditor/testHelpers"; +import { render } from "../../../pageEditor/testHelpers"; import React from "react"; import JQueryReaderOptions, { inferActiveTypeOption, typeOptionsFactory, -} from "@/bricks/transformers/jquery/JQueryReaderOptions"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; +} from "./JQueryReaderOptions"; +import { type ModComponentFormState } from "../../../pageEditor/starterBricks/formStateTypes"; // eslint-disable-next-line no-restricted-imports -- using to simplify Formik state for test import { Formik } from "formik"; -import { menuItemFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { JQueryReader } from "@/bricks/transformers/jquery/JQueryReader"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { getAttributeExamples } from "@/contentScript/messenger/api"; +import { menuItemFormStateFactory } from "../../../testUtils/factories/pageEditorFactories"; +import { JQueryReader } from "./JQueryReader"; +import registerDefaultWidgets from "../../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { waitForEffect } from "../../../testUtils/testHelpers"; +import { getAttributeExamples } from "../../../contentScript/messenger/api"; import { screen } from "@testing-library/react"; -import SchemaFieldContext from "@/components/fields/schemaFields/SchemaFieldContext"; -import devtoolFieldOverrides from "@/pageEditor/fields/devtoolFieldOverrides"; +import SchemaFieldContext from "../../../components/fields/schemaFields/SchemaFieldContext"; +import devtoolFieldOverrides from "../../../pageEditor/fields/devtoolFieldOverrides"; import userEvent from "@testing-library/user-event"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../utils/expressionUtils"; -jest.mock("@/contentScript/messenger/api"); +jest.mock("../../../contentScript/messenger/api"); const getAttributeExamplesMock = jest.mocked(getAttributeExamples); diff --git a/src/bricks/transformers/jquery/JQueryReaderOptions.tsx b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.tsx similarity index 92% rename from src/bricks/transformers/jquery/JQueryReaderOptions.tsx rename to applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.tsx index 68af443412..62a60d4dd9 100644 --- a/src/bricks/transformers/jquery/JQueryReaderOptions.tsx +++ b/applications/browser-extension/src/bricks/transformers/jquery/JQueryReaderOptions.tsx @@ -16,37 +16,37 @@ */ import React, { type ChangeEvent, useCallback, useMemo, useState } from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; +import { type BrickOptionProps } from "../../../components/fields/schemaFields/genericOptionsFactory"; import { compact, isEmpty, partial, truncate } from "lodash"; import { useField } from "formik"; import { type ChildrenSelector, type SingleSelector, -} from "@/bricks/readers/jquery"; +} from "../../readers/jquery"; import { Button, FormControl } from "react-bootstrap"; -import { type SafeString } from "@/types/stringTypes"; +import { type SafeString } from "../../../types/stringTypes"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPlus, faTrash } from "@fortawesome/free-solid-svg-icons"; import { produce } from "immer"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import WorkshopMessage from "@/components/fields/schemaFields/WorkshopMessage"; -import FieldTemplate from "@/components/form/FieldTemplate"; +import SchemaField from "../../../components/fields/schemaFields/SchemaField"; +import WorkshopMessage from "../../../components/fields/schemaFields/WorkshopMessage"; +import FieldTemplate from "../../../components/form/FieldTemplate"; import styles from "./JQueryReaderOptions.module.scss"; import SelectWidget, { type SelectLike, -} from "@/components/form/widgets/SelectWidget"; -import useAsyncState from "@/hooks/useAsyncState"; -import { getAttributeExamples } from "@/contentScript/messenger/api"; -import { fallbackValue } from "@/utils/asyncStateUtils"; -import { type AttributeExample } from "@/contentScript/pageEditor/types"; -import CollapsibleFieldSection from "@/pageEditor/fields/CollapsibleFieldSection"; +} from "../../../components/form/widgets/SelectWidget"; +import useAsyncState from "../../../hooks/useAsyncState"; +import { getAttributeExamples } from "../../../contentScript/messenger/api"; +import { fallbackValue } from "../../../utils/asyncStateUtils"; +import { type AttributeExample } from "../../../contentScript/pageEditor/types"; +import CollapsibleFieldSection from "../../../pageEditor/fields/CollapsibleFieldSection"; import cx from "classnames"; -import { type Expression, type TemplateEngine } from "@/types/runtimeTypes"; -import { isTemplateExpression, isVarExpression } from "@/utils/expressionUtils"; -import { joinName } from "@/utils/formUtils"; -import { freshIdentifier } from "@/utils/variableUtils"; +import { type Expression, type TemplateEngine } from "../../../types/runtimeTypes"; +import { isTemplateExpression, isVarExpression } from "../../../utils/expressionUtils"; +import { joinName } from "../../../utils/formUtils"; +import { freshIdentifier } from "../../../utils/variableUtils"; import useAsyncEffect from "use-async-effect"; -import { inspectedTab } from "@/pageEditor/context/connection"; +import { inspectedTab } from "../../../pageEditor/context/connection"; import { type SetOptional } from "type-fest"; /** diff --git a/src/bricks/transformers/jsonPath.ts b/applications/browser-extension/src/bricks/transformers/jsonPath.ts similarity index 88% rename from src/bricks/transformers/jsonPath.ts rename to applications/browser-extension/src/bricks/transformers/jsonPath.ts index 19fe2207bf..79e366cf82 100644 --- a/src/bricks/transformers/jsonPath.ts +++ b/applications/browser-extension/src/bricks/transformers/jsonPath.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; export class JSONPathTransformer extends TransformerABC { override async isPure(): Promise { diff --git a/src/bricks/transformers/mapping.ts b/applications/browser-extension/src/bricks/transformers/mapping.ts similarity index 90% rename from src/bricks/transformers/mapping.ts rename to applications/browser-extension/src/bricks/transformers/mapping.ts index 19fb180deb..9efbd6ff03 100644 --- a/src/bricks/transformers/mapping.ts +++ b/applications/browser-extension/src/bricks/transformers/mapping.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { BusinessError } from "@/errors/businessErrors"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { BusinessError } from "../../errors/businessErrors"; export class MappingTransformer extends TransformerABC { override defaultOutputKey = "value"; diff --git a/src/bricks/transformers/parseCsv.ts b/applications/browser-extension/src/bricks/transformers/parseCsv.ts similarity index 87% rename from src/bricks/transformers/parseCsv.ts rename to applications/browser-extension/src/bricks/transformers/parseCsv.ts index 0833aad723..86b62af1e4 100644 --- a/src/bricks/transformers/parseCsv.ts +++ b/applications/browser-extension/src/bricks/transformers/parseCsv.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class ParseCsv extends TransformerABC { constructor() { diff --git a/src/bricks/transformers/parseDataUrl.test.ts b/applications/browser-extension/src/bricks/transformers/parseDataUrl.test.ts similarity index 94% rename from src/bricks/transformers/parseDataUrl.test.ts rename to applications/browser-extension/src/bricks/transformers/parseDataUrl.test.ts index b903104933..266fa06268 100644 --- a/src/bricks/transformers/parseDataUrl.test.ts +++ b/applications/browser-extension/src/bricks/transformers/parseDataUrl.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { ParseDataUrl } from "@/bricks/transformers/parseDataUrl"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; +import { ParseDataUrl } from "./parseDataUrl"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; const block = new ParseDataUrl(); diff --git a/src/bricks/transformers/parseDataUrl.ts b/applications/browser-extension/src/bricks/transformers/parseDataUrl.ts similarity index 87% rename from src/bricks/transformers/parseDataUrl.ts rename to applications/browser-extension/src/bricks/transformers/parseDataUrl.ts index e08b1fdd11..251f2826b4 100644 --- a/src/bricks/transformers/parseDataUrl.ts +++ b/applications/browser-extension/src/bricks/transformers/parseDataUrl.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { truncate } from "lodash"; -import { getEncodingName } from "@/vendors/encodings"; -import parseDataUrl from "@/utils/parseDataUrl"; -import { PropError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { getEncodingName } from "../../vendors/encodings"; +import parseDataUrl from "../../utils/parseDataUrl"; +import { PropError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** * Length to trim URLs to in error messages. diff --git a/src/bricks/transformers/parseDate.test.ts b/applications/browser-extension/src/bricks/transformers/parseDate.test.ts similarity index 89% rename from src/bricks/transformers/parseDate.test.ts rename to applications/browser-extension/src/bricks/transformers/parseDate.test.ts index 7c156aa5a8..19ba143e4d 100644 --- a/src/bricks/transformers/parseDate.test.ts +++ b/applications/browser-extension/src/bricks/transformers/parseDate.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { getLocalISOString, ParseDate } from "@/bricks/transformers/parseDate"; +import { getLocalISOString, ParseDate } from "./parseDate"; import { register, type TimeZone, unregister } from "timezone-mock"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { validateBrickInputOutput } from "@/validators/schemaValidator"; -import { BusinessError } from "@/errors/businessErrors"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { validateBrickInputOutput } from "../../validators/schemaValidator"; +import { BusinessError } from "../../errors/businessErrors"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const refDate = "2021-12-07T06:17:09.258Z"; diff --git a/src/bricks/transformers/parseDate.ts b/applications/browser-extension/src/bricks/transformers/parseDate.ts similarity index 93% rename from src/bricks/transformers/parseDate.ts rename to applications/browser-extension/src/bricks/transformers/parseDate.ts index a7e82cfc51..6c61fd2116 100644 --- a/src/bricks/transformers/parseDate.ts +++ b/applications/browser-extension/src/bricks/transformers/parseDate.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { isEmpty } from "lodash"; -import { PropError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { PropError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** @internal */ export function getLocalISOString(date: Date): string { diff --git a/src/bricks/transformers/parseJson.test.ts b/applications/browser-extension/src/bricks/transformers/parseJson.test.ts similarity index 93% rename from src/bricks/transformers/parseJson.test.ts rename to applications/browser-extension/src/bricks/transformers/parseJson.test.ts index 2a1edf76db..ba6e4f2aab 100644 --- a/src/bricks/transformers/parseJson.test.ts +++ b/applications/browser-extension/src/bricks/transformers/parseJson.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import ParseJson from "@/bricks/transformers/ParseJson"; -import { BusinessError } from "@/errors/businessErrors"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import ParseJson from "./ParseJson"; +import { BusinessError } from "../../errors/businessErrors"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; describe("ParseJson block", () => { test("Parse object", async () => { diff --git a/src/bricks/transformers/parseUrl.test.ts b/applications/browser-extension/src/bricks/transformers/parseUrl.test.ts similarity index 93% rename from src/bricks/transformers/parseUrl.test.ts rename to applications/browser-extension/src/bricks/transformers/parseUrl.test.ts index 3cbd649f4d..1be3140ce3 100644 --- a/src/bricks/transformers/parseUrl.test.ts +++ b/applications/browser-extension/src/bricks/transformers/parseUrl.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { UrlParser } from "@/bricks/transformers/parseUrl"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { BusinessError } from "@/errors/businessErrors"; +import { UrlParser } from "./parseUrl"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { BusinessError } from "../../errors/businessErrors"; describe("parseUrl", () => { it("parses absolute URL", async () => { diff --git a/src/bricks/transformers/parseUrl.ts b/applications/browser-extension/src/bricks/transformers/parseUrl.ts similarity index 89% rename from src/bricks/transformers/parseUrl.ts rename to applications/browser-extension/src/bricks/transformers/parseUrl.ts index 86af75e060..dbea8b2323 100644 --- a/src/bricks/transformers/parseUrl.ts +++ b/applications/browser-extension/src/bricks/transformers/parseUrl.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { pick } from "lodash"; // Methods imported async in the brick import type { ParsedDomain } from "psl"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { BusinessError } from "../../errors/businessErrors"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; const URL_PROPERTIES = [ "port", diff --git a/src/bricks/transformers/prompt.ts b/applications/browser-extension/src/bricks/transformers/prompt.ts similarity index 83% rename from src/bricks/transformers/prompt.ts rename to applications/browser-extension/src/bricks/transformers/prompt.ts index 1111bdc960..01fc453e5a 100644 --- a/src/bricks/transformers/prompt.ts +++ b/applications/browser-extension/src/bricks/transformers/prompt.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { CancelError } from "@/errors/businessErrors"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { CancelError } from "../../errors/businessErrors"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class Prompt extends TransformerABC { constructor() { diff --git a/src/bricks/transformers/randomNumber.test.ts b/applications/browser-extension/src/bricks/transformers/randomNumber.test.ts similarity index 90% rename from src/bricks/transformers/randomNumber.test.ts rename to applications/browser-extension/src/bricks/transformers/randomNumber.test.ts index 649d023200..4d04d477a7 100644 --- a/src/bricks/transformers/randomNumber.test.ts +++ b/applications/browser-extension/src/bricks/transformers/randomNumber.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { RandomNumber } from "@/bricks/transformers/randomNumber"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { RandomNumber } from "./randomNumber"; describe("random number", () => { it("returns a random integer", async () => { diff --git a/src/bricks/transformers/randomNumber.ts b/applications/browser-extension/src/bricks/transformers/randomNumber.ts similarity index 88% rename from src/bricks/transformers/randomNumber.ts rename to applications/browser-extension/src/bricks/transformers/randomNumber.ts index 027e6ad731..c4eadea551 100644 --- a/src/bricks/transformers/randomNumber.ts +++ b/applications/browser-extension/src/bricks/transformers/randomNumber.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; import { random } from "lodash"; -import { BusinessError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { BusinessError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class RandomNumber extends TransformerABC { constructor() { diff --git a/src/bricks/transformers/readable.test.ts b/applications/browser-extension/src/bricks/transformers/readable.test.ts similarity index 88% rename from src/bricks/transformers/readable.test.ts rename to applications/browser-extension/src/bricks/transformers/readable.test.ts index 80a1666bf5..39f4a4be1f 100644 --- a/src/bricks/transformers/readable.test.ts +++ b/applications/browser-extension/src/bricks/transformers/readable.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { Readable } from "@/bricks/transformers/readable"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { Readable } from "./readable"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new Readable(); diff --git a/src/bricks/transformers/readable.ts b/applications/browser-extension/src/bricks/transformers/readable.ts similarity index 89% rename from src/bricks/transformers/readable.ts rename to applications/browser-extension/src/bricks/transformers/readable.ts index e3c9436e38..51899dc136 100644 --- a/src/bricks/transformers/readable.ts +++ b/applications/browser-extension/src/bricks/transformers/readable.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { type BrickOptions } from "@/types/runtimeTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { type BrickOptions } from "../../types/runtimeTypes"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class Readable extends TransformerABC { constructor() { diff --git a/src/bricks/transformers/regex.test.ts b/applications/browser-extension/src/bricks/transformers/regex.test.ts similarity index 96% rename from src/bricks/transformers/regex.test.ts rename to applications/browser-extension/src/bricks/transformers/regex.test.ts index 81450133d1..8235562b32 100644 --- a/src/bricks/transformers/regex.test.ts +++ b/applications/browser-extension/src/bricks/transformers/regex.test.ts @@ -16,10 +16,10 @@ */ import { RegexTransformer } from "./regex"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { BusinessError } from "@/errors/businessErrors"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { BusinessError } from "../../errors/businessErrors"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../utils/expressionUtils"; const transformer = new RegexTransformer(); diff --git a/src/bricks/transformers/regex.ts b/applications/browser-extension/src/bricks/transformers/regex.ts similarity index 94% rename from src/bricks/transformers/regex.ts rename to applications/browser-extension/src/bricks/transformers/regex.ts index d0d3bef44b..6b4e586c8b 100644 --- a/src/bricks/transformers/regex.ts +++ b/applications/browser-extension/src/bricks/transformers/regex.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { compact, isArray, unary } from "lodash"; import { PropError } from "@/errors/businessErrors"; import { type BrickConfig } from "@/bricks/types"; import { extractRegexLiteral } from "@/analysis/analysisVisitors/regexAnalysis"; -import { isNunjucksExpression } from "@/utils/expressionUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { isNunjucksExpression } from "../../utils/expressionUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; function extractNamedCaptureGroups(pattern: string): string[] { // Create new regex on each analysis call to avoid state issues with test diff --git a/src/bricks/transformers/remoteMethod.ts b/applications/browser-extension/src/bricks/transformers/remoteMethod.ts similarity index 82% rename from src/bricks/transformers/remoteMethod.ts rename to applications/browser-extension/src/bricks/transformers/remoteMethod.ts index ae8299d4b1..74b1ae29cf 100644 --- a/src/bricks/transformers/remoteMethod.ts +++ b/applications/browser-extension/src/bricks/transformers/remoteMethod.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import type { NetworkRequestConfig } from "@/types/networkTypes"; -import { PropError } from "@/errors/businessErrors"; -import { validateRegistryId } from "@/types/helpers"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import type { NetworkRequestConfig } from "../../types/networkTypes"; +import { PropError } from "../../errors/businessErrors"; +import { validateRegistryId } from "../../types/helpers"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export const inputProperties: Record = { url: { diff --git a/src/bricks/transformers/screenshotTab.ts b/applications/browser-extension/src/bricks/transformers/screenshotTab.ts similarity index 84% rename from src/bricks/transformers/screenshotTab.ts rename to applications/browser-extension/src/bricks/transformers/screenshotTab.ts index f4e805dd0e..5e4a76d1e8 100644 --- a/src/bricks/transformers/screenshotTab.ts +++ b/applications/browser-extension/src/bricks/transformers/screenshotTab.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { minimalSchemaFactory } from "@/utils/schemaUtils"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import { BusinessError } from "../../errors/businessErrors"; +import { minimalSchemaFactory } from "../../utils/schemaUtils"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; export class ScreenshotTab extends TransformerABC { constructor() { diff --git a/src/bricks/transformers/searchText.test.ts b/applications/browser-extension/src/bricks/transformers/searchText.test.ts similarity index 94% rename from src/bricks/transformers/searchText.test.ts rename to applications/browser-extension/src/bricks/transformers/searchText.test.ts index 1ffffe1921..71cdbbe556 100644 --- a/src/bricks/transformers/searchText.test.ts +++ b/applications/browser-extension/src/bricks/transformers/searchText.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { createStemMap, SearchText } from "@/bricks/transformers/searchText"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { createStemMap, SearchText } from "./searchText"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new SearchText(); diff --git a/src/bricks/transformers/searchText.ts b/applications/browser-extension/src/bricks/transformers/searchText.ts similarity index 95% rename from src/bricks/transformers/searchText.ts rename to applications/browser-extension/src/bricks/transformers/searchText.ts index 9dcc13dd9e..f26048a412 100644 --- a/src/bricks/transformers/searchText.ts +++ b/applications/browser-extension/src/bricks/transformers/searchText.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { castArray } from "lodash"; import { stemmer } from "stemmer"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { assertNotNullish } from "../../utils/nullishUtils"; /** * A text search match. diff --git a/src/bricks/transformers/selectElement.test.ts b/applications/browser-extension/src/bricks/transformers/selectElement.test.ts similarity index 78% rename from src/bricks/transformers/selectElement.test.ts rename to applications/browser-extension/src/bricks/transformers/selectElement.test.ts index 5b35deeedd..2ff1192526 100644 --- a/src/bricks/transformers/selectElement.test.ts +++ b/applications/browser-extension/src/bricks/transformers/selectElement.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import SelectElement from "@/bricks/transformers/selectElement"; -import { userSelectElement } from "@/contentScript/pageEditor/elementPicker"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { CancelError } from "@/errors/businessErrors"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; - -jest.mock("@/contentScript/pageEditor/elementPicker"); +import SelectElement from "./selectElement"; +import { userSelectElement } from "../../contentScript/pageEditor/elementPicker"; +import { getReferenceForElement } from "../../contentScript/elementReference"; +import { CancelError } from "../../errors/businessErrors"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; + +jest.mock("../../contentScript/pageEditor/elementPicker"); const userSelectElementMock = jest.mocked(userSelectElement); diff --git a/src/bricks/transformers/selectElement.ts b/applications/browser-extension/src/bricks/transformers/selectElement.ts similarity index 84% rename from src/bricks/transformers/selectElement.ts rename to applications/browser-extension/src/bricks/transformers/selectElement.ts index 6e78d2ce69..693fd38f72 100644 --- a/src/bricks/transformers/selectElement.ts +++ b/applications/browser-extension/src/bricks/transformers/selectElement.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type Schema } from "../../types/schemaTypes"; import { CONTENT_SCRIPT_CAPABILITIES, type PlatformCapability, -} from "@/platform/capabilities"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { isContentScriptPlatformProtocol } from "@/contentScript/platform/contentScriptPlatformProtocol"; +} from "../../platform/capabilities"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { propertiesToSchema } from "../../utils/schemaUtils"; +import { isContentScriptPlatformProtocol } from "../../contentScript/platform/contentScriptPlatformProtocol"; class SelectElement extends TransformerABC { constructor() { diff --git a/src/bricks/transformers/splitText.test.ts b/applications/browser-extension/src/bricks/transformers/splitText.test.ts similarity index 85% rename from src/bricks/transformers/splitText.test.ts rename to applications/browser-extension/src/bricks/transformers/splitText.test.ts index 9cb9afe101..2881f2e9b4 100644 --- a/src/bricks/transformers/splitText.test.ts +++ b/applications/browser-extension/src/bricks/transformers/splitText.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { SplitText } from "@/bricks/transformers/splitText"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { SplitText } from "./splitText"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new SplitText(); diff --git a/src/bricks/transformers/splitText.ts b/applications/browser-extension/src/bricks/transformers/splitText.ts similarity index 90% rename from src/bricks/transformers/splitText.ts rename to applications/browser-extension/src/bricks/transformers/splitText.ts index e7a5235131..e0c5261d82 100644 --- a/src/bricks/transformers/splitText.ts +++ b/applications/browser-extension/src/bricks/transformers/splitText.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { propertiesToSchema } from "../../utils/schemaUtils"; interface SplitArgs { text: string; diff --git a/src/bricks/transformers/template.ts b/applications/browser-extension/src/bricks/transformers/template.ts similarity index 87% rename from src/bricks/transformers/template.ts rename to applications/browser-extension/src/bricks/transformers/template.ts index 07b9f18c89..eed4da1032 100644 --- a/src/bricks/transformers/template.ts +++ b/applications/browser-extension/src/bricks/transformers/template.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; import { type TemplateEngine, type BrickArgs, type BrickOptions, -} from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +} from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import Mustache from "mustache"; -import { BusinessError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { BusinessError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; /** * Transformer that fills a template using the current context. diff --git a/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts similarity index 85% rename from src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts index c796d5ebd6..7b088ec48f 100644 --- a/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import DisplayTemporaryInfo from "@/bricks/transformers/temporaryInfo/DisplayTemporaryInfo"; -import brickRegistry from "@/bricks/registry"; +import DisplayTemporaryInfo from "./DisplayTemporaryInfo"; +import brickRegistry from "../../registry"; import { ContextBrick, contextBrick, @@ -24,49 +24,49 @@ import { simpleInput, teapotBrick, throwBrick, -} from "@/runtime/pipelineTests/testHelpers"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { getExampleBrickConfig } from "@/bricks/exampleBrickConfigs"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import { type BusinessError } from "@/errors/businessErrors"; +} from "../../../runtime/pipelineTests/testHelpers"; +import { DocumentRenderer } from "../../renderers/document"; +import { getExampleBrickConfig } from "../../exampleBrickConfigs"; +import { reducePipeline } from "../../../runtime/reducePipeline"; +import { type BusinessError } from "../../../errors/businessErrors"; import { isRendererErrorPayload, type PanelPayload, type TemporaryPanelEntry, -} from "@/types/sidebarTypes"; +} from "../../../types/sidebarTypes"; import { showTemporarySidebarPanel, updateTemporarySidebarPanel, -} from "@/contentScript/sidebarController"; +} from "../../../contentScript/sidebarController"; import { cancelTemporaryPanelsForModComponent, updatePanelDefinition, waitForTemporaryPanel, -} from "@/platform/panels/panelController"; -import ConsoleLogger from "@/utils/ConsoleLogger"; -import { tick } from "@/starterBricks/testHelpers"; +} from "../../../platform/panels/panelController"; +import ConsoleLogger from "../../../utils/ConsoleLogger"; +import { tick } from "../../../starterBricks/testHelpers"; import pDefer from "p-defer"; -import { type RendererErrorPayload } from "@/types/rendererTypes"; -import { contextAsPlainObject } from "@/runtime/extendModVariableContext"; +import { type RendererErrorPayload } from "../../../types/rendererTypes"; +import { contextAsPlainObject } from "../../../runtime/extendModVariableContext"; import { unary } from "lodash"; -import { toExpression } from "@/utils/expressionUtils"; -import { showModal } from "@/contentScript/modalDom"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; -import { mapModComponentRefToMessageContext } from "@/utils/modUtils"; -import { reduceOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import { toExpression } from "../../../utils/expressionUtils"; +import { showModal } from "../../../contentScript/modalDom"; +import { isLoadedInIframe } from "../../../utils/iframeUtils"; +import { modComponentRefFactory } from "../../../testUtils/factories/modComponentFactories"; +import { mapModComponentRefToMessageContext } from "../../../utils/modUtils"; +import { reduceOptionsFactory } from "../../../testUtils/factories/runtimeFactories"; import { MergeStrategies, STATE_CHANGE_JS_EVENT_TYPE, StateNamespaces, -} from "@/platform/state/stateTypes"; -import { RefreshTriggers } from "@/platform/panels/panelTypes"; -import { getPlatform } from "@/platform/platformContext"; - -jest.mock("@/contentScript/modalDom"); -jest.mock("@/contentScript/sidebarController"); -jest.mock("@/platform/panels/panelController"); -jest.mock("@/utils/iframeUtils"); +} from "../../../platform/state/stateTypes"; +import { RefreshTriggers } from "../../../platform/panels/panelTypes"; +import { getPlatform } from "../../../platform/platformContext"; + +jest.mock("../../../contentScript/modalDom"); +jest.mock("../../../contentScript/sidebarController"); +jest.mock("../../../platform/panels/panelController"); +jest.mock("../../../utils/iframeUtils"); const displayTemporaryInfoBlock = new DisplayTemporaryInfo(); const renderer = new DocumentRenderer(); diff --git a/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts similarity index 88% rename from src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts index 570ff30972..56c32b9f65 100644 --- a/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/DisplayTemporaryInfo.ts @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; +import { validateRegistryId } from "../../../types/helpers"; import { type BrickArgs, type BrickOptions, type PipelineExpression, -} from "@/types/runtimeTypes"; -import { expectContext } from "@/utils/expectContext"; -import { IS_ROOT_AWARE_BRICK_PROPS } from "@/bricks/rootModeHelpers"; +} from "../../../types/runtimeTypes"; +import { expectContext } from "../../../utils/expectContext"; +import { IS_ROOT_AWARE_BRICK_PROPS } from "../../rootModeHelpers"; import { type JsonObject } from "type-fest"; -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { type Location } from "@/types/starterBrickTypes"; +import { TransformerABC } from "../../../types/bricks/transformerTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { type Location } from "../../../types/starterBrickTypes"; import { type RefreshTrigger, RefreshTriggers, type TemporaryPanelEntryMetadata, -} from "@/platform/panels/panelTypes"; +} from "../../../platform/panels/panelTypes"; class DisplayTemporaryInfo extends TransformerABC { static BRICK_ID = validateRegistryId("@pixiebrix/display"); diff --git a/src/bricks/transformers/temporaryInfo/EphemeralPanel.module.scss b/applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.module.scss similarity index 100% rename from src/bricks/transformers/temporaryInfo/EphemeralPanel.module.scss rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.module.scss diff --git a/src/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx b/applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx similarity index 85% rename from src/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx index e7fd00aad4..7cb5ff9b5f 100644 --- a/src/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.test.tsx @@ -17,23 +17,23 @@ import React from "react"; import { render, screen } from "@testing-library/react"; -import EphemeralPanel from "@/bricks/transformers/temporaryInfo/EphemeralPanel"; -import { uuidv4 } from "@/types/helpers"; -import useTemporaryPanelDefinition from "@/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import EphemeralPanel from "./EphemeralPanel"; +import { uuidv4 } from "../../../types/helpers"; +import useTemporaryPanelDefinition from "./useTemporaryPanelDefinition"; +import { waitForEffect } from "../../../testUtils/testHelpers"; import { cancelTemporaryPanel, resolveTemporaryPanel, -} from "@/contentScript/messenger/api"; +} from "../../../contentScript/messenger/api"; -import { sidebarEntryFactory } from "@/testUtils/factories/sidebarEntryFactories"; +import { sidebarEntryFactory } from "../../../testUtils/factories/sidebarEntryFactories"; import userEvent from "@testing-library/user-event"; -jest.mock("@/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition"); +jest.mock("./useTemporaryPanelDefinition"); -jest.mock("@/contentScript/messenger/api"); +jest.mock("../../../contentScript/messenger/api"); -jest.mock("@/sidebar/PanelBody", () => ({ +jest.mock("../../../sidebar/PanelBody", () => ({ __esModule: true, default: jest.fn(() =>
), })); diff --git a/src/bricks/transformers/temporaryInfo/EphemeralPanel.tsx b/applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.tsx similarity index 89% rename from src/bricks/transformers/temporaryInfo/EphemeralPanel.tsx rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.tsx index 56851db979..0aa7c6dbaf 100644 --- a/src/bricks/transformers/temporaryInfo/EphemeralPanel.tsx +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/EphemeralPanel.tsx @@ -21,22 +21,22 @@ import { Button, Modal, Popover } from "react-bootstrap"; import { cancelTemporaryPanel, resolveTemporaryPanel, -} from "@/contentScript/messenger/api"; -import Loader from "@/components/Loader"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { type Target } from "@/types/messengerTypes"; -import { validateUUID } from "@/types/helpers"; -import ErrorBoundary from "@/components/ErrorBoundary"; -import PanelBody from "@/sidebar/PanelBody"; -import useTemporaryPanelDefinition from "@/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition"; -import { type UUID } from "@/types/stringTypes"; +} from "../../../contentScript/messenger/api"; +import Loader from "../../../components/Loader"; +import { getErrorMessage } from "../../../errors/errorHelpers"; +import { type Target } from "../../../types/messengerTypes"; +import { validateUUID } from "../../../types/helpers"; +import ErrorBoundary from "../../../components/ErrorBoundary"; +import PanelBody from "../../../sidebar/PanelBody"; +import useTemporaryPanelDefinition from "./useTemporaryPanelDefinition"; +import { type UUID } from "../../../types/stringTypes"; import { startCase } from "lodash"; -import { type PanelButton } from "@/types/sidebarTypes"; -import { ClosePanelAction } from "@/bricks/errors"; +import { type PanelButton } from "../../../types/sidebarTypes"; +import { ClosePanelAction } from "../../errors"; import styles from "./EphemeralPanel.module.scss"; -import useReportError from "@/hooks/useReportError"; -import { mapModComponentRefToMessageContext } from "@/utils/modUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import useReportError from "../../../hooks/useReportError"; +import { mapModComponentRefToMessageContext } from "../../../utils/modUtils"; +import { assertNotNullish } from "../../../utils/nullishUtils"; type Mode = "modal" | "popover"; diff --git a/src/bricks/transformers/temporaryInfo/__snapshots__/EphemeralPanel.test.tsx.snap b/applications/browser-extension/src/bricks/transformers/temporaryInfo/__snapshots__/EphemeralPanel.test.tsx.snap similarity index 100% rename from src/bricks/transformers/temporaryInfo/__snapshots__/EphemeralPanel.test.tsx.snap rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/__snapshots__/EphemeralPanel.test.tsx.snap diff --git a/src/bricks/transformers/temporaryInfo/messenger/api.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/messenger/api.ts similarity index 100% rename from src/bricks/transformers/temporaryInfo/messenger/api.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/messenger/api.ts diff --git a/src/bricks/transformers/temporaryInfo/messenger/registration.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/messenger/registration.ts similarity index 92% rename from src/bricks/transformers/temporaryInfo/messenger/registration.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/messenger/registration.ts index 6d00148b38..8561529d06 100644 --- a/src/bricks/transformers/temporaryInfo/messenger/registration.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/messenger/registration.ts @@ -20,8 +20,8 @@ import { registerMethods } from "webext-messenger"; import { setTemporaryPanelNonce, updateTemporaryPanel, -} from "@/bricks/transformers/temporaryInfo/receiverProtocol"; -import { expectContext } from "@/utils/expectContext"; +} from "../receiverProtocol"; +import { expectContext } from "../../../../utils/expectContext"; expectContext("extension"); diff --git a/src/bricks/transformers/temporaryInfo/receiverProtocol.test.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/receiverProtocol.test.ts similarity index 92% rename from src/bricks/transformers/temporaryInfo/receiverProtocol.test.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/receiverProtocol.test.ts index 4d73d4d659..e9cf8b5edf 100644 --- a/src/bricks/transformers/temporaryInfo/receiverProtocol.test.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/receiverProtocol.test.ts @@ -20,9 +20,9 @@ import { type PanelListener, removeListener, updateTemporaryPanel, -} from "@/bricks/transformers/temporaryInfo/receiverProtocol"; -import { type TemporaryPanelEntry } from "@/types/sidebarTypes"; -import { validateTimedSequence } from "@/types/helpers"; +} from "./receiverProtocol"; +import { type TemporaryPanelEntry } from "../../../types/sidebarTypes"; +import { validateTimedSequence } from "../../../types/helpers"; describe("receiverProtocol", () => { test("add/remove listener", async () => { diff --git a/src/bricks/transformers/temporaryInfo/receiverProtocol.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/receiverProtocol.ts similarity index 91% rename from src/bricks/transformers/temporaryInfo/receiverProtocol.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/receiverProtocol.ts index 9dafd00df1..a78dff4a09 100644 --- a/src/bricks/transformers/temporaryInfo/receiverProtocol.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/receiverProtocol.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import reportError from "@/telemetry/reportError"; -import { type TemporaryPanelEntry } from "@/types/sidebarTypes"; +import reportError from "../../../telemetry/reportError"; +import { type TemporaryPanelEntry } from "../../../types/sidebarTypes"; import { remove } from "lodash"; -import { type UUID, type TimedSequence } from "@/types/stringTypes"; -import { getTimedSequence } from "@/types/helpers"; +import { type UUID, type TimedSequence } from "../../../types/stringTypes"; +import { getTimedSequence } from "../../../types/helpers"; let lastMessageSeen = getTimedSequence(); diff --git a/src/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts similarity index 91% rename from src/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts index 937eb43a0d..288a721dee 100644 --- a/src/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/temporaryPanelProtocol.test.ts @@ -21,11 +21,11 @@ import { stopWaitingForTemporaryPanels, waitForTemporaryPanel, resolveTemporaryPanel, -} from "@/platform/panels/panelController"; -import { uuidv4 } from "@/types/helpers"; -import { CancelError } from "@/errors/businessErrors"; +} from "../../../platform/panels/panelController"; +import { uuidv4 } from "../../../types/helpers"; +import { CancelError } from "../../../errors/businessErrors"; -import { sidebarEntryFactory } from "@/testUtils/factories/sidebarEntryFactories"; +import { sidebarEntryFactory } from "../../../testUtils/factories/sidebarEntryFactories"; describe("temporaryPanelProtocol", () => { it("getPanelDefinition if panel is not defined", async () => { diff --git a/src/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts b/applications/browser-extension/src/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts similarity index 87% rename from src/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts rename to applications/browser-extension/src/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts index 8bf713e9fd..c27546e9c2 100644 --- a/src/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts +++ b/applications/browser-extension/src/bricks/transformers/temporaryInfo/useTemporaryPanelDefinition.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import { getPanelDefinition } from "@/contentScript/messenger/api"; -import { type UUID } from "@/types/stringTypes"; -import { type TemporaryPanelEntry } from "@/types/sidebarTypes"; -import { type Target } from "@/types/messengerTypes"; +import { getPanelDefinition } from "../../../contentScript/messenger/api"; +import { type UUID } from "../../../types/stringTypes"; +import { type TemporaryPanelEntry } from "../../../types/sidebarTypes"; +import { type Target } from "../../../types/messengerTypes"; import { useEffect, useState } from "react"; import { addListener, type PanelListener, removeListener, -} from "@/bricks/transformers/temporaryInfo/receiverProtocol"; -import { validateUUID } from "@/types/helpers"; -import useAsyncState from "@/hooks/useAsyncState"; -import { type Nullishable } from "@/utils/nullishUtils"; +} from "./receiverProtocol"; +import { validateUUID } from "../../../types/helpers"; +import useAsyncState from "../../../hooks/useAsyncState"; +import { type Nullishable } from "../../../utils/nullishUtils"; type PanelDefinition = { /** diff --git a/src/bricks/transformers/traverseElements.test.ts b/applications/browser-extension/src/bricks/transformers/traverseElements.test.ts similarity index 84% rename from src/bricks/transformers/traverseElements.test.ts rename to applications/browser-extension/src/bricks/transformers/traverseElements.test.ts index 49897670df..1e869dabc1 100644 --- a/src/bricks/transformers/traverseElements.test.ts +++ b/applications/browser-extension/src/bricks/transformers/traverseElements.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import TraverseElements from "@/bricks/transformers/traverseElements"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; +import TraverseElements from "./traverseElements"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { getReferenceForElement } from "../../contentScript/elementReference"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; const brick = new TraverseElements(); diff --git a/src/bricks/transformers/traverseElements.ts b/applications/browser-extension/src/bricks/transformers/traverseElements.ts similarity index 91% rename from src/bricks/transformers/traverseElements.ts rename to applications/browser-extension/src/bricks/transformers/traverseElements.ts index 5b4ca2ea7f..fb5858d4bd 100644 --- a/src/bricks/transformers/traverseElements.ts +++ b/applications/browser-extension/src/bricks/transformers/traverseElements.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { getReferenceForElement } from "../../contentScript/elementReference"; +import { type Schema } from "../../types/schemaTypes"; import { type BrickArgs, type BrickOptions, type ElementReference, -} from "@/types/runtimeTypes"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +} from "../../types/runtimeTypes"; +import { propertiesToSchema } from "../../utils/schemaUtils"; const traversalTypes = [ "closest", diff --git a/src/bricks/transformers/url.ts b/applications/browser-extension/src/bricks/transformers/url.ts similarity index 92% rename from src/bricks/transformers/url.ts rename to applications/browser-extension/src/bricks/transformers/url.ts index c68f9f2107..48a2b4cf5a 100644 --- a/src/bricks/transformers/url.ts +++ b/applications/browser-extension/src/bricks/transformers/url.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; import { LEGACY_URL_INPUT_SPACE_ENCODING_DEFAULT, makeURL, URL_INPUT_SPACE_ENCODING_DEFAULT, -} from "@/utils/urlUtils"; +} from "../../utils/urlUtils"; export const URL_INPUT_SPEC: Schema = { $schema: "https://json-schema.org/draft/2019-09/schema#", diff --git a/src/bricks/types.ts b/applications/browser-extension/src/bricks/types.ts similarity index 100% rename from src/bricks/types.ts rename to applications/browser-extension/src/bricks/types.ts diff --git a/src/bricks/util.test.ts b/applications/browser-extension/src/bricks/util.test.ts similarity index 97% rename from src/bricks/util.test.ts rename to applications/browser-extension/src/bricks/util.test.ts index 16fdd3e844..431bdd6b8d 100644 --- a/src/bricks/util.test.ts +++ b/applications/browser-extension/src/bricks/util.test.ts @@ -19,7 +19,7 @@ import { defaultBrickConfig, isOfficial } from "./util"; import { type RegistryId } from "@/types/registryTypes"; import IfElse from "./transformers/controlFlow/IfElse"; import { type Schema } from "@/types/schemaTypes"; -import { EMPTY_PIPELINE } from "@/utils/expressionUtils"; +import { EMPTY_PIPELINE } from "../utils/expressionUtils"; describe("isOfficial", () => { test("returns true for an official block", () => { diff --git a/src/bricks/util.ts b/applications/browser-extension/src/bricks/util.ts similarity index 87% rename from src/bricks/util.ts rename to applications/browser-extension/src/bricks/util.ts index 5e4dfc060f..c78462ef20 100644 --- a/src/bricks/util.ts +++ b/applications/browser-extension/src/bricks/util.ts @@ -16,15 +16,15 @@ */ import { mapValues, pickBy } from "lodash"; -import { type BrickConfig, type BrickPipeline } from "@/bricks/types"; -import brickRegistry from "@/bricks/registry"; -import pipelineSchema from "@schemas/pipeline.json"; +import { type BrickConfig, type BrickPipeline } from "./types"; +import brickRegistry from "./registry"; +import pipelineSchema from "../../schemas/pipeline.json"; import { type RegistryId } from "@/types/registryTypes"; import { type Schema } from "@/types/schemaTypes"; import { type Brick } from "@/types/brickTypes"; -import BrickIdVisitor from "@/analysis/analysisVisitors/brickIdVisitor"; -import { removeUndefined } from "@/utils/objectUtils"; -import { toExpression } from "@/utils/expressionUtils"; +import BrickIdVisitor from "../analysis/analysisVisitors/brickIdVisitor"; +import { removeUndefined } from "../utils/objectUtils"; +import { toExpression } from "../utils/expressionUtils"; /** * Return true if the given registry id corresponds to a built-in package. diff --git a/src/components/AceEditor.tsx b/applications/browser-extension/src/components/AceEditor.tsx similarity index 100% rename from src/components/AceEditor.tsx rename to applications/browser-extension/src/components/AceEditor.tsx diff --git a/src/components/AceEditorSync.tsx b/applications/browser-extension/src/components/AceEditorSync.tsx similarity index 100% rename from src/components/AceEditorSync.tsx rename to applications/browser-extension/src/components/AceEditorSync.tsx diff --git a/src/components/Alert.tsx b/applications/browser-extension/src/components/Alert.tsx similarity index 100% rename from src/components/Alert.tsx rename to applications/browser-extension/src/components/Alert.tsx diff --git a/src/components/AsyncButton.stories.tsx b/applications/browser-extension/src/components/AsyncButton.stories.tsx similarity index 96% rename from src/components/AsyncButton.stories.tsx rename to applications/browser-extension/src/components/AsyncButton.stories.tsx index b9e71c1d99..392d0593de 100644 --- a/src/components/AsyncButton.stories.tsx +++ b/applications/browser-extension/src/components/AsyncButton.stories.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import AsyncButton from "@/components/AsyncButton"; +import AsyncButton from "./AsyncButton"; export default { title: "Common/AsyncButton", diff --git a/src/components/AsyncButton.tsx b/applications/browser-extension/src/components/AsyncButton.tsx similarity index 100% rename from src/components/AsyncButton.tsx rename to applications/browser-extension/src/components/AsyncButton.tsx diff --git a/src/components/AsyncStateGate.test.tsx b/applications/browser-extension/src/components/AsyncStateGate.test.tsx similarity index 93% rename from src/components/AsyncStateGate.test.tsx rename to applications/browser-extension/src/components/AsyncStateGate.test.tsx index 920707f4c1..5fcdc8dcc9 100644 --- a/src/components/AsyncStateGate.test.tsx +++ b/applications/browser-extension/src/components/AsyncStateGate.test.tsx @@ -17,13 +17,13 @@ import { render, screen } from "@testing-library/react"; import React from "react"; -import AsyncStateGate, { StandardError } from "@/components/AsyncStateGate"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; +import AsyncStateGate, { StandardError } from "./AsyncStateGate"; +import { valueToAsyncState } from "../utils/asyncStateUtils"; import { queryErrorFactory, queryLoadingFactory, queryUninitializedFactory, -} from "@/testUtils/rtkQueryFactories"; +} from "../testUtils/rtkQueryFactories"; describe("AsyncStateGate", () => { it("renders loader on uninitialized", () => { diff --git a/src/components/AsyncStateGate.tsx b/applications/browser-extension/src/components/AsyncStateGate.tsx similarity index 94% rename from src/components/AsyncStateGate.tsx rename to applications/browser-extension/src/components/AsyncStateGate.tsx index aa26b211d1..bc88c6423a 100644 --- a/src/components/AsyncStateGate.tsx +++ b/applications/browser-extension/src/components/AsyncStateGate.tsx @@ -16,11 +16,11 @@ */ import React, { type PropsWithoutRef } from "react"; -import Loader from "@/components/Loader"; -import { getErrorMessage } from "@/errors/errorHelpers"; +import Loader from "./Loader"; +import { getErrorMessage } from "../errors/errorHelpers"; import { type AsyncState, type FetchableAsyncState } from "@/types/sliceTypes"; import { Button } from "react-bootstrap"; -import { isFetchableAsyncState } from "@/utils/asyncStateUtils"; +import { isFetchableAsyncState } from "../utils/asyncStateUtils"; /** * A standard error display for use with AsyncStateGate diff --git a/src/components/BlockFormSubmissionViaEnterIfFirstChild.tsx b/applications/browser-extension/src/components/BlockFormSubmissionViaEnterIfFirstChild.tsx similarity index 100% rename from src/components/BlockFormSubmissionViaEnterIfFirstChild.tsx rename to applications/browser-extension/src/components/BlockFormSubmissionViaEnterIfFirstChild.tsx diff --git a/src/components/Centered.tsx b/applications/browser-extension/src/components/Centered.tsx similarity index 100% rename from src/components/Centered.tsx rename to applications/browser-extension/src/components/Centered.tsx diff --git a/src/components/ClickableElement.test.tsx b/applications/browser-extension/src/components/ClickableElement.test.tsx similarity index 100% rename from src/components/ClickableElement.test.tsx rename to applications/browser-extension/src/components/ClickableElement.test.tsx diff --git a/src/components/ClickableElement.tsx b/applications/browser-extension/src/components/ClickableElement.tsx similarity index 100% rename from src/components/ClickableElement.tsx rename to applications/browser-extension/src/components/ClickableElement.tsx diff --git a/src/components/ConfirmNavigationModal.tsx b/applications/browser-extension/src/components/ConfirmNavigationModal.tsx similarity index 100% rename from src/components/ConfirmNavigationModal.tsx rename to applications/browser-extension/src/components/ConfirmNavigationModal.tsx diff --git a/src/components/ConfirmationModal.stories.tsx b/applications/browser-extension/src/components/ConfirmationModal.stories.tsx similarity index 97% rename from src/components/ConfirmationModal.stories.tsx rename to applications/browser-extension/src/components/ConfirmationModal.stories.tsx index cf85a22d2f..ad5f68a859 100644 --- a/src/components/ConfirmationModal.stories.tsx +++ b/applications/browser-extension/src/components/ConfirmationModal.stories.tsx @@ -18,7 +18,7 @@ import React, { type ComponentProps, useCallback } from "react"; import { type ComponentMeta, type Story } from "@storybook/react"; import AsyncButton from "./AsyncButton"; -import { ModalProvider, useModals } from "@/components/ConfirmationModal"; +import { ModalProvider, useModals } from "./ConfirmationModal"; export default { title: "Components/ConfirmationModal", diff --git a/src/components/ConfirmationModal.tsx b/applications/browser-extension/src/components/ConfirmationModal.tsx similarity index 100% rename from src/components/ConfirmationModal.tsx rename to applications/browser-extension/src/components/ConfirmationModal.tsx diff --git a/src/components/DatabaseUnresponsiveBanner.test.tsx b/applications/browser-extension/src/components/DatabaseUnresponsiveBanner.test.tsx similarity index 88% rename from src/components/DatabaseUnresponsiveBanner.test.tsx rename to applications/browser-extension/src/components/DatabaseUnresponsiveBanner.test.tsx index f74499fe43..e001f03563 100644 --- a/src/components/DatabaseUnresponsiveBanner.test.tsx +++ b/applications/browser-extension/src/components/DatabaseUnresponsiveBanner.test.tsx @@ -16,13 +16,13 @@ */ import React from "react"; -import { render } from "@/extensionConsole/testHelpers"; +import { render } from "../extensionConsole/testHelpers"; import { act, screen } from "@testing-library/react"; -import { count } from "@/registry/packageRegistry"; -import DatabaseUnresponsiveBanner from "@/components/DatabaseUnresponsiveBanner"; +import { count } from "../registry/packageRegistry"; +import DatabaseUnresponsiveBanner from "./DatabaseUnresponsiveBanner"; import pDefer from "p-defer"; -jest.mock("@/registry/packageRegistry"); +jest.mock("../registry/packageRegistry"); beforeEach(async () => { jest.useFakeTimers(); diff --git a/src/components/DatabaseUnresponsiveBanner.tsx b/applications/browser-extension/src/components/DatabaseUnresponsiveBanner.tsx similarity index 80% rename from src/components/DatabaseUnresponsiveBanner.tsx rename to applications/browser-extension/src/components/DatabaseUnresponsiveBanner.tsx index fad24bf7e9..832f0ed2c5 100644 --- a/src/components/DatabaseUnresponsiveBanner.tsx +++ b/applications/browser-extension/src/components/DatabaseUnresponsiveBanner.tsx @@ -16,14 +16,14 @@ */ import React from "react"; -import Banner from "@/components/banner/Banner"; -import useAsyncState from "@/hooks/useAsyncState"; -import { count as pingPackageDatabase } from "@/registry/packageRegistry"; -import useTimeoutState from "@/hooks/useTimeoutState"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import reportError from "@/telemetry/reportError"; -import { usePreviousValue } from "@/hooks/usePreviousValue"; +import Banner from "./banner/Banner"; +import useAsyncState from "../hooks/useAsyncState"; +import { count as pingPackageDatabase } from "../registry/packageRegistry"; +import useTimeoutState from "../hooks/useTimeoutState"; +import reportEvent from "../telemetry/reportEvent"; +import { Events } from "../telemetry/events"; +import reportError from "../telemetry/reportError"; +import { usePreviousValue } from "../hooks/usePreviousValue"; const errorBanner = ( diff --git a/src/components/DelayedRender.test.tsx b/applications/browser-extension/src/components/DelayedRender.test.tsx similarity index 100% rename from src/components/DelayedRender.test.tsx rename to applications/browser-extension/src/components/DelayedRender.test.tsx diff --git a/src/components/DelayedRender.tsx b/applications/browser-extension/src/components/DelayedRender.tsx similarity index 95% rename from src/components/DelayedRender.tsx rename to applications/browser-extension/src/components/DelayedRender.tsx index 8de47bba3b..390340d0ad 100644 --- a/src/components/DelayedRender.tsx +++ b/applications/browser-extension/src/components/DelayedRender.tsx @@ -16,7 +16,7 @@ */ import React from "react"; -import useTimeoutState from "@/hooks/useTimeoutState"; +import useTimeoutState from "../hooks/useTimeoutState"; type Props = { millis: number; diff --git a/src/components/DiffEditor.tsx b/applications/browser-extension/src/components/DiffEditor.tsx similarity index 100% rename from src/components/DiffEditor.tsx rename to applications/browser-extension/src/components/DiffEditor.tsx diff --git a/src/components/DiffEditorSync.tsx b/applications/browser-extension/src/components/DiffEditorSync.tsx similarity index 100% rename from src/components/DiffEditorSync.tsx rename to applications/browser-extension/src/components/DiffEditorSync.tsx diff --git a/src/components/Effect.tsx b/applications/browser-extension/src/components/Effect.tsx similarity index 100% rename from src/components/Effect.tsx rename to applications/browser-extension/src/components/Effect.tsx diff --git a/src/components/EmotionShadowRoot.ts b/applications/browser-extension/src/components/EmotionShadowRoot.ts similarity index 100% rename from src/components/EmotionShadowRoot.ts rename to applications/browser-extension/src/components/EmotionShadowRoot.ts diff --git a/src/components/ErrorBoundary.tsx b/applications/browser-extension/src/components/ErrorBoundary.tsx similarity index 97% rename from src/components/ErrorBoundary.tsx rename to applications/browser-extension/src/components/ErrorBoundary.tsx index f23d03b14c..9f74f01c94 100644 --- a/src/components/ErrorBoundary.tsx +++ b/applications/browser-extension/src/components/ErrorBoundary.tsx @@ -19,9 +19,9 @@ import React, { Component, type ErrorInfo } from "react"; import { Button } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faRedo } from "@fortawesome/free-solid-svg-icons"; -import { getErrorMessage } from "@/errors/errorHelpers"; +import { getErrorMessage } from "../errors/errorHelpers"; import { isEmpty } from "lodash"; -import reportError from "@/telemetry/reportError"; +import reportError from "../telemetry/reportError"; interface DisplayProps { /** diff --git a/src/components/GridLoader.stories.tsx b/applications/browser-extension/src/components/GridLoader.stories.tsx similarity index 96% rename from src/components/GridLoader.stories.tsx rename to applications/browser-extension/src/components/GridLoader.stories.tsx index 70b7bdef0c..759f7a3914 100644 --- a/src/components/GridLoader.stories.tsx +++ b/applications/browser-extension/src/components/GridLoader.stories.tsx @@ -17,7 +17,7 @@ import React from "react"; import type { ComponentStory, ComponentMeta } from "@storybook/react"; -import Loader from "@/components/Loader"; +import Loader from "./Loader"; export default { title: "Common/Loader", diff --git a/src/components/InvalidatedContextGate.test.tsx b/applications/browser-extension/src/components/InvalidatedContextGate.test.tsx similarity index 94% rename from src/components/InvalidatedContextGate.test.tsx rename to applications/browser-extension/src/components/InvalidatedContextGate.test.tsx index 96df6215c6..03c5e94f54 100644 --- a/src/components/InvalidatedContextGate.test.tsx +++ b/applications/browser-extension/src/components/InvalidatedContextGate.test.tsx @@ -18,9 +18,9 @@ import { render, screen } from "@testing-library/react"; import React from "react"; import InvalidatedContextGate from "./InvalidatedContextGate"; -import useContextInvalidated from "@/hooks/useContextInvalidated"; +import useContextInvalidated from "../hooks/useContextInvalidated"; -jest.mock("@/hooks/useContextInvalidated"); +jest.mock("../hooks/useContextInvalidated"); const useContextInvalidatedMock = jest.mocked(useContextInvalidated); diff --git a/src/components/InvalidatedContextGate.tsx b/applications/browser-extension/src/components/InvalidatedContextGate.tsx similarity index 94% rename from src/components/InvalidatedContextGate.tsx rename to applications/browser-extension/src/components/InvalidatedContextGate.tsx index 68e43b14f2..8b6b91e36f 100644 --- a/src/components/InvalidatedContextGate.tsx +++ b/applications/browser-extension/src/components/InvalidatedContextGate.tsx @@ -17,8 +17,8 @@ import React from "react"; import { Button } from "react-bootstrap"; -import useContextInvalidated from "@/hooks/useContextInvalidated"; -import useDocumentVisibility from "@/hooks/useDocumentVisibility"; +import useContextInvalidated from "../hooks/useContextInvalidated"; +import useDocumentVisibility from "../hooks/useDocumentVisibility"; type ContextInvalidatedProps = { autoReload?: boolean; diff --git a/src/components/IsolatedComponent.scss b/applications/browser-extension/src/components/IsolatedComponent.scss similarity index 100% rename from src/components/IsolatedComponent.scss rename to applications/browser-extension/src/components/IsolatedComponent.scss diff --git a/src/components/IsolatedComponent.tsx b/applications/browser-extension/src/components/IsolatedComponent.tsx similarity index 97% rename from src/components/IsolatedComponent.tsx rename to applications/browser-extension/src/components/IsolatedComponent.tsx index d573a3e523..12e7a9e047 100644 --- a/src/components/IsolatedComponent.tsx +++ b/applications/browser-extension/src/components/IsolatedComponent.tsx @@ -20,8 +20,8 @@ import cssText from "./IsolatedComponent.scss?loadAsText"; import React, { Suspense, useMemo } from "react"; -import { Stylesheets } from "@/components/Stylesheets"; -import EmotionShadowRoot from "@/components/EmotionShadowRoot"; +import { Stylesheets } from "./Stylesheets"; +import EmotionShadowRoot from "./EmotionShadowRoot"; import isolatedComponentList from "./isolatedComponentList"; const MODE = process.env.SHADOW_DOM as "open" | "closed"; diff --git a/src/components/LayoutWidget.tsx b/applications/browser-extension/src/components/LayoutWidget.tsx similarity index 100% rename from src/components/LayoutWidget.tsx rename to applications/browser-extension/src/components/LayoutWidget.tsx diff --git a/src/components/LinkButton.module.scss b/applications/browser-extension/src/components/LinkButton.module.scss similarity index 100% rename from src/components/LinkButton.module.scss rename to applications/browser-extension/src/components/LinkButton.module.scss diff --git a/src/components/LinkButton.stories.tsx b/applications/browser-extension/src/components/LinkButton.stories.tsx similarity index 95% rename from src/components/LinkButton.stories.tsx rename to applications/browser-extension/src/components/LinkButton.stories.tsx index ff82787dff..1c92f4ee94 100644 --- a/src/components/LinkButton.stories.tsx +++ b/applications/browser-extension/src/components/LinkButton.stories.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import { LinkButton } from "@/components/LinkButton"; +import { LinkButton } from "./LinkButton"; export default { title: "Common/LinkButton", diff --git a/src/components/LinkButton.tsx b/applications/browser-extension/src/components/LinkButton.tsx similarity index 100% rename from src/components/LinkButton.tsx rename to applications/browser-extension/src/components/LinkButton.tsx diff --git a/src/components/Loader.module.scss b/applications/browser-extension/src/components/Loader.module.scss similarity index 100% rename from src/components/Loader.module.scss rename to applications/browser-extension/src/components/Loader.module.scss diff --git a/src/components/Loader.stories.tsx b/applications/browser-extension/src/components/Loader.stories.tsx similarity index 96% rename from src/components/Loader.stories.tsx rename to applications/browser-extension/src/components/Loader.stories.tsx index c4f5367288..6c37ad743c 100644 --- a/src/components/Loader.stories.tsx +++ b/applications/browser-extension/src/components/Loader.stories.tsx @@ -17,7 +17,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import Loader from "@/components/Loader"; +import Loader from "./Loader"; export default { title: "Common/Loader", diff --git a/src/components/Loader.tsx b/applications/browser-extension/src/components/Loader.tsx similarity index 100% rename from src/components/Loader.tsx rename to applications/browser-extension/src/components/Loader.tsx diff --git a/src/components/Markdown.tsx b/applications/browser-extension/src/components/Markdown.tsx similarity index 97% rename from src/components/Markdown.tsx rename to applications/browser-extension/src/components/Markdown.tsx index ce1410ab40..84760b6f27 100644 --- a/src/components/Markdown.tsx +++ b/applications/browser-extension/src/components/Markdown.tsx @@ -16,7 +16,7 @@ */ import React, { useMemo } from "react"; -import sanitize from "@/utils/sanitize"; +import sanitize from "../utils/sanitize"; import { marked } from "marked"; import type { Config } from "dompurify"; diff --git a/src/components/MarkdownInline.test.tsx b/applications/browser-extension/src/components/MarkdownInline.test.tsx similarity index 95% rename from src/components/MarkdownInline.test.tsx rename to applications/browser-extension/src/components/MarkdownInline.test.tsx index 62e0e586ef..4d40ad9a49 100644 --- a/src/components/MarkdownInline.test.tsx +++ b/applications/browser-extension/src/components/MarkdownInline.test.tsx @@ -16,7 +16,7 @@ */ import { render } from "@testing-library/react"; import React from "react"; -import MarkdownInline from "@/components/MarkdownInline"; +import MarkdownInline from "./MarkdownInline"; describe("MarkdownInline", () => { it("renders without p tag", () => { diff --git a/src/components/MarkdownInline.tsx b/applications/browser-extension/src/components/MarkdownInline.tsx similarity index 97% rename from src/components/MarkdownInline.tsx rename to applications/browser-extension/src/components/MarkdownInline.tsx index 3bfc54bbc7..6f661ddc26 100644 --- a/src/components/MarkdownInline.tsx +++ b/applications/browser-extension/src/components/MarkdownInline.tsx @@ -16,7 +16,7 @@ */ import React, { useMemo } from "react"; -import sanitize from "@/utils/sanitize"; +import sanitize from "../utils/sanitize"; import { marked } from "marked"; import type DOMPurify from "dompurify"; diff --git a/src/components/MarketplaceListingIcon.tsx b/applications/browser-extension/src/components/MarketplaceListingIcon.tsx similarity index 92% rename from src/components/MarketplaceListingIcon.tsx rename to applications/browser-extension/src/components/MarketplaceListingIcon.tsx index 8ec1299385..f861b46c07 100644 --- a/src/components/MarketplaceListingIcon.tsx +++ b/applications/browser-extension/src/components/MarketplaceListingIcon.tsx @@ -17,12 +17,12 @@ import React from "react"; import { type RegistryId } from "@/types/registryTypes"; -import { useGetMarketplaceListingQuery } from "@/data/service/api"; -import { useAsyncIcon } from "@/components/asyncIcon"; +import { useGetMarketplaceListingQuery } from "../data/service/api"; +import { useAsyncIcon } from "./asyncIcon"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import cx from "classnames"; import styles from "./MarketplaceListingModIcon.module.scss"; -import { DEFAULT_TEXT_ICON_COLOR } from "@/icons/constants"; +import { DEFAULT_TEXT_ICON_COLOR } from "../icons/constants"; import { type IconProp } from "@fortawesome/fontawesome-svg-core"; const MarketplaceListingIcon: React.FC<{ diff --git a/src/components/MarketplaceListingModIcon.module.scss b/applications/browser-extension/src/components/MarketplaceListingModIcon.module.scss similarity index 100% rename from src/components/MarketplaceListingModIcon.module.scss rename to applications/browser-extension/src/components/MarketplaceListingModIcon.module.scss diff --git a/src/components/ModalLayout.tsx b/applications/browser-extension/src/components/ModalLayout.tsx similarity index 100% rename from src/components/ModalLayout.tsx rename to applications/browser-extension/src/components/ModalLayout.tsx diff --git a/src/components/OfficialBadge.tsx b/applications/browser-extension/src/components/OfficialBadge.tsx similarity index 95% rename from src/components/OfficialBadge.tsx rename to applications/browser-extension/src/components/OfficialBadge.tsx index b784ea6b88..0a6b9a5c42 100644 --- a/src/components/OfficialBadge.tsx +++ b/applications/browser-extension/src/components/OfficialBadge.tsx @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { isOfficial } from "@/bricks/util"; +import { isOfficial } from "../bricks/util"; import { type RegistryId } from "@/types/registryTypes"; import React from "react"; import { Badge } from "react-bootstrap"; diff --git a/src/components/PackageIcon.tsx b/applications/browser-extension/src/components/PackageIcon.tsx similarity index 85% rename from src/components/PackageIcon.tsx rename to applications/browser-extension/src/components/PackageIcon.tsx index 590ec0c427..296b4fa1eb 100644 --- a/src/components/PackageIcon.tsx +++ b/applications/browser-extension/src/components/PackageIcon.tsx @@ -29,16 +29,16 @@ import { faRandom, faWindowMaximize, } from "@fortawesome/free-solid-svg-icons"; -import { TriggerStarterBrickABC } from "@/starterBricks/trigger/triggerStarterBrick"; -import { ButtonStarterBrickABC } from "@/starterBricks/button/buttonStarterBrick"; -import { ContextMenuStarterBrickABC } from "@/starterBricks/contextMenu/contextMenuStarterBrick"; -import { SidebarStarterBrickABC } from "@/starterBricks/sidebar/sidebarStarterBrick"; -import getType from "@/runtime/getType"; -import { type BrickType } from "@/runtime/runtimeTypes"; +import { TriggerStarterBrickABC } from "../starterBricks/trigger/triggerStarterBrick"; +import { ButtonStarterBrickABC } from "../starterBricks/button/buttonStarterBrick"; +import { ContextMenuStarterBrickABC } from "../starterBricks/contextMenu/contextMenuStarterBrick"; +import { SidebarStarterBrickABC } from "../starterBricks/sidebar/sidebarStarterBrick"; +import getType from "../runtime/getType"; +import { type BrickType } from "../runtime/runtimeTypes"; import { type Metadata, type PackageInstance } from "@/types/registryTypes"; -import useAsyncState from "@/hooks/useAsyncState"; -import MarketplaceListingIcon from "@/components/MarketplaceListingIcon"; -import { type Nullishable } from "@/utils/nullishUtils"; +import useAsyncState from "../hooks/useAsyncState"; +import MarketplaceListingIcon from "./MarketplaceListingIcon"; +import { type Nullishable } from "../utils/nullishUtils"; function getDefaultPackageIcon( packageInstance: PackageInstance, diff --git a/src/components/StopPropagation.test.tsx b/applications/browser-extension/src/components/StopPropagation.test.tsx similarity index 96% rename from src/components/StopPropagation.test.tsx rename to applications/browser-extension/src/components/StopPropagation.test.tsx index b7bef72cf7..fb04b727da 100644 --- a/src/components/StopPropagation.test.tsx +++ b/applications/browser-extension/src/components/StopPropagation.test.tsx @@ -18,7 +18,7 @@ import React from "react"; import { render, screen, fireEvent } from "@testing-library/react"; import StopPropagation from "./StopPropagation"; -import ClickableElement from "@/components/ClickableElement"; +import ClickableElement from "./ClickableElement"; describe("StopPropagation", () => { it("stops propagation of click events", () => { diff --git a/src/components/StopPropagation.tsx b/applications/browser-extension/src/components/StopPropagation.tsx similarity index 100% rename from src/components/StopPropagation.tsx rename to applications/browser-extension/src/components/StopPropagation.tsx diff --git a/src/components/Stylesheets.test.tsx b/applications/browser-extension/src/components/Stylesheets.test.tsx similarity index 100% rename from src/components/Stylesheets.test.tsx rename to applications/browser-extension/src/components/Stylesheets.test.tsx diff --git a/src/components/Stylesheets.tsx b/applications/browser-extension/src/components/Stylesheets.tsx similarity index 98% rename from src/components/Stylesheets.tsx rename to applications/browser-extension/src/components/Stylesheets.tsx index a902e89d96..a88de3e496 100644 --- a/src/components/Stylesheets.tsx +++ b/applications/browser-extension/src/components/Stylesheets.tsx @@ -18,7 +18,7 @@ import React, { useState } from "react"; import { castArray, uniq } from "lodash"; import oneEvent from "one-event"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../utils/nullishUtils"; /** * Detect and extract font-face rules because Chrome fails to load them from diff --git a/src/components/StylesheetsContext.ts b/applications/browser-extension/src/components/StylesheetsContext.ts similarity index 93% rename from src/components/StylesheetsContext.ts rename to applications/browser-extension/src/components/StylesheetsContext.ts index d5a7c831da..d3f9fee845 100644 --- a/src/components/StylesheetsContext.ts +++ b/applications/browser-extension/src/components/StylesheetsContext.ts @@ -16,9 +16,9 @@ */ import React, { useContext } from "react"; -import bootstrap from "@/vendors/bootstrapWithoutRem.css?loadAsUrl"; -import bootstrapOverrides from "@/sidebar/sidebarBootstrapOverrides.scss?loadAsUrl"; -import custom from "@/bricks/renderers/customForm.css?loadAsUrl"; +import bootstrap from "../vendors/bootstrapWithoutRem.css?loadAsUrl"; +import bootstrapOverrides from "../sidebar/sidebarBootstrapOverrides.scss?loadAsUrl"; +import custom from "../bricks/renderers/customForm.css?loadAsUrl"; export type StylesheetsContextType = { stylesheets: string[] | null; diff --git a/src/components/TooltipIconButton.tsx b/applications/browser-extension/src/components/TooltipIconButton.tsx similarity index 100% rename from src/components/TooltipIconButton.tsx rename to applications/browser-extension/src/components/TooltipIconButton.tsx diff --git a/src/components/UnstyledButton.module.scss b/applications/browser-extension/src/components/UnstyledButton.module.scss similarity index 100% rename from src/components/UnstyledButton.module.scss rename to applications/browser-extension/src/components/UnstyledButton.module.scss diff --git a/src/components/UnstyledButton.tsx b/applications/browser-extension/src/components/UnstyledButton.tsx similarity index 100% rename from src/components/UnstyledButton.tsx rename to applications/browser-extension/src/components/UnstyledButton.tsx diff --git a/src/components/__snapshots__/MarkdownInline.test.tsx.snap b/applications/browser-extension/src/components/__snapshots__/MarkdownInline.test.tsx.snap similarity index 100% rename from src/components/__snapshots__/MarkdownInline.test.tsx.snap rename to applications/browser-extension/src/components/__snapshots__/MarkdownInline.test.tsx.snap diff --git a/src/components/annotationAlert/FieldAnnotationAlert.module.scss b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.module.scss similarity index 100% rename from src/components/annotationAlert/FieldAnnotationAlert.module.scss rename to applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.module.scss diff --git a/src/components/annotationAlert/FieldAnnotationAlert.stories.tsx b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.stories.tsx similarity index 95% rename from src/components/annotationAlert/FieldAnnotationAlert.stories.tsx rename to applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.stories.tsx index 074449da74..ae54de73ef 100644 --- a/src/components/annotationAlert/FieldAnnotationAlert.stories.tsx +++ b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.stories.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; import FieldAnnotationAlert from "./FieldAnnotationAlert"; -import { AnnotationType } from "@/types/annotationTypes"; +import { AnnotationType } from "../../types/annotationTypes"; export default { title: "Common/FieldAnnotationAlert", diff --git a/src/components/annotationAlert/FieldAnnotationAlert.test.tsx b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.test.tsx similarity index 88% rename from src/components/annotationAlert/FieldAnnotationAlert.test.tsx rename to applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.test.tsx index 144e83a2fd..50a6a98f1f 100644 --- a/src/components/annotationAlert/FieldAnnotationAlert.test.tsx +++ b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.test.tsx @@ -16,10 +16,10 @@ */ import React from "react"; -import { render, screen } from "@/pageEditor/testHelpers"; -import FieldAnnotationAlert from "@/components/annotationAlert/FieldAnnotationAlert"; -import { AnnotationType } from "@/types/annotationTypes"; -import { type FieldAnnotationAction } from "@/components/form/FieldAnnotation"; +import { render, screen } from "../../pageEditor/testHelpers"; +import FieldAnnotationAlert from "./FieldAnnotationAlert"; +import { AnnotationType } from "../../types/annotationTypes"; +import { type FieldAnnotationAction } from "../form/FieldAnnotation"; describe("FieldAnnotationAlert", () => { const action: FieldAnnotationAction = { diff --git a/src/components/annotationAlert/FieldAnnotationAlert.tsx b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.tsx similarity index 86% rename from src/components/annotationAlert/FieldAnnotationAlert.tsx rename to applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.tsx index 15b89a253c..c41c43acc4 100644 --- a/src/components/annotationAlert/FieldAnnotationAlert.tsx +++ b/applications/browser-extension/src/components/annotationAlert/FieldAnnotationAlert.tsx @@ -16,14 +16,14 @@ */ import React from "react"; -import ErrorIcon from "@/icons/error.svg?loadAsComponent"; -import WarningIcon from "@/icons/warning.svg?loadAsComponent"; -import InfoIcon from "@/icons/info.svg?loadAsComponent"; +import ErrorIcon from "../../icons/error.svg?loadAsComponent"; +import WarningIcon from "../../icons/warning.svg?loadAsComponent"; +import InfoIcon from "../../icons/info.svg?loadAsComponent"; import cx from "classnames"; import styles from "./FieldAnnotationAlert.module.scss"; -import AsyncButton from "@/components/AsyncButton"; -import { AnnotationType } from "@/types/annotationTypes"; -import { type FieldAnnotation } from "@/components/form/FieldAnnotation"; +import AsyncButton from "../AsyncButton"; +import { AnnotationType } from "../../types/annotationTypes"; +import { type FieldAnnotation } from "../form/FieldAnnotation"; import { type ButtonVariant } from "react-bootstrap/types"; const FieldAnnotationAlert: React.FunctionComponent< diff --git a/src/components/annotationAlert/__snapshots__/FieldAnnotationAlert.test.tsx.snap b/applications/browser-extension/src/components/annotationAlert/__snapshots__/FieldAnnotationAlert.test.tsx.snap similarity index 100% rename from src/components/annotationAlert/__snapshots__/FieldAnnotationAlert.test.tsx.snap rename to applications/browser-extension/src/components/annotationAlert/__snapshots__/FieldAnnotationAlert.test.tsx.snap diff --git a/src/components/asyncCard/AsyncCard.tsx b/applications/browser-extension/src/components/asyncCard/AsyncCard.tsx similarity index 91% rename from src/components/asyncCard/AsyncCard.tsx rename to applications/browser-extension/src/components/asyncCard/AsyncCard.tsx index 9e98c3b6b1..ac3beeabb8 100644 --- a/src/components/asyncCard/AsyncCard.tsx +++ b/applications/browser-extension/src/components/asyncCard/AsyncCard.tsx @@ -1,7 +1,7 @@ -import { getErrorMessage } from "@/errors/errorHelpers"; +import { getErrorMessage } from "../../errors/errorHelpers"; import React from "react"; import { Card } from "react-bootstrap"; -import Loader from "@/components/Loader"; +import Loader from "../Loader"; type OwnProps = { header: React.ReactNode; diff --git a/src/components/asyncIcon.ts b/applications/browser-extension/src/components/asyncIcon.ts similarity index 96% rename from src/components/asyncIcon.ts rename to applications/browser-extension/src/components/asyncIcon.ts index 7822176ed8..afcfb3c2d3 100644 --- a/src/components/asyncIcon.ts +++ b/applications/browser-extension/src/components/asyncIcon.ts @@ -6,8 +6,8 @@ import { type IconName, type IconPrefix, } from "@fortawesome/free-solid-svg-icons"; -import useAsyncState from "@/hooks/useAsyncState"; -import { type Nullishable } from "@/utils/nullishUtils"; +import useAsyncState from "../hooks/useAsyncState"; +import { type Nullishable } from "../utils/nullishUtils"; type ModuleImport = Promise<{ definition: IconProp }>; diff --git a/src/components/banner/Banner.module.scss b/applications/browser-extension/src/components/banner/Banner.module.scss similarity index 100% rename from src/components/banner/Banner.module.scss rename to applications/browser-extension/src/components/banner/Banner.module.scss diff --git a/src/components/banner/Banner.stories.tsx b/applications/browser-extension/src/components/banner/Banner.stories.tsx similarity index 100% rename from src/components/banner/Banner.stories.tsx rename to applications/browser-extension/src/components/banner/Banner.stories.tsx diff --git a/src/components/banner/Banner.tsx b/applications/browser-extension/src/components/banner/Banner.tsx similarity index 100% rename from src/components/banner/Banner.tsx rename to applications/browser-extension/src/components/banner/Banner.tsx diff --git a/src/components/ellipsisMenu/EllipsisMenu.module.scss b/applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.module.scss similarity index 100% rename from src/components/ellipsisMenu/EllipsisMenu.module.scss rename to applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.module.scss diff --git a/src/components/ellipsisMenu/EllipsisMenu.stories.tsx b/applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.stories.tsx similarity index 100% rename from src/components/ellipsisMenu/EllipsisMenu.stories.tsx rename to applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.stories.tsx diff --git a/src/components/ellipsisMenu/EllipsisMenu.test.tsx b/applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.test.tsx similarity index 96% rename from src/components/ellipsisMenu/EllipsisMenu.test.tsx rename to applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.test.tsx index 7e5014dee5..56f681faec 100644 --- a/src/components/ellipsisMenu/EllipsisMenu.test.tsx +++ b/applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.test.tsx @@ -1,7 +1,7 @@ import React from "react"; import { render, screen } from "@testing-library/react"; import EllipsisMenu, { type EllipsisMenuItem } from "./EllipsisMenu"; -import { userEvent } from "@/pageEditor/testHelpers"; +import { userEvent } from "../../pageEditor/testHelpers"; describe("EllipsisMenu", () => { const mockItems: EllipsisMenuItem[] = [ diff --git a/src/components/ellipsisMenu/EllipsisMenu.tsx b/applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.tsx similarity index 100% rename from src/components/ellipsisMenu/EllipsisMenu.tsx rename to applications/browser-extension/src/components/ellipsisMenu/EllipsisMenu.tsx diff --git a/src/components/errors/ErrorDetail.module.scss b/applications/browser-extension/src/components/errors/ErrorDetail.module.scss similarity index 100% rename from src/components/errors/ErrorDetail.module.scss rename to applications/browser-extension/src/components/errors/ErrorDetail.module.scss diff --git a/src/components/errors/InputValidationErrorDetail.tsx b/applications/browser-extension/src/components/errors/InputValidationErrorDetail.tsx similarity index 92% rename from src/components/errors/InputValidationErrorDetail.tsx rename to applications/browser-extension/src/components/errors/InputValidationErrorDetail.tsx index 5753f5da11..8b14fa266a 100644 --- a/src/components/errors/InputValidationErrorDetail.tsx +++ b/applications/browser-extension/src/components/errors/InputValidationErrorDetail.tsx @@ -16,8 +16,8 @@ */ import React from "react"; -import { type InputValidationError } from "@/bricks/errors"; -import JsonTree from "@/components/jsonTree/JsonTree"; +import { type InputValidationError } from "../../bricks/errors"; +import JsonTree from "../jsonTree/JsonTree"; import styles from "./ErrorDetail.module.scss"; const InputValidationErrorDetail: React.FunctionComponent<{ diff --git a/src/components/errors/InvalidSelectorErrorDetail.tsx b/applications/browser-extension/src/components/errors/InvalidSelectorErrorDetail.tsx similarity index 97% rename from src/components/errors/InvalidSelectorErrorDetail.tsx rename to applications/browser-extension/src/components/errors/InvalidSelectorErrorDetail.tsx index 894f5469a2..f8290a785d 100644 --- a/src/components/errors/InvalidSelectorErrorDetail.tsx +++ b/applications/browser-extension/src/components/errors/InvalidSelectorErrorDetail.tsx @@ -19,7 +19,7 @@ import React from "react"; import { type NoElementsFoundError, type MultipleElementsFoundError, -} from "@/errors/businessErrors"; +} from "../../errors/businessErrors"; import styles from "./ErrorDetail.module.scss"; const InvalidSelectorErrorDetail: React.FunctionComponent<{ diff --git a/src/components/errors/NetworkErrorDetail.tsx b/applications/browser-extension/src/components/errors/NetworkErrorDetail.tsx similarity index 93% rename from src/components/errors/NetworkErrorDetail.tsx rename to applications/browser-extension/src/components/errors/NetworkErrorDetail.tsx index 62bfa7ef94..d5de9de9ff 100644 --- a/src/components/errors/NetworkErrorDetail.tsx +++ b/applications/browser-extension/src/components/errors/NetworkErrorDetail.tsx @@ -21,12 +21,12 @@ import { faCheck, faExclamationTriangle, } from "@fortawesome/free-solid-svg-icons"; -import JsonTree from "@/components/jsonTree/JsonTree"; -import { selectAbsoluteUrl } from "@/utils/urlUtils"; -import { safeGuessStatusText } from "@/errors/networkErrorHelpers"; +import JsonTree from "../jsonTree/JsonTree"; +import { selectAbsoluteUrl } from "../../utils/urlUtils"; +import { safeGuessStatusText } from "../../errors/networkErrorHelpers"; import styles from "./ErrorDetail.module.scss"; -import useAsyncState from "@/hooks/useAsyncState"; -import AsyncStateGate from "@/components/AsyncStateGate"; +import useAsyncState from "../../hooks/useAsyncState"; +import AsyncStateGate from "../AsyncStateGate"; import { type AxiosError } from "axios"; function tryParse(value: unknown): unknown { diff --git a/src/components/errors/OutputValidationErrorDetail.tsx b/applications/browser-extension/src/components/errors/OutputValidationErrorDetail.tsx similarity index 92% rename from src/components/errors/OutputValidationErrorDetail.tsx rename to applications/browser-extension/src/components/errors/OutputValidationErrorDetail.tsx index 1970fc218b..7387c921ce 100644 --- a/src/components/errors/OutputValidationErrorDetail.tsx +++ b/applications/browser-extension/src/components/errors/OutputValidationErrorDetail.tsx @@ -16,8 +16,8 @@ */ import React from "react"; -import { type OutputValidationError } from "@/bricks/errors"; -import JsonTree from "@/components/jsonTree/JsonTree"; +import { type OutputValidationError } from "../../bricks/errors"; +import JsonTree from "../jsonTree/JsonTree"; import styles from "./ErrorDetail.module.scss"; const OutputValidationErrorDetail: React.FunctionComponent<{ diff --git a/src/components/errors/RemoteApiErrorDetail.tsx b/applications/browser-extension/src/components/errors/RemoteApiErrorDetail.tsx similarity index 85% rename from src/components/errors/RemoteApiErrorDetail.tsx rename to applications/browser-extension/src/components/errors/RemoteApiErrorDetail.tsx index 14fd57d520..9fa8cc044d 100644 --- a/src/components/errors/RemoteApiErrorDetail.tsx +++ b/applications/browser-extension/src/components/errors/RemoteApiErrorDetail.tsx @@ -16,10 +16,10 @@ */ import React from "react"; -import { type ProxiedResponse } from "@/errors/businessErrors"; -import styles from "@/components/errors/ErrorDetail.module.scss"; -import { safeGuessStatusText } from "@/errors/networkErrorHelpers"; -import JsonTree from "@/components/jsonTree/JsonTree"; +import { type ProxiedResponse } from "../../errors/businessErrors"; +import styles from "./ErrorDetail.module.scss"; +import { safeGuessStatusText } from "../../errors/networkErrorHelpers"; +import JsonTree from "../jsonTree/JsonTree"; /** * Component for showing error details for a remote API proxied via PixieBrix. diff --git a/src/components/errors/__snapshots__/getErrorDetails.test.tsx.snap b/applications/browser-extension/src/components/errors/__snapshots__/getErrorDetails.test.tsx.snap similarity index 100% rename from src/components/errors/__snapshots__/getErrorDetails.test.tsx.snap rename to applications/browser-extension/src/components/errors/__snapshots__/getErrorDetails.test.tsx.snap diff --git a/src/components/errors/getErrorDetails.test.tsx b/applications/browser-extension/src/components/errors/getErrorDetails.test.tsx similarity index 99% rename from src/components/errors/getErrorDetails.test.tsx rename to applications/browser-extension/src/components/errors/getErrorDetails.test.tsx index 4f676c97b8..431a2d0773 100644 --- a/src/components/errors/getErrorDetails.test.tsx +++ b/applications/browser-extension/src/components/errors/getErrorDetails.test.tsx @@ -16,7 +16,7 @@ */ import { render, screen } from "@testing-library/react"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { waitForEffect } from "../../testUtils/testHelpers"; import getErrorDetails from "./getErrorDetails"; import { type ErrorObject } from "serialize-error"; diff --git a/src/components/errors/getErrorDetails.tsx b/applications/browser-extension/src/components/errors/getErrorDetails.tsx similarity index 89% rename from src/components/errors/getErrorDetails.tsx rename to applications/browser-extension/src/components/errors/getErrorDetails.tsx index f3ccc02473..8617938673 100644 --- a/src/components/errors/getErrorDetails.tsx +++ b/applications/browser-extension/src/components/errors/getErrorDetails.tsx @@ -16,23 +16,23 @@ */ import React from "react"; -import { InputValidationError, OutputValidationError } from "@/bricks/errors"; +import { InputValidationError, OutputValidationError } from "../../bricks/errors"; import { getErrorMessageWithCauses, selectSpecificError, -} from "@/errors/errorHelpers"; +} from "../../errors/errorHelpers"; import { type ErrorObject } from "serialize-error"; import InputValidationErrorDetail from "./InputValidationErrorDetail"; import NetworkErrorDetail from "./NetworkErrorDetail"; import OutputValidationErrorDetail from "./OutputValidationErrorDetail"; -import { ClientRequestError } from "@/errors/clientRequestErrors"; +import { ClientRequestError } from "../../errors/clientRequestErrors"; import { MultipleElementsFoundError, NoElementsFoundError, ProxiedRemoteServiceError, -} from "@/errors/businessErrors"; -import RemoteApiErrorDetail from "@/components/errors/RemoteApiErrorDetail"; -import InvalidSelectorErrorDetail from "@/components/errors/InvalidSelectorErrorDetail"; +} from "../../errors/businessErrors"; +import RemoteApiErrorDetail from "./RemoteApiErrorDetail"; +import InvalidSelectorErrorDetail from "./InvalidSelectorErrorDetail"; type ErrorDetails = { title: string; diff --git a/src/components/fields/IconWidget.tsx b/applications/browser-extension/src/components/fields/IconWidget.tsx similarity index 89% rename from src/components/fields/IconWidget.tsx rename to applications/browser-extension/src/components/fields/IconWidget.tsx index e48b0c2ef1..bcfa11e987 100644 --- a/src/components/fields/IconWidget.tsx +++ b/applications/browser-extension/src/components/fields/IconWidget.tsx @@ -16,16 +16,16 @@ */ import React, { Suspense, lazy } from "react"; -import { type IconOption } from "@/icons/types"; +import { type IconOption } from "../../icons/types"; import { useField } from "formik"; -import { type CustomFieldWidget } from "@/components/form/FieldTemplate"; -import { type IconLibrary } from "@/types/iconTypes"; +import { type CustomFieldWidget } from "../form/FieldTemplate"; +import { type IconLibrary } from "../../types/iconTypes"; const IconSelector = lazy( async () => import( /* webpackChunkName: "icons" */ - "@/icons/IconSelector" + "../../icons/IconSelector" ), ); diff --git a/src/components/fields/fieldUtils.test.ts b/applications/browser-extension/src/components/fields/fieldUtils.test.ts similarity index 96% rename from src/components/fields/fieldUtils.test.ts rename to applications/browser-extension/src/components/fields/fieldUtils.test.ts index 9e4c978100..acdca7bf64 100644 --- a/src/components/fields/fieldUtils.test.ts +++ b/applications/browser-extension/src/components/fields/fieldUtils.test.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type Expression } from "@/types/runtimeTypes"; +import { type Expression } from "../../types/runtimeTypes"; import { fieldLabel, getPreviewValues, isMustacheOnly, -} from "@/components/fields/fieldUtils"; -import { toExpression } from "@/utils/expressionUtils"; +} from "./fieldUtils"; +import { toExpression } from "../../utils/expressionUtils"; test("returns value for an expression", () => { const expectedValue = "nunjucks template with var {{@data}}"; diff --git a/src/components/fields/fieldUtils.ts b/applications/browser-extension/src/components/fields/fieldUtils.ts similarity index 95% rename from src/components/fields/fieldUtils.ts rename to applications/browser-extension/src/components/fields/fieldUtils.ts index 81fc36b4b1..5b96568165 100644 --- a/src/components/fields/fieldUtils.ts +++ b/applications/browser-extension/src/components/fields/fieldUtils.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { getErrorMessage } from "@/errors/errorHelpers"; +import { getErrorMessage } from "../../errors/errorHelpers"; import { type FieldValidator } from "formik"; import { type Draft, produce } from "immer"; import type * as Yup from "yup"; import { isEmpty, startCase } from "lodash"; -import { type Schema, type SchemaDefinition } from "@/types/schemaTypes"; -import { isExpression, isTemplateExpression } from "@/utils/expressionUtils"; +import { type Schema, type SchemaDefinition } from "../../types/schemaTypes"; +import { isExpression, isTemplateExpression } from "../../utils/expressionUtils"; /** * Acronyms to capitalize in field labels. diff --git a/src/components/fields/optionsRegistry.ts b/applications/browser-extension/src/components/fields/optionsRegistry.ts similarity index 86% rename from src/components/fields/optionsRegistry.ts rename to applications/browser-extension/src/components/fields/optionsRegistry.ts index 58a38cbc3d..18ae4c3aab 100644 --- a/src/components/fields/optionsRegistry.ts +++ b/applications/browser-extension/src/components/fields/optionsRegistry.ts @@ -16,8 +16,8 @@ */ import type React from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; -import { type RegistryId } from "@/types/registryTypes"; +import { type BrickOptionProps } from "./schemaFields/genericOptionsFactory"; +import { type RegistryId } from "../../types/registryTypes"; /** * Mapping from brick id to brick editor. diff --git a/src/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx b/applications/browser-extension/src/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx similarity index 87% rename from src/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx index 8cbe8b8056..676aff06fe 100644 --- a/src/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/AppApiIntegrationDependencyField.tsx @@ -20,16 +20,16 @@ import { useField } from "formik"; import { type Expression, type IntegrationDependencyVarRef, -} from "@/types/runtimeTypes"; +} from "../../../types/runtimeTypes"; import useAsyncEffect from "use-async-effect"; import { PIXIEBRIX_INTEGRATION_ID, PIXIEBRIX_OUTPUT_KEY, -} from "@/integrations/constants"; +} from "../../../integrations/constants"; -import { makeVariableExpression } from "@/utils/variableUtils"; -import pixiebrixIntegrationDependencyFactory from "@/integrations/util/pixiebrixIntegrationDependencyFactory"; -import { type IntegrationDependency } from "@/integrations/integrationTypes"; +import { makeVariableExpression } from "../../../utils/variableUtils"; +import pixiebrixIntegrationDependencyFactory from "../../../integrations/util/pixiebrixIntegrationDependencyFactory"; +import { type IntegrationDependency } from "../../../integrations/integrationTypes"; /** * Schema-based field for the PixieBrix API (@pixiebrix/api). diff --git a/src/components/fields/schemaFields/BasicSchemaField.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/BasicSchemaField.test.tsx similarity index 92% rename from src/components/fields/schemaFields/BasicSchemaField.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/BasicSchemaField.test.tsx index d848d108c7..894ef0c1a1 100644 --- a/src/components/fields/schemaFields/BasicSchemaField.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/BasicSchemaField.test.tsx @@ -18,16 +18,16 @@ /* eslint jest/expect-expect: ["error", { "assertFunctionNames": ["expect", "expectToggleMode"] }] -- TODO: replace with native expect and it.each */ import React from "react"; -import { render, screen } from "@/pageEditor/testHelpers"; -import BasicSchemaField from "@/components/fields/schemaFields/BasicSchemaField"; -import { type Schema } from "@/types/schemaTypes"; +import { render, screen } from "../../../pageEditor/testHelpers"; +import BasicSchemaField from "./BasicSchemaField"; +import { type Schema } from "../../../types/schemaTypes"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Formik } from "formik"; -import { fireTextInput } from "@/testUtils/formHelpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { fireTextInput } from "../../../testUtils/formHelpers"; +import { waitForEffect } from "../../../testUtils/testHelpers"; import registerDefaultWidgets from "./widgets/registerDefaultWidgets"; import { type SchemaFieldProps } from "./propTypes"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../utils/expressionUtils"; beforeAll(() => { registerDefaultWidgets(); diff --git a/src/components/fields/schemaFields/BasicSchemaField.tsx b/applications/browser-extension/src/components/fields/schemaFields/BasicSchemaField.tsx similarity index 86% rename from src/components/fields/schemaFields/BasicSchemaField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/BasicSchemaField.tsx index f6bb82d879..d45bf32583 100644 --- a/src/components/fields/schemaFields/BasicSchemaField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/BasicSchemaField.tsx @@ -23,26 +23,26 @@ import React, { useRef, useState, } from "react"; -import { type SchemaFieldComponent } from "@/components/fields/schemaFields/propTypes"; -import { makeLabelForSchemaField } from "@/components/fields/schemaFields/schemaFieldUtils"; -import SchemaFieldContext from "@/components/fields/schemaFields/SchemaFieldContext"; +import { type SchemaFieldComponent } from "./propTypes"; +import { makeLabelForSchemaField } from "./schemaFieldUtils"; +import SchemaFieldContext from "./SchemaFieldContext"; import { useField, useFormikContext } from "formik"; import { isEmpty } from "lodash"; import cx from "classnames"; -import FieldRuntimeContext from "@/components/fields/schemaFields/FieldRuntimeContext"; +import FieldRuntimeContext from "./FieldRuntimeContext"; import { getToggleOptions } from "./getToggleOptions"; import widgetsRegistry from "./widgets/widgetsRegistry"; -import useToggleFormField from "@/hooks/useToggleFormField"; -import { getFieldValidator } from "@/components/fields/fieldUtils"; -import { isExpression } from "@/utils/expressionUtils"; +import useToggleFormField from "../../../hooks/useToggleFormField"; +import { getFieldValidator } from "../fieldUtils"; +import { isExpression } from "../../../utils/expressionUtils"; import useAsyncEffect from "use-async-effect"; -import { type InputModeOption } from "@/components/fields/schemaFields/widgets/templateToggleWidgetTypes"; -import FieldTemplate from "@/components/form/FieldTemplate"; -import AnalysisAnnotationsContext from "@/analysis/AnalysisAnnotationsContext"; +import { type InputModeOption } from "./widgets/templateToggleWidgetTypes"; +import FieldTemplate from "../../form/FieldTemplate"; +import AnalysisAnnotationsContext from "../../../analysis/AnalysisAnnotationsContext"; import { useSelector } from "react-redux"; -import { makeFieldAnnotationsForValue } from "@/components/form/makeFieldAnnotationsForValue"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { AnnotationType } from "@/types/annotationTypes"; +import { makeFieldAnnotationsForValue } from "../../form/makeFieldAnnotationsForValue"; +import { isNullOrBlank } from "../../../utils/stringUtils"; +import { AnnotationType } from "../../../types/annotationTypes"; /* * This is a hack to fix the issue where the formik state is not updated correctly when the form is first rendered. diff --git a/src/components/fields/schemaFields/CssClassField.tsx b/applications/browser-extension/src/components/fields/schemaFields/CssClassField.tsx similarity index 80% rename from src/components/fields/schemaFields/CssClassField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/CssClassField.tsx index 67c44750fd..88462fd73e 100644 --- a/src/components/fields/schemaFields/CssClassField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/CssClassField.tsx @@ -16,10 +16,10 @@ */ import React, { useMemo } from "react"; -import CssClassWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget"; -import { getToggleOptions } from "@/components/fields/schemaFields/getToggleOptions"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import defaultFieldFactory from "@/components/fields/schemaFields/defaultFieldFactory"; +import CssClassWidget from "./widgets/cssClassWidgets/CssClassWidget"; +import { getToggleOptions } from "./getToggleOptions"; +import { type SchemaFieldProps } from "./propTypes"; +import defaultFieldFactory from "./defaultFieldFactory"; const RawCssClassField = defaultFieldFactory(CssClassWidget); diff --git a/src/components/fields/schemaFields/CssSpacingField.tsx b/applications/browser-extension/src/components/fields/schemaFields/CssSpacingField.tsx similarity index 80% rename from src/components/fields/schemaFields/CssSpacingField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/CssSpacingField.tsx index ef0cf3b89d..1c139ea5cc 100644 --- a/src/components/fields/schemaFields/CssSpacingField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/CssSpacingField.tsx @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import defaultFieldFactory from "@/components/fields/schemaFields/defaultFieldFactory"; -import CssSpacingWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget"; +import defaultFieldFactory from "./defaultFieldFactory"; +import CssSpacingWidget from "./widgets/cssClassWidgets/CssSpacingWidget"; const CssSpacingField = defaultFieldFactory(CssSpacingWidget); export default CssSpacingField; diff --git a/src/components/fields/schemaFields/DatabaseGroupSelect.tsx b/applications/browser-extension/src/components/fields/schemaFields/DatabaseGroupSelect.tsx similarity index 88% rename from src/components/fields/schemaFields/DatabaseGroupSelect.tsx rename to applications/browser-extension/src/components/fields/schemaFields/DatabaseGroupSelect.tsx index f68b1ad33b..04d972d99f 100644 --- a/src/components/fields/schemaFields/DatabaseGroupSelect.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/DatabaseGroupSelect.tsx @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import SelectWidget from "@/components/form/widgets/SelectWidget"; -import { appApi } from "@/data/service/api"; -import { validateUUID } from "@/types/helpers"; +import ConnectedFieldTemplate from "../../form/ConnectedFieldTemplate"; +import SelectWidget from "../../form/widgets/SelectWidget"; +import { appApi } from "../../../data/service/api"; +import { validateUUID } from "../../../types/helpers"; import { useField } from "formik"; import React from "react"; -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../../types/stringTypes"; import useAsyncEffect from "use-async-effect"; const groupIdFieldName = "groupId"; diff --git a/src/components/fields/schemaFields/FieldRuntimeContext.ts b/applications/browser-extension/src/components/fields/schemaFields/FieldRuntimeContext.ts similarity index 95% rename from src/components/fields/schemaFields/FieldRuntimeContext.ts rename to applications/browser-extension/src/components/fields/schemaFields/FieldRuntimeContext.ts index 0a06380cf4..f260512555 100644 --- a/src/components/fields/schemaFields/FieldRuntimeContext.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/FieldRuntimeContext.ts @@ -16,7 +16,7 @@ */ import React from "react"; -import { type ApiVersion } from "@/types/runtimeTypes"; +import { type ApiVersion } from "../../../types/runtimeTypes"; export type RuntimeContext = { apiVersion: ApiVersion; diff --git a/src/components/fields/schemaFields/HeadingStyleField.tsx b/applications/browser-extension/src/components/fields/schemaFields/HeadingStyleField.tsx similarity index 90% rename from src/components/fields/schemaFields/HeadingStyleField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/HeadingStyleField.tsx index 14a088d7ee..2215e0158f 100644 --- a/src/components/fields/schemaFields/HeadingStyleField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/HeadingStyleField.tsx @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import defaultFieldFactory from "@/components/fields/schemaFields/defaultFieldFactory"; +import defaultFieldFactory from "./defaultFieldFactory"; import HeadingStyleWidget from "./widgets/HeadingStyleWidget"; const HeadingStyleField = defaultFieldFactory(HeadingStyleWidget); diff --git a/src/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx similarity index 89% rename from src/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx index 32207f4091..41c056394e 100644 --- a/src/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.stories.tsx @@ -23,11 +23,11 @@ import { Button } from "react-bootstrap"; import { action } from "@storybook/addon-actions"; import RemoteSchemaObjectField, { type RemoteSchemaObjectFieldProps, -} from "@/components/fields/schemaFields/RemoteSchemaObjectField"; -import { settingsStore } from "@/testUtils/storyUtils"; +} from "./RemoteSchemaObjectField"; +import { settingsStore } from "../../../testUtils/storyUtils"; import { Provider } from "react-redux"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; -import { type Schema } from "@/types/schemaTypes"; +import { valueToAsyncState } from "../../../utils/asyncStateUtils"; +import { type Schema } from "../../../types/schemaTypes"; export default { title: "Fields/RemoteSchemaObjectField", diff --git a/src/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx similarity index 92% rename from src/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx index 4a702a28b9..9ff37b4bb6 100644 --- a/src/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.test.tsx @@ -18,16 +18,16 @@ /* eslint jest/expect-expect: ["error", { "assertFunctionNames": ["expect", "expectToggleMode"] }] -- TODO: replace with native expect and it.each */ import React from "react"; -import { type Schema } from "@/types/schemaTypes"; -import { render, screen } from "@/pageEditor/testHelpers"; -import RemoteSchemaObjectField from "@/components/fields/schemaFields/RemoteSchemaObjectField"; -import { expectToggleOptions } from "@/components/fields/schemaFields/testHelpers"; +import { type Schema } from "../../../types/schemaTypes"; +import { render, screen } from "../../../pageEditor/testHelpers"; +import RemoteSchemaObjectField from "./RemoteSchemaObjectField"; +import { expectToggleOptions } from "./testHelpers"; import registerDefaultWidgets from "./widgets/registerDefaultWidgets"; import { errorToAsyncState, loadingAsyncStateFactory, valueToAsyncState, -} from "@/utils/asyncStateUtils"; +} from "../../../utils/asyncStateUtils"; beforeAll(() => { registerDefaultWidgets(); diff --git a/src/components/fields/schemaFields/RemoteSchemaObjectField.tsx b/applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.tsx similarity index 81% rename from src/components/fields/schemaFields/RemoteSchemaObjectField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.tsx index 3fa6204ecc..029596a675 100644 --- a/src/components/fields/schemaFields/RemoteSchemaObjectField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/RemoteSchemaObjectField.tsx @@ -17,19 +17,19 @@ import React from "react"; import { Card } from "react-bootstrap"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { type Schema } from "@/types/schemaTypes"; +import ConnectedFieldTemplate from "../../form/ConnectedFieldTemplate"; +import { getErrorMessage } from "../../../errors/errorHelpers"; +import { type Schema } from "../../../types/schemaTypes"; import { isEmpty } from "lodash"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { joinName } from "@/utils/formUtils"; -import { inputProperties } from "@/utils/schemaUtils"; -import FieldAnnotationAlert from "@/components/annotationAlert/FieldAnnotationAlert"; -import { AnnotationType } from "@/types/annotationTypes"; -import { type AsyncState } from "@/types/sliceTypes"; -import Loader from "@/components/Loader"; -import ObjectWidget from "@/components/fields/schemaFields/widgets/ObjectWidget"; +import SchemaField from "./SchemaField"; +import registerDefaultWidgets from "./widgets/registerDefaultWidgets"; +import { joinName } from "../../../utils/formUtils"; +import { inputProperties } from "../../../utils/schemaUtils"; +import FieldAnnotationAlert from "../../annotationAlert/FieldAnnotationAlert"; +import { AnnotationType } from "../../../types/annotationTypes"; +import { type AsyncState } from "../../../types/sliceTypes"; +import Loader from "../../Loader"; +import ObjectWidget from "./widgets/ObjectWidget"; const FALLBACK_SCHEMA: Schema = { type: "object", diff --git a/src/components/fields/schemaFields/RootAwareField.tsx b/applications/browser-extension/src/components/fields/schemaFields/RootAwareField.tsx similarity index 81% rename from src/components/fields/schemaFields/RootAwareField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/RootAwareField.tsx index 57201ad94e..6f64f67594 100644 --- a/src/components/fields/schemaFields/RootAwareField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/RootAwareField.tsx @@ -16,12 +16,12 @@ */ import React from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import SwitchButtonWidget from "@/components/form/widgets/switchButton/SwitchButtonWidget"; -import { makeLabelForSchemaField } from "@/components/fields/schemaFields/schemaFieldUtils"; +import { type SchemaFieldProps } from "./propTypes"; +import ConnectedFieldTemplate from "../../form/ConnectedFieldTemplate"; +import SwitchButtonWidget from "../../form/widgets/switchButton/SwitchButtonWidget"; +import { makeLabelForSchemaField } from "./schemaFieldUtils"; import { connect, getIn } from "formik"; -import { type FieldProps } from "@/components/form/FieldTemplate"; +import { type FieldProps } from "../../form/FieldTemplate"; import { type FormikContextType } from "formik"; /** diff --git a/src/components/fields/schemaFields/SchemaField.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/SchemaField.stories.tsx similarity index 95% rename from src/components/fields/schemaFields/SchemaField.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/SchemaField.stories.tsx index 346528412b..f74f1b2219 100644 --- a/src/components/fields/schemaFields/SchemaField.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/SchemaField.stories.tsx @@ -20,13 +20,13 @@ import { type ComponentStory, type ComponentMeta } from "@storybook/react"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form, Formik } from "formik"; import SchemaField from "./SchemaField"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "./propTypes"; import { Button } from "react-bootstrap"; -import { getFieldNamesFromPathString } from "@/runtime/pathHelpers"; +import { getFieldNamesFromPathString } from "../../../runtime/pathHelpers"; import { action } from "@storybook/addon-actions"; import registerDefaultWidgets from "./widgets/registerDefaultWidgets"; import { Provider } from "react-redux"; -import { settingsStore } from "@/testUtils/storyUtils"; +import { settingsStore } from "../../../testUtils/storyUtils"; registerDefaultWidgets(); diff --git a/src/components/fields/schemaFields/SchemaField.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/SchemaField.test.tsx similarity index 94% rename from src/components/fields/schemaFields/SchemaField.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/SchemaField.test.tsx index 1475165265..e11cca9c32 100644 --- a/src/components/fields/schemaFields/SchemaField.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/SchemaField.test.tsx @@ -18,22 +18,22 @@ /* eslint jest/expect-expect: ["error", { "assertFunctionNames": ["expect", "expectToggleOptions"] }] -- TODO: replace with native expect and it.each */ import React from "react"; -import { render, screen, waitFor, within } from "@/pageEditor/testHelpers"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; +import { render, screen, waitFor, within } from "../../../pageEditor/testHelpers"; +import SchemaField from "./SchemaField"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Formik } from "formik"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { waitForEffect } from "../../../testUtils/testHelpers"; import userEvent from "@testing-library/user-event"; import { uniq } from "lodash"; -import { expectToggleOptions } from "@/components/fields/schemaFields/testHelpers"; +import { expectToggleOptions } from "./testHelpers"; import registerDefaultWidgets from "./widgets/registerDefaultWidgets"; -import databaseSchema from "@schemas/database.json"; -import { type Schema } from "@/types/schemaTypes"; -import { type ApiVersion } from "@/types/runtimeTypes"; -import { type CustomWidgetRegistry } from "@/components/fields/schemaFields/schemaFieldTypes"; -import { toExpression } from "@/utils/expressionUtils"; +import databaseSchema from "../../../../schemas/database.json"; +import { type Schema } from "../../../types/schemaTypes"; +import { type ApiVersion } from "../../../types/runtimeTypes"; +import { type CustomWidgetRegistry } from "./schemaFieldTypes"; +import { toExpression } from "../../../utils/expressionUtils"; -jest.mock("@/hooks/useDatabaseOptions", () => ({ +jest.mock("../../../hooks/useDatabaseOptions", () => ({ __esModule: true, default: jest.fn().mockReturnValue({ databaseOptions: [], @@ -41,7 +41,7 @@ jest.mock("@/hooks/useDatabaseOptions", () => ({ }), })); jest.mock( - "@/components/fields/schemaFields/widgets/DatabaseCreateModal", + "./widgets/DatabaseCreateModal", () => ({ __esModule: true, default: jest.fn().mockReturnValue(() =>
DatabaseCreateModal
), diff --git a/src/components/fields/schemaFields/SchemaField.tsx b/applications/browser-extension/src/components/fields/schemaFields/SchemaField.tsx similarity index 78% rename from src/components/fields/schemaFields/SchemaField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/SchemaField.tsx index 601d695422..c87007d69b 100644 --- a/src/components/fields/schemaFields/SchemaField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/SchemaField.tsx @@ -16,9 +16,9 @@ */ import React, { useContext } from "react"; -import { type SchemaFieldComponent } from "@/components/fields/schemaFields/propTypes"; -import BasicSchemaField from "@/components/fields/schemaFields/BasicSchemaField"; -import AppApiIntegrationDependencyField from "@/components/fields/schemaFields/AppApiIntegrationDependencyField"; +import { type SchemaFieldComponent } from "./propTypes"; +import BasicSchemaField from "./BasicSchemaField"; +import AppApiIntegrationDependencyField from "./AppApiIntegrationDependencyField"; import CssClassField from "./CssClassField"; import HeadingStyleField from "./HeadingStyleField"; import { @@ -27,11 +27,11 @@ import { isHeadingStyleField, hasCustomWidget, } from "./fieldTypeCheckers"; -import RootAwareField from "@/components/fields/schemaFields/RootAwareField"; -import SchemaFieldContext from "@/components/fields/schemaFields/SchemaFieldContext"; +import RootAwareField from "./RootAwareField"; +import SchemaFieldContext from "./SchemaFieldContext"; import { get } from "lodash"; -import defaultFieldFactory from "@/components/fields/schemaFields/defaultFieldFactory"; -import { type CustomWidgetRegistry } from "@/components/fields/schemaFields/schemaFieldTypes"; +import defaultFieldFactory from "./defaultFieldFactory"; +import { type CustomWidgetRegistry } from "./schemaFieldTypes"; const SchemaField: SchemaFieldComponent = (props) => { const { schema, uiSchema } = props; diff --git a/src/components/fields/schemaFields/SchemaFieldContext.tsx b/applications/browser-extension/src/components/fields/schemaFields/SchemaFieldContext.tsx similarity index 76% rename from src/components/fields/schemaFields/SchemaFieldContext.tsx rename to applications/browser-extension/src/components/fields/schemaFields/SchemaFieldContext.tsx index 042a13e715..1bfa0fa8ff 100644 --- a/src/components/fields/schemaFields/SchemaFieldContext.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/SchemaFieldContext.tsx @@ -19,10 +19,10 @@ import { createContext } from "react"; import { type CustomWidgetRegistry, type CustomFieldDefinitions, -} from "@/components/fields/schemaFields/schemaFieldTypes"; -import SchemaButtonVariantWidget from "@/components/fields/schemaFields/widgets/SchemaButtonVariantWidget"; -import { SchemaCustomEventWidget } from "@/components/fields/schemaFields/widgets/SchemaCustomEventWidget"; -import CodeEditorWidget from "@/components/fields/schemaFields/widgets/CodeEditorWidget"; +} from "./schemaFieldTypes"; +import SchemaButtonVariantWidget from "./widgets/SchemaButtonVariantWidget"; +import { SchemaCustomEventWidget } from "./widgets/SchemaCustomEventWidget"; +import CodeEditorWidget from "./widgets/CodeEditorWidget"; export const customWidgets: CustomWidgetRegistry = { SchemaButtonVariantWidget, diff --git a/src/components/fields/schemaFields/WorkshopMessage.module.scss b/applications/browser-extension/src/components/fields/schemaFields/WorkshopMessage.module.scss similarity index 100% rename from src/components/fields/schemaFields/WorkshopMessage.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/WorkshopMessage.module.scss diff --git a/src/components/fields/schemaFields/WorkshopMessage.tsx b/applications/browser-extension/src/components/fields/schemaFields/WorkshopMessage.tsx similarity index 100% rename from src/components/fields/schemaFields/WorkshopMessage.tsx rename to applications/browser-extension/src/components/fields/schemaFields/WorkshopMessage.tsx diff --git a/src/components/fields/schemaFields/defaultFieldFactory.tsx b/applications/browser-extension/src/components/fields/schemaFields/defaultFieldFactory.tsx similarity index 87% rename from src/components/fields/schemaFields/defaultFieldFactory.tsx rename to applications/browser-extension/src/components/fields/schemaFields/defaultFieldFactory.tsx index 848a390d40..ec3983e7e8 100644 --- a/src/components/fields/schemaFields/defaultFieldFactory.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/defaultFieldFactory.tsx @@ -19,9 +19,9 @@ import React from "react"; import { type SchemaFieldComponent, type SchemaFieldProps, -} from "@/components/fields/schemaFields/propTypes"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import { makeLabelForSchemaField } from "@/components/fields/schemaFields/schemaFieldUtils"; +} from "./propTypes"; +import ConnectedFieldTemplate from "../../form/ConnectedFieldTemplate"; +import { makeLabelForSchemaField } from "./schemaFieldUtils"; export default function defaultFieldFactory( Widget: React.FC, diff --git a/src/components/fields/schemaFields/fieldInputMode.test.ts b/applications/browser-extension/src/components/fields/schemaFields/fieldInputMode.test.ts similarity index 92% rename from src/components/fields/schemaFields/fieldInputMode.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/fieldInputMode.test.ts index dc84886d7f..da9e898c07 100644 --- a/src/components/fields/schemaFields/fieldInputMode.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/fieldInputMode.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { inferInputMode } from "@/components/fields/schemaFields/fieldInputMode"; -import googleSheetIdSchema from "@schemas/googleSheetId.json"; -import { toExpression } from "@/utils/expressionUtils"; +import { inferInputMode } from "./fieldInputMode"; +import googleSheetIdSchema from "../../../../schemas/googleSheetId.json"; +import { toExpression } from "../../../utils/expressionUtils"; describe("test input mode", () => { test("variable expression", () => { diff --git a/src/components/fields/schemaFields/fieldInputMode.ts b/applications/browser-extension/src/components/fields/schemaFields/fieldInputMode.ts similarity index 96% rename from src/components/fields/schemaFields/fieldInputMode.ts rename to applications/browser-extension/src/components/fields/schemaFields/fieldInputMode.ts index e8df147674..4d77a32032 100644 --- a/src/components/fields/schemaFields/fieldInputMode.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/fieldInputMode.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../types/schemaTypes"; import { compact, isEmpty, uniq } from "lodash"; import { isDatabaseField, @@ -27,7 +27,7 @@ import { isLabelledEnumField, isSelectField, } from "./fieldTypeCheckers"; -import { isTemplateExpression, isVarExpression } from "@/utils/expressionUtils"; +import { isTemplateExpression, isVarExpression } from "../../../utils/expressionUtils"; export type FieldInputMode = | "string" diff --git a/src/components/fields/schemaFields/fieldTypeCheckers.test.ts b/applications/browser-extension/src/components/fields/schemaFields/fieldTypeCheckers.test.ts similarity index 94% rename from src/components/fields/schemaFields/fieldTypeCheckers.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/fieldTypeCheckers.test.ts index 007aedeadc..dce26b931a 100644 --- a/src/components/fields/schemaFields/fieldTypeCheckers.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/fieldTypeCheckers.test.ts @@ -18,8 +18,8 @@ import { isSelectField, isIntegrationDependencyValueFormat, -} from "@/components/fields/schemaFields/fieldTypeCheckers"; -import { toExpression } from "@/utils/expressionUtils"; +} from "./fieldTypeCheckers"; +import { toExpression } from "../../../utils/expressionUtils"; describe("isServiceValue", () => { it("null is service value", () => { diff --git a/src/components/fields/schemaFields/fieldTypeCheckers.ts b/applications/browser-extension/src/components/fields/schemaFields/fieldTypeCheckers.ts similarity index 89% rename from src/components/fields/schemaFields/fieldTypeCheckers.ts rename to applications/browser-extension/src/components/fields/schemaFields/fieldTypeCheckers.ts index 291a8d60a3..37ae7a7ac9 100644 --- a/src/components/fields/schemaFields/fieldTypeCheckers.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/fieldTypeCheckers.ts @@ -15,26 +15,26 @@ * along with this program. If not, see . */ -import { createTypePredicate } from "@/components/fields/fieldUtils"; -import { type Expression } from "@/types/runtimeTypes"; +import { createTypePredicate } from "../fieldUtils"; +import { type Expression } from "../../../types/runtimeTypes"; import { type LabelledEnumSchema, type Schema, type SchemaDefinition, type UiSchema, -} from "@/types/schemaTypes"; +} from "../../../types/schemaTypes"; import { get, isEmpty } from "lodash"; -import keySchema from "@schemas/key.json"; -import iconSchema from "@schemas/icon.json"; -import databaseSchema from "@schemas/database.json"; -import googleSheetIdSchema from "@schemas/googleSheetId.json"; +import keySchema from "../../../../schemas/key.json"; +import iconSchema from "../../../../schemas/icon.json"; +import databaseSchema from "../../../../schemas/database.json"; +import googleSheetIdSchema from "../../../../schemas/googleSheetId.json"; -import { isVarExpression } from "@/utils/expressionUtils"; +import { isVarExpression } from "../../../utils/expressionUtils"; import { INTEGRATION_DEPENDENCY_FIELD_REFS, PIXIEBRIX_INTEGRATION_REF_URL, INTEGRATIONS_BASE_SCHEMA_URL, -} from "@/integrations/constants"; +} from "../../../integrations/constants"; export const isPixiebrixIntegrationField = createTypePredicate( (schema) => schema.$ref === PIXIEBRIX_INTEGRATION_REF_URL, diff --git a/src/components/fields/schemaFields/genericOptionsFactory.tsx b/applications/browser-extension/src/components/fields/schemaFields/genericOptionsFactory.tsx similarity index 89% rename from src/components/fields/schemaFields/genericOptionsFactory.tsx rename to applications/browser-extension/src/components/fields/schemaFields/genericOptionsFactory.tsx index ad1412d1fb..a25aaab481 100644 --- a/src/components/fields/schemaFields/genericOptionsFactory.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/genericOptionsFactory.tsx @@ -16,12 +16,12 @@ */ import React from "react"; -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { type Schema, type UiSchema } from "../../../types/schemaTypes"; import { isEmpty } from "lodash"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { sortedFields } from "@/components/fields/schemaFields/schemaFieldUtils"; -import { joinName } from "@/utils/formUtils"; -import { inputProperties } from "@/utils/schemaUtils"; +import SchemaField from "./SchemaField"; +import { sortedFields } from "./schemaFieldUtils"; +import { joinName } from "../../../utils/formUtils"; +import { inputProperties } from "../../../utils/schemaUtils"; export type BrickOptionProps = { /** diff --git a/src/components/fields/schemaFields/getToggleOptions.test.ts b/applications/browser-extension/src/components/fields/schemaFields/getToggleOptions.test.ts similarity index 98% rename from src/components/fields/schemaFields/getToggleOptions.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/getToggleOptions.test.ts index 9b729fa9ef..18e91d54fc 100644 --- a/src/components/fields/schemaFields/getToggleOptions.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/getToggleOptions.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import databaseSchema from "@schemas/database.json"; +import databaseSchema from "../../../../schemas/database.json"; import { getToggleOptions } from "./getToggleOptions"; describe("Database field", () => { diff --git a/src/components/fields/schemaFields/getToggleOptions.tsx b/applications/browser-extension/src/components/fields/schemaFields/getToggleOptions.tsx similarity index 96% rename from src/components/fields/schemaFields/getToggleOptions.tsx rename to applications/browser-extension/src/components/fields/schemaFields/getToggleOptions.tsx index af2a96eb12..7569feafea 100644 --- a/src/components/fields/schemaFields/getToggleOptions.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/getToggleOptions.tsx @@ -8,7 +8,7 @@ import { } from "./widgets/templateToggleWidgetTypes"; import OptionIcon from "./optionIcon/OptionIcon"; import widgetsRegistry from "./widgets/widgetsRegistry"; -import { type CustomFieldToggleMode } from "@/components/fields/schemaFields/schemaFieldTypes"; +import { type CustomFieldToggleMode } from "./schemaFieldTypes"; import { isDatabaseField, isGoogleSheetIdField, @@ -21,10 +21,10 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCloud } from "@fortawesome/free-solid-svg-icons"; import { faFileAlt } from "@fortawesome/free-regular-svg-icons"; -import { IntegrationDependencyFieldDescription } from "@/components/fields/schemaFields/integrations/IntegrationDependencyField"; -import { isCustomizableObjectSchema } from "@/components/fields/schemaFields/widgets/widgetUtils"; -import { type Schema } from "@/types/schemaTypes"; -import { isTemplateExpression, toExpression } from "@/utils/expressionUtils"; +import { IntegrationDependencyFieldDescription } from "./integrations/IntegrationDependencyField"; +import { isCustomizableObjectSchema } from "./widgets/widgetUtils"; +import { type Schema } from "../../../types/schemaTypes"; +import { isTemplateExpression, toExpression } from "../../../utils/expressionUtils"; type ToggleOptionInputs = { fieldSchema: Schema; diff --git a/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx similarity index 89% rename from src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx index e2b6513b3f..f273abb9b0 100644 --- a/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.stories.tsx @@ -18,9 +18,9 @@ import React from "react"; import { type ComponentMeta, type ComponentStory } from "@storybook/react"; import { action } from "@storybook/addon-actions"; -import IntegrationAuthSelectWidget from "@/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { type UUID } from "@/types/stringTypes"; +import IntegrationAuthSelectWidget from "./IntegrationAuthSelectWidget"; +import { uuidv4, validateRegistryId } from "../../../../types/helpers"; +import { type UUID } from "../../../../types/stringTypes"; export default { title: "Widgets/ServiceSelectWidget", diff --git a/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx similarity index 94% rename from src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx index dc7b54c872..ee53922970 100644 --- a/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget.tsx @@ -18,8 +18,8 @@ import React from "react"; import SelectWidget, { type SelectWidgetProps, -} from "@/components/form/widgets/SelectWidget"; -import { type AuthOption } from "@/auth/authTypes"; +} from "../../../form/widgets/SelectWidget"; +import { type AuthOption } from "../../../../auth/authTypes"; import { Button } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faSync } from "@fortawesome/free-solid-svg-icons"; diff --git a/src/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx similarity index 84% rename from src/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx rename to applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx index f9774c8acf..e6e6481a89 100644 --- a/src/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyField.tsx @@ -16,17 +16,17 @@ */ import React from "react"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../../types/schemaTypes"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCloud } from "@fortawesome/free-solid-svg-icons"; -import FieldTemplate from "@/components/form/FieldTemplate"; -import { makeLabelForSchemaField } from "@/components/fields/schemaFields/schemaFieldUtils"; +import FieldTemplate from "../../../form/FieldTemplate"; +import { makeLabelForSchemaField } from "../schemaFieldUtils"; import IntegrationDependencyWidget, { type IntegrationDependencyWidgetProps, -} from "@/components/fields/schemaFields/integrations/IntegrationDependencyWidget"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { getExtensionConsoleUrl } from "@/utils/extensionUtils"; +} from "./IntegrationDependencyWidget"; +import reportEvent from "../../../../telemetry/reportEvent"; +import { Events } from "../../../../telemetry/events"; +import { getExtensionConsoleUrl } from "../../../../utils/extensionUtils"; export const IntegrationDependencyFieldDescription: React.FC<{ schema: Schema; diff --git a/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx similarity index 88% rename from src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx index c2e0373af6..20555cead7 100644 --- a/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.test.tsx @@ -17,28 +17,28 @@ import IntegrationDependencyWidget, { defaultOutputKey, -} from "@/components/fields/schemaFields/integrations/IntegrationDependencyWidget"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; +} from "./IntegrationDependencyWidget"; +import { uuidv4, validateRegistryId } from "../../../../types/helpers"; +import { validateOutputKey } from "../../../../runtime/runtimeTypes"; import React from "react"; -import { render } from "@/pageEditor/testHelpers"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type Schema } from "@/types/schemaTypes"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { render } from "../../../../pageEditor/testHelpers"; +import registerDefaultWidgets from "../widgets/registerDefaultWidgets"; +import { type Schema } from "../../../../types/schemaTypes"; +import { type SchemaFieldProps } from "../propTypes"; // eslint-disable-next-line no-restricted-imports -- test import { Formik } from "formik"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { useAuthOptions } from "../../../../hooks/useAuthOptions"; +import { waitForEffect } from "../../../../testUtils/testHelpers"; import { loadingAsyncStateFactory, valueToAsyncState, -} from "@/utils/asyncStateUtils"; +} from "../../../../utils/asyncStateUtils"; import selectEvent from "react-select-event"; import { act, screen } from "@testing-library/react"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../../utils/expressionUtils"; -jest.mock("@/hooks/useAuthOptions"); +jest.mock("../../../../hooks/useAuthOptions"); const useAuthOptionsMock = jest.mocked(useAuthOptions); diff --git a/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx similarity index 89% rename from src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx index c66acba94a..53d143e742 100644 --- a/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/IntegrationDependencyWidget.tsx @@ -16,36 +16,36 @@ */ import React, { useCallback, useMemo } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import { PACKAGE_REGEX } from "@/types/helpers"; -import { type AuthOption } from "@/auth/authTypes"; +import { type SchemaFieldProps } from "../propTypes"; +import { PACKAGE_REGEX } from "../../../../types/helpers"; +import { type AuthOption } from "../../../../auth/authTypes"; import { type IntegrationsFormSlice, produceExcludeUnusedDependencies, -} from "@/components/fields/schemaFields/integrations/integrationDependencyFieldUtils"; +} from "./integrationDependencyFieldUtils"; import { produce } from "immer"; import { setIn, useField, useFormikContext } from "formik"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; +import { useAuthOptions } from "../../../../hooks/useAuthOptions"; import { isEmpty, isEqual, unset } from "lodash"; -import { type SelectWidgetOnChange } from "@/components/form/widgets/SelectWidget"; -import IntegrationAuthSelectWidget from "@/components/fields/schemaFields/integrations/IntegrationAuthSelectWidget"; +import { type SelectWidgetOnChange } from "../../../form/widgets/SelectWidget"; +import IntegrationAuthSelectWidget from "./IntegrationAuthSelectWidget"; import { type Expression, type IntegrationDependencyVarRef, type OutputKey, -} from "@/types/runtimeTypes"; -import { type RegistryId } from "@/types/registryTypes"; -import { type SafeString, type UUID } from "@/types/stringTypes"; -import { type IntegrationDependency } from "@/integrations/integrationTypes"; -import { freshIdentifier, makeVariableExpression } from "@/utils/variableUtils"; +} from "../../../../types/runtimeTypes"; +import { type RegistryId } from "../../../../types/registryTypes"; +import { type SafeString, type UUID } from "../../../../types/stringTypes"; +import { type IntegrationDependency } from "../../../../integrations/integrationTypes"; +import { freshIdentifier, makeVariableExpression } from "../../../../utils/variableUtils"; import useAsyncEffect from "use-async-effect"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import extractIntegrationIdsFromSchema from "@/integrations/util/extractIntegrationIdsFromSchema"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { type FieldAnnotation } from "@/components/form/FieldAnnotation"; -import { freeze } from "@/utils/objectUtils"; -import { fallbackValue } from "@/utils/asyncStateUtils"; +import reportEvent from "../../../../telemetry/reportEvent"; +import { Events } from "../../../../telemetry/events"; +import extractIntegrationIdsFromSchema from "../../../../integrations/util/extractIntegrationIdsFromSchema"; +import { assertNotNullish } from "../../../../utils/nullishUtils"; +import { type FieldAnnotation } from "../../../form/FieldAnnotation"; +import { freeze } from "../../../../utils/objectUtils"; +import { fallbackValue } from "../../../../utils/asyncStateUtils"; export type IntegrationDependencyWidgetProps = SchemaFieldProps & { /** Set the value of the field on mount to the integration auth already selected, or the only available credential (default=true) */ diff --git a/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts similarity index 87% rename from src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts index 9781abdefe..ad96c15fbb 100644 --- a/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.test.ts @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import { validateRegistryId, validateUUID } from "@/types/helpers"; +import { type UUID } from "../../../../types/stringTypes"; +import { type ModComponentFormState } from "../../../../pageEditor/starterBricks/formStateTypes"; +import { validateRegistryId, validateUUID } from "../../../../types/helpers"; import { selectIntegrationDependencyVariables } from "./integrationDependencyFieldUtils"; -import { emptyPermissionsFactory } from "@/permissions/permissionsUtils"; -import { createNewDocumentBuilderElement } from "@/pageEditor/documentBuilder/createNewDocumentBuilderElement"; -import { type ListElement } from "@/pageEditor/documentBuilder/documentBuilderTypes"; +import { emptyPermissionsFactory } from "../../../../permissions/permissionsUtils"; +import { createNewDocumentBuilderElement } from "../../../../pageEditor/documentBuilder/createNewDocumentBuilderElement"; +import { type ListElement } from "../../../../pageEditor/documentBuilder/documentBuilderTypes"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; -import { formStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { brickConfigFactory } from "@/testUtils/factories/brickFactories"; -import { integrationDependencyFactory } from "@/testUtils/factories/integrationFactories"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; -import { normalizeAvailability } from "@/bricks/available"; -import { StarterBrickTypes } from "@/types/starterBrickTypes"; -import { createNewUnsavedModMetadata } from "@/utils/modUtils"; +import { uuidSequence } from "../../../../testUtils/factories/stringFactories"; +import { formStateFactory } from "../../../../testUtils/factories/pageEditorFactories"; +import { brickConfigFactory } from "../../../../testUtils/factories/brickFactories"; +import { integrationDependencyFactory } from "../../../../testUtils/factories/integrationFactories"; +import { validateOutputKey } from "../../../../runtime/runtimeTypes"; +import { toExpression } from "../../../../utils/expressionUtils"; +import { normalizeAvailability } from "../../../../bricks/available"; +import { StarterBrickTypes } from "../../../../types/starterBrickTypes"; +import { createNewUnsavedModMetadata } from "../../../../utils/modUtils"; describe("selectVariables", () => { test("selects nothing when no services used", () => { diff --git a/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts b/applications/browser-extension/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts similarity index 93% rename from src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts rename to applications/browser-extension/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts index b31427eeea..df13fa77e2 100644 --- a/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/integrations/integrationDependencyFieldUtils.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; +import { type ModComponentFormState } from "../../../../pageEditor/starterBricks/formStateTypes"; import { type Draft, produce } from "immer"; import { isDeferExpression, isExpression, isPipelineExpression, isVarExpression, -} from "@/utils/expressionUtils"; +} from "../../../../utils/expressionUtils"; import { isEmpty } from "lodash"; -import { makeVariableExpression } from "@/utils/variableUtils"; +import { makeVariableExpression } from "../../../../utils/variableUtils"; export type IntegrationsFormSlice = Pick< ModComponentFormState, diff --git a/src/components/fields/schemaFields/optionIcon/OptionIcon.module.scss b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/OptionIcon.module.scss similarity index 100% rename from src/components/fields/schemaFields/optionIcon/OptionIcon.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/OptionIcon.module.scss diff --git a/src/components/fields/schemaFields/optionIcon/OptionIcon.tsx b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/OptionIcon.tsx similarity index 100% rename from src/components/fields/schemaFields/optionIcon/OptionIcon.tsx rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/OptionIcon.tsx diff --git a/src/components/fields/schemaFields/optionIcon/icons/array.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/array.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/array.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/array.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/exclude.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/exclude.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/exclude.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/exclude.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/key.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/key.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/key.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/key.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/number.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/number.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/number.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/number.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/object.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/object.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/object.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/object.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/querySelector.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/querySelector.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/querySelector.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/querySelector.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/select.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/select.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/select.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/select.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/text.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/text.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/text.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/text.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/toggle.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/toggle.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/toggle.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/toggle.svg diff --git a/src/components/fields/schemaFields/optionIcon/icons/var.svg b/applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/var.svg similarity index 100% rename from src/components/fields/schemaFields/optionIcon/icons/var.svg rename to applications/browser-extension/src/components/fields/schemaFields/optionIcon/icons/var.svg diff --git a/src/components/fields/schemaFields/propTypes.ts b/applications/browser-extension/src/components/fields/schemaFields/propTypes.ts similarity index 97% rename from src/components/fields/schemaFields/propTypes.ts rename to applications/browser-extension/src/components/fields/schemaFields/propTypes.ts index 8065c63bd2..95f69d8f5e 100644 --- a/src/components/fields/schemaFields/propTypes.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/propTypes.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { type Schema, type UiSchema } from "../../../types/schemaTypes"; import type React from "react"; import { type FieldInputMode } from "./fieldInputMode"; import type * as Yup from "yup"; diff --git a/src/components/fields/schemaFields/schemaFieldTypes.ts b/applications/browser-extension/src/components/fields/schemaFields/schemaFieldTypes.ts similarity index 83% rename from src/components/fields/schemaFields/schemaFieldTypes.ts rename to applications/browser-extension/src/components/fields/schemaFields/schemaFieldTypes.ts index cd7d863f08..2b5752f21a 100644 --- a/src/components/fields/schemaFields/schemaFieldTypes.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/schemaFieldTypes.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; -import { type InputModeOption } from "@/components/fields/schemaFields/widgets/templateToggleWidgetTypes"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type Schema } from "../../../types/schemaTypes"; +import { type InputModeOption } from "./widgets/templateToggleWidgetTypes"; +import { type SchemaFieldProps } from "./propTypes"; import type React from "react"; export type CustomFieldToggleMode = { diff --git a/src/components/fields/schemaFields/schemaFieldUtils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/schemaFieldUtils.test.ts similarity index 96% rename from src/components/fields/schemaFields/schemaFieldUtils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/schemaFieldUtils.test.ts index 461b7ae6f6..6d0488f2d5 100644 --- a/src/components/fields/schemaFields/schemaFieldUtils.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/schemaFieldUtils.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { sortedFields } from "@/components/fields/schemaFields/schemaFieldUtils"; -import { type Schema } from "@/types/schemaTypes"; +import { sortedFields } from "./schemaFieldUtils"; +import { type Schema } from "../../../types/schemaTypes"; describe("sortedFields", () => { it("sorts by type first", () => { diff --git a/src/components/fields/schemaFields/schemaFieldUtils.ts b/applications/browser-extension/src/components/fields/schemaFields/schemaFieldUtils.ts similarity index 90% rename from src/components/fields/schemaFields/schemaFieldUtils.ts rename to applications/browser-extension/src/components/fields/schemaFields/schemaFieldUtils.ts index fcfe0d2d9f..9cb1b0d13c 100644 --- a/src/components/fields/schemaFields/schemaFieldUtils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/schemaFieldUtils.ts @@ -16,16 +16,16 @@ */ import type React from "react"; -import { fieldLabel } from "@/components/fields/fieldUtils"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { fieldLabel } from "../fieldUtils"; +import { type SchemaFieldProps } from "./propTypes"; +import { type Schema, type UiSchema } from "../../../types/schemaTypes"; import { isDatabaseField, isIntegrationDependencyField, -} from "@/components/fields/schemaFields/fieldTypeCheckers"; -import pipelineSchema from "@schemas/pipeline.json"; +} from "./fieldTypeCheckers"; +import pipelineSchema from "../../../../schemas/pipeline.json"; import { isEmpty, sortBy } from "lodash"; -import { inputProperties } from "@/utils/schemaUtils"; +import { inputProperties } from "../../../utils/schemaUtils"; export function makeLabelForSchemaField({ name, diff --git a/src/components/fields/schemaFields/schemaUtils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/schemaUtils.test.ts similarity index 93% rename from src/components/fields/schemaFields/schemaUtils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/schemaUtils.test.ts index f3f05a9d54..a63bf4953f 100644 --- a/src/components/fields/schemaFields/schemaUtils.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/schemaUtils.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { castSchema } from "@/components/fields/schemaFields/schemaUtils"; +import { castSchema } from "./schemaUtils"; describe("castSchema", () => { it("casts an object to an object schema", () => { diff --git a/src/components/fields/schemaFields/schemaUtils.ts b/applications/browser-extension/src/components/fields/schemaFields/schemaUtils.ts similarity index 97% rename from src/components/fields/schemaFields/schemaUtils.ts rename to applications/browser-extension/src/components/fields/schemaFields/schemaUtils.ts index 413c145381..253bd98cbb 100644 --- a/src/components/fields/schemaFields/schemaUtils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/schemaUtils.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../types/schemaTypes"; import { isEmpty } from "lodash"; type SchemaProperties = Record; diff --git a/src/components/fields/schemaFields/selectFieldUtils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/selectFieldUtils.test.ts similarity index 96% rename from src/components/fields/schemaFields/selectFieldUtils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/selectFieldUtils.test.ts index 3e331038e9..1b45af8608 100644 --- a/src/components/fields/schemaFields/selectFieldUtils.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/selectFieldUtils.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { mapSchemaToOptions } from "@/components/fields/schemaFields/selectFieldUtils"; -import { type Schema } from "@/types/schemaTypes"; +import { mapSchemaToOptions } from "./selectFieldUtils"; +import { type Schema } from "../../../types/schemaTypes"; describe("selectFieldUtils", () => { describe("mapSchemaToOptions", () => { diff --git a/src/components/fields/schemaFields/selectFieldUtils.ts b/applications/browser-extension/src/components/fields/schemaFields/selectFieldUtils.ts similarity index 89% rename from src/components/fields/schemaFields/selectFieldUtils.ts rename to applications/browser-extension/src/components/fields/schemaFields/selectFieldUtils.ts index 4e7d984f87..056fd0785e 100644 --- a/src/components/fields/schemaFields/selectFieldUtils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/selectFieldUtils.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; -import { isLabelledEnumField } from "@/components/fields/schemaFields/fieldTypeCheckers"; +import { type Schema } from "../../../types/schemaTypes"; +import { isLabelledEnumField } from "./fieldTypeCheckers"; import { compact, uniqBy } from "lodash"; -import { type StringOptionsType } from "@/components/fields/schemaFields/widgets/SchemaSelectWidget"; +import { type StringOptionsType } from "./widgets/SchemaSelectWidget"; /** * Return the options for a SelectWidget based on the schema and user input. diff --git a/src/components/fields/schemaFields/testHelpers.ts b/applications/browser-extension/src/components/fields/schemaFields/testHelpers.ts similarity index 100% rename from src/components/fields/schemaFields/testHelpers.ts rename to applications/browser-extension/src/components/fields/schemaFields/testHelpers.ts diff --git a/src/components/fields/schemaFields/widgets/ArrayWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/ArrayWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/ArrayWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.test.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/ArrayWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.test.tsx index 1429ebb2ad..6be07f2393 100644 --- a/src/components/fields/schemaFields/widgets/ArrayWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.test.tsx @@ -16,12 +16,12 @@ */ import React from "react"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type Schema } from "@/types/schemaTypes"; -import ArrayWidget from "@/components/fields/schemaFields/widgets/ArrayWidget"; +import registerDefaultWidgets from "./registerDefaultWidgets"; +import { type Schema } from "../../../../types/schemaTypes"; +import ArrayWidget from "./ArrayWidget"; import userEvent from "@testing-library/user-event"; -import { render, screen, within } from "@/pageEditor/testHelpers"; -import { toExpression } from "@/utils/expressionUtils"; +import { render, screen, within } from "../../../../pageEditor/testHelpers"; +import { toExpression } from "../../../../utils/expressionUtils"; const fieldName = "testField"; const fieldDescription = "this is a test field description"; diff --git a/src/components/fields/schemaFields/widgets/ArrayWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.tsx similarity index 89% rename from src/components/fields/schemaFields/widgets/ArrayWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.tsx index 2e123534dc..32b7bdb427 100644 --- a/src/components/fields/schemaFields/widgets/ArrayWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/ArrayWidget.tsx @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { FieldArray, useField } from "formik"; import { Button } from "react-bootstrap"; import React, { useMemo } from "react"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../../types/schemaTypes"; import { booleanPredicate, findOneOf, textPredicate, -} from "@/components/fields/schemaFields/schemaUtils"; -import { defaultBrickConfig } from "@/bricks/util"; -import ArrowUpwardIcon from "@/icons/arrow-upward.svg?loadAsComponent"; -import ArrowDownwardIcon from "@/icons/arrow-downward.svg?loadAsComponent"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; +} from "../schemaUtils"; +import { defaultBrickConfig } from "../../../../bricks/util"; +import ArrowUpwardIcon from "../../../../icons/arrow-upward.svg?loadAsComponent"; +import ArrowDownwardIcon from "../../../../icons/arrow-downward.svg?loadAsComponent"; +import SchemaField from "../SchemaField"; import styles from "./ArrayWidget.module.scss"; -import { joinName } from "@/utils/formUtils"; +import { joinName } from "../../../../utils/formUtils"; type ArrayWidgetProps = SchemaFieldProps & { addButtonCaption?: string; diff --git a/src/components/fields/schemaFields/widgets/BooleanWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/BooleanWidget.tsx similarity index 94% rename from src/components/fields/schemaFields/widgets/BooleanWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/BooleanWidget.tsx index ff01f28258..c323a056b8 100644 --- a/src/components/fields/schemaFields/widgets/BooleanWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/BooleanWidget.tsx @@ -18,7 +18,7 @@ import React from "react"; import { useField } from "formik"; import BootstrapSwitchButton from "bootstrap-switch-button-react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import useAsyncEffect from "use-async-effect"; const BooleanWidget: React.FC = ({ name, focusInput }) => { diff --git a/src/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx similarity index 90% rename from src/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx index 2c34f7c3e7..715933aa3c 100644 --- a/src/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.stories.tsx @@ -18,10 +18,10 @@ import React from "react"; import { type Meta, type StoryObj } from "@storybook/react"; import { action } from "@storybook/addon-actions"; -import { settingsStore } from "@/testUtils/storyUtils"; +import { settingsStore } from "../../../../testUtils/storyUtils"; import { Provider } from "react-redux"; -import Form from "@/components/form/Form"; -import CodeEditorWidget from "@/components/fields/schemaFields/widgets/CodeEditorWidget"; +import Form from "../../../form/Form"; +import CodeEditorWidget from "./CodeEditorWidget"; import { type JSONSchema7 } from "json-schema"; type CodeEditorWidgetPropsAndCustomArgs = React.ComponentProps< diff --git a/src/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx similarity index 96% rename from src/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx index 02dd11a77a..71f23f1f18 100644 --- a/src/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.test.tsx @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import CodeEditorWidget from "@/components/fields/schemaFields/widgets/CodeEditorWidget"; +import CodeEditorWidget from "./CodeEditorWidget"; import { render, screen, waitForElementToBeRemoved, -} from "@/pageEditor/testHelpers"; +} from "../../../../pageEditor/testHelpers"; import { userEvent } from "@testing-library/user-event"; import { type JSONSchema7 } from "json-schema"; import React from "react"; diff --git a/src/components/fields/schemaFields/widgets/CodeEditorWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/CodeEditorWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.tsx index a1c0d4f265..8268f4f554 100644 --- a/src/components/fields/schemaFields/widgets/CodeEditorWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/CodeEditorWidget.tsx @@ -16,8 +16,8 @@ */ import React, { Suspense } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import AceEditor from "@/components/AceEditor"; +import { type SchemaFieldProps } from "../propTypes"; +import AceEditor from "../../../AceEditor"; import { useField } from "formik"; const CodeEditorWidget: React.VFC = ({ name }) => { diff --git a/src/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx similarity index 89% rename from src/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx index c3ebdfbcb2..6749950020 100644 --- a/src/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/DatabaseCreateModal.tsx @@ -17,22 +17,22 @@ import React, { useMemo } from "react"; import { Button, Modal } from "react-bootstrap"; -import Form from "@/components/form/Form"; +import Form from "../../../form/Form"; import * as yup from "yup"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import Loader from "@/components/Loader"; +import ConnectedFieldTemplate from "../../../form/ConnectedFieldTemplate"; +import Loader from "../../../Loader"; import { useAddDatabaseToGroupMutation, useCreateDatabaseMutation, useGetOrganizationsQuery, -} from "@/data/service/api"; -import SelectWidget from "@/components/form/widgets/SelectWidget"; -import DatabaseGroupSelect from "@/components/fields/schemaFields/DatabaseGroupSelect"; -import notify from "@/utils/notify"; -import { type UUID } from "@/types/stringTypes"; -import { validateUUID } from "@/types/helpers"; -import { type Team } from "@/data/model/Team"; -import { UserRole } from "@/data/model/UserRole"; +} from "../../../../data/service/api"; +import SelectWidget from "../../../form/widgets/SelectWidget"; +import DatabaseGroupSelect from "../DatabaseGroupSelect"; +import notify from "../../../../utils/notify"; +import { type UUID } from "../../../../types/stringTypes"; +import { validateUUID } from "../../../../types/helpers"; +import { type Team } from "../../../../data/model/Team"; +import { UserRole } from "../../../../data/model/UserRole"; type DatabaseCreateModalProps = { show: boolean; diff --git a/src/components/fields/schemaFields/widgets/DatabaseWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/DatabaseWidget.tsx similarity index 85% rename from src/components/fields/schemaFields/widgets/DatabaseWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/DatabaseWidget.tsx index 0e312033d9..3094d00e89 100644 --- a/src/components/fields/schemaFields/widgets/DatabaseWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/DatabaseWidget.tsx @@ -17,20 +17,20 @@ import React, { useContext, useMemo, useState } from "react"; import { useField } from "formik"; -import useDatabaseOptions from "@/hooks/useDatabaseOptions"; +import useDatabaseOptions from "../../../../hooks/useDatabaseOptions"; import DatabaseCreateModal from "./DatabaseCreateModal"; import SelectWidget, { type Option, type SelectLike, -} from "@/components/form/widgets/SelectWidget"; -import createMenuListWithAddButton from "@/components/form/widgets/createMenuListWithAddButton"; -import FieldRuntimeContext from "@/components/fields/schemaFields/FieldRuntimeContext"; -import { type UUID } from "@/types/stringTypes"; -import { type Expression } from "@/types/runtimeTypes"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import useIsMounted from "@/hooks/useIsMounted"; -import { isUUID } from "@/types/helpers"; -import { isExpression, toExpression } from "@/utils/expressionUtils"; +} from "../../../form/widgets/SelectWidget"; +import createMenuListWithAddButton from "../../../form/widgets/createMenuListWithAddButton"; +import FieldRuntimeContext from "../FieldRuntimeContext"; +import { type UUID } from "../../../../types/stringTypes"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { type SchemaFieldProps } from "../propTypes"; +import useIsMounted from "../../../../hooks/useIsMounted"; +import { isUUID } from "../../../../types/helpers"; +import { isExpression, toExpression } from "../../../../utils/expressionUtils"; const DatabaseWidget: React.FunctionComponent = ({ name, diff --git a/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx similarity index 86% rename from src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx index 363b3709f2..1d32aac23f 100644 --- a/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.test.tsx @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { render, screen } from "@/pageEditor/testHelpers"; +import { render, screen } from "../../../../pageEditor/testHelpers"; import React from "react"; -import FixedInnerObjectWidget from "@/components/fields/schemaFields/widgets/FixedInnerObjectWidget"; -import { type Schema } from "@/types/schemaTypes"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; +import FixedInnerObjectWidget from "./FixedInnerObjectWidget"; +import { type Schema } from "../../../../types/schemaTypes"; +import registerDefaultWidgets from "./registerDefaultWidgets"; beforeAll(() => { registerDefaultWidgets(); diff --git a/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx similarity index 84% rename from src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx index c17a6d4301..745db6778b 100644 --- a/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/FixedInnerObjectWidget.tsx @@ -16,10 +16,10 @@ */ import React, { useMemo } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import genericOptionsFactory from "@/components/fields/schemaFields/genericOptionsFactory"; -import { type Schema } from "@/types/schemaTypes"; -import WorkshopMessageWidget from "@/components/fields/schemaFields/widgets/WorkshopMessageWidget"; +import { type SchemaFieldProps } from "../propTypes"; +import genericOptionsFactory from "../genericOptionsFactory"; +import { type Schema } from "../../../../types/schemaTypes"; +import WorkshopMessageWidget from "./WorkshopMessageWidget"; /** * A widget for rendering a nested object with fixed properties. diff --git a/src/components/fields/schemaFields/widgets/HeadingStyleWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/HeadingStyleWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/HeadingStyleWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/HeadingStyleWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx similarity index 90% rename from src/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx index bf26a9ce7b..d44cebe36c 100644 --- a/src/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/HeadingStyleWidget.tsx @@ -17,11 +17,11 @@ import React from "react"; import { Button, ButtonGroup } from "react-bootstrap"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import cx from "classnames"; import styles from "./HeadingStyleWidget.module.scss"; import { useField } from "formik"; -import { VALID_HEADER_TAGS } from "@/pageEditor/documentBuilder/allowedElementTypes"; +import { VALID_HEADER_TAGS } from "../../../../pageEditor/documentBuilder/allowedElementTypes"; const HeadingStyleWidget: React.FunctionComponent = ( props, diff --git a/src/components/fields/schemaFields/widgets/IntegerWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/IntegerWidget.tsx similarity index 86% rename from src/components/fields/schemaFields/widgets/IntegerWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/IntegerWidget.tsx index 4083ac4ea1..808c185419 100644 --- a/src/components/fields/schemaFields/widgets/IntegerWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/IntegerWidget.tsx @@ -16,9 +16,9 @@ */ import React from "react"; -import NumberWidget from "@/components/fields/schemaFields/widgets/NumberWidget"; +import NumberWidget from "./NumberWidget"; import { type FormControlProps } from "react-bootstrap"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; /** * A basic input widget for integers diff --git a/src/components/fields/schemaFields/widgets/NumberWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/NumberWidget.tsx similarity index 93% rename from src/components/fields/schemaFields/widgets/NumberWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/NumberWidget.tsx index 189817cd1b..708f85ff5a 100644 --- a/src/components/fields/schemaFields/widgets/NumberWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/NumberWidget.tsx @@ -25,8 +25,8 @@ import React, { import { Form, type FormControlProps } from "react-bootstrap"; import { useField } from "formik"; import { round } from "lodash"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import useAutoFocusConfiguration from "@/hooks/useAutoFocusConfiguration"; +import { type SchemaFieldProps } from "../propTypes"; +import useAutoFocusConfiguration from "../../../../hooks/useAutoFocusConfiguration"; /** * A basic input widget for numbers diff --git a/src/components/fields/schemaFields/widgets/ObjectWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/ObjectWidget.test.tsx similarity index 93% rename from src/components/fields/schemaFields/widgets/ObjectWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/ObjectWidget.test.tsx index 538bc23b8f..2e5cccefe4 100644 --- a/src/components/fields/schemaFields/widgets/ObjectWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/ObjectWidget.test.tsx @@ -18,13 +18,13 @@ /* eslint jest/expect-expect: ["error", { "assertFunctionNames": ["expect", "expectToggleOptions"] }] -- TODO: replace with native expect and it.each */ import React from "react"; -import { type Schema } from "@/types/schemaTypes"; -import { render, screen, within } from "@/pageEditor/testHelpers"; -import ObjectWidget from "@/components/fields/schemaFields/widgets/ObjectWidget"; +import { type Schema } from "../../../../types/schemaTypes"; +import { render, screen, within } from "../../../../pageEditor/testHelpers"; +import ObjectWidget from "./ObjectWidget"; import userEvent from "@testing-library/user-event"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { expectToggleOptions } from "@/components/fields/schemaFields/testHelpers"; -import { toExpression } from "@/utils/expressionUtils"; +import registerDefaultWidgets from "./registerDefaultWidgets"; +import { expectToggleOptions } from "../testHelpers"; +import { toExpression } from "../../../../utils/expressionUtils"; const fieldName = "testField"; const fieldDescription = "this is a test field description"; diff --git a/src/components/fields/schemaFields/widgets/ObjectWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/ObjectWidget.tsx similarity index 93% rename from src/components/fields/schemaFields/widgets/ObjectWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/ObjectWidget.tsx index ef0b4f4047..bcb5d15e3b 100644 --- a/src/components/fields/schemaFields/widgets/ObjectWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/ObjectWidget.tsx @@ -19,16 +19,16 @@ import React, { useCallback, useMemo, useRef } from "react"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Button, Form, Table } from "react-bootstrap"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { type FieldValidator, useField, useFormikContext } from "formik"; import { produce } from "immer"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { getFieldNamesFromPathString } from "@/runtime/pathHelpers"; -import { isCustomizableObjectSchema } from "@/components/fields/schemaFields/widgets/widgetUtils"; -import { type Schema } from "@/types/schemaTypes"; -import { type SafeString } from "@/types/stringTypes"; -import { joinName } from "@/utils/formUtils"; -import { freshIdentifier } from "@/utils/variableUtils"; +import SchemaField from "../SchemaField"; +import { getFieldNamesFromPathString } from "../../../../runtime/pathHelpers"; +import { isCustomizableObjectSchema } from "./widgetUtils"; +import { type Schema } from "../../../../types/schemaTypes"; +import { type SafeString } from "../../../../types/stringTypes"; +import { joinName } from "../../../../utils/formUtils"; +import { freshIdentifier } from "../../../../utils/variableUtils"; type PropertyRowProps = { name: string; diff --git a/src/components/fields/schemaFields/widgets/OmitFieldWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/OmitFieldWidget.tsx similarity index 93% rename from src/components/fields/schemaFields/widgets/OmitFieldWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/OmitFieldWidget.tsx index 68ff74168e..9bdabdd480 100644 --- a/src/components/fields/schemaFields/widgets/OmitFieldWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/OmitFieldWidget.tsx @@ -18,7 +18,7 @@ import React from "react"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form, type FormControlProps } from "react-bootstrap"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; const OmitFieldWidget: React.VFC = ({ schema, diff --git a/src/components/fields/schemaFields/widgets/PasswordWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/PasswordWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/PasswordWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/PasswordWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/PasswordWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/PasswordWidget.tsx similarity index 94% rename from src/components/fields/schemaFields/widgets/PasswordWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/PasswordWidget.tsx index ce9db8a5a6..2c499b8bfc 100644 --- a/src/components/fields/schemaFields/widgets/PasswordWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/PasswordWidget.tsx @@ -24,11 +24,11 @@ import { type FormControlProps, InputGroup, } from "react-bootstrap"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { useField } from "formik"; import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import useAutoFocusConfiguration from "@/hooks/useAutoFocusConfiguration"; +import useAutoFocusConfiguration from "../../../../hooks/useAutoFocusConfiguration"; const PasswordWidget: React.VFC = ({ name, diff --git a/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx similarity index 93% rename from src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx index 7a367797f4..3c545ea68d 100644 --- a/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.test.tsx @@ -16,9 +16,9 @@ */ import React from "react"; -import SchemaButtonVariantWidget from "@/components/fields/schemaFields/widgets/SchemaButtonVariantWidget"; -import { render, screen } from "@/pageEditor/testHelpers"; -import { type Schema } from "@/types/schemaTypes"; +import SchemaButtonVariantWidget from "./SchemaButtonVariantWidget"; +import { render, screen } from "../../../../pageEditor/testHelpers"; +import { type Schema } from "../../../../types/schemaTypes"; // eslint-disable-next-line no-restricted-imports -- Required for testing import { Formik } from "formik"; import selectEvent from "react-select-event"; diff --git a/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx similarity index 91% rename from src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx index 8b0ae0b492..e48ca21fbc 100644 --- a/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaButtonVariantWidget.tsx @@ -16,7 +16,7 @@ */ import React, { useMemo } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { useField } from "formik"; import Select, { type OptionProps, @@ -26,8 +26,8 @@ import Select, { import { Button } from "react-bootstrap"; import styles from "./SchemaButtonVariantWidget.module.scss"; import cx from "classnames"; -import { type StringOption } from "@/components/fields/schemaFields/widgets/SchemaSelectWidget"; -import { mapSchemaToOptions } from "@/components/fields/schemaFields/selectFieldUtils"; +import { type StringOption } from "./SchemaSelectWidget"; +import { mapSchemaToOptions } from "../selectFieldUtils"; const OptionComponent = ({ innerProps, diff --git a/src/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx similarity index 79% rename from src/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx index 0eb139c03d..cb49a0f8d4 100644 --- a/src/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaCustomEventWidget.tsx @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import SchemaSelectWidget from "@/components/fields/schemaFields/widgets/SchemaSelectWidget"; -import { selectKnownEventNamesForActiveModComponent } from "@/pageEditor/store/editor/editorSelectors"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import SchemaSelectWidget from "./SchemaSelectWidget"; +import { selectKnownEventNamesForActiveModComponent } from "../../../../pageEditor/store/editor/editorSelectors"; +import { type SchemaFieldProps } from "../propTypes"; import React from "react"; import { useSelector } from "react-redux"; diff --git a/src/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx similarity index 87% rename from src/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx index 4b1b743bdf..ffbe93e091 100644 --- a/src/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaSelectWidget.test.tsx @@ -16,11 +16,11 @@ */ import React from "react"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type Schema } from "@/types/schemaTypes"; -import SchemaSelectWidget from "@/components/fields/schemaFields/widgets/SchemaSelectWidget"; -import { render } from "@/pageEditor/testHelpers"; -import { mapSchemaToOptions } from "@/components/fields/schemaFields/selectFieldUtils"; +import registerDefaultWidgets from "./registerDefaultWidgets"; +import { type Schema } from "../../../../types/schemaTypes"; +import SchemaSelectWidget from "./SchemaSelectWidget"; +import { render } from "../../../../pageEditor/testHelpers"; +import { mapSchemaToOptions } from "../selectFieldUtils"; const fieldName = "testField"; const fieldDescription = "this is a test field description"; diff --git a/src/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx similarity index 88% rename from src/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx index bc97785ced..cc6324eee2 100644 --- a/src/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/SchemaSelectWidget.tsx @@ -17,16 +17,16 @@ import React, { useCallback, useMemo, useRef, useState } from "react"; import Select, { type SelectInstance, type Options } from "react-select"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { isEmpty, uniq } from "lodash"; import { useField } from "formik"; -import useAutoFocusConfiguration from "@/hooks/useAutoFocusConfiguration"; -import { isExpression } from "@/utils/expressionUtils"; -import { mapSchemaToOptions } from "@/components/fields/schemaFields/selectFieldUtils"; +import useAutoFocusConfiguration from "../../../../hooks/useAutoFocusConfiguration"; +import { isExpression } from "../../../../utils/expressionUtils"; +import { mapSchemaToOptions } from "../selectFieldUtils"; import Creatable from "react-select/creatable"; -import useAddCreatablePlaceholder from "@/components/form/widgets/useAddCreatablePlaceholder"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; +import useAddCreatablePlaceholder from "../../../form/widgets/useAddCreatablePlaceholder"; +import reportEvent from "../../../../telemetry/reportEvent"; +import { Events } from "../../../../telemetry/events"; export type StringOption = { label?: string; diff --git a/src/components/fields/schemaFields/widgets/TemplateToggleWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/TemplateToggleWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/TemplateToggleWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/TemplateToggleWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx similarity index 94% rename from src/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx index 4772c4941f..9ca0e8d2f1 100644 --- a/src/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/TemplateToggleWidget.tsx @@ -24,10 +24,10 @@ import React, { useRef, useState, } from "react"; -import { type FieldInputMode } from "@/components/fields/schemaFields/fieldInputMode"; +import { type FieldInputMode } from "../fieldInputMode"; import { Dropdown, DropdownButton } from "react-bootstrap"; -import WidgetLoadingIndicator from "@/components/fields/schemaFields/widgets/WidgetLoadingIndicator"; -import useToggleFormField from "@/hooks/useToggleFormField"; +import WidgetLoadingIndicator from "./WidgetLoadingIndicator"; +import useToggleFormField from "../../../../hooks/useToggleFormField"; import { useField } from "formik"; import { type InputModeOption, @@ -35,8 +35,8 @@ import { } from "./templateToggleWidgetTypes"; import VarPopup from "./varPopup/VarPopup"; -import { isTemplateExpression } from "@/utils/expressionUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { isTemplateExpression } from "../../../../utils/expressionUtils"; +import { assertNotNullish } from "../../../../utils/nullishUtils"; export function getOptionForInputMode( options: InputModeOption[], diff --git a/src/components/fields/schemaFields/widgets/TextWidget.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.stories.tsx similarity index 90% rename from src/components/fields/schemaFields/widgets/TextWidget.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.stories.tsx index a4e3ae96f4..deff5ef4f4 100644 --- a/src/components/fields/schemaFields/widgets/TextWidget.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.stories.tsx @@ -18,12 +18,12 @@ import React from "react"; import { type Meta, type StoryObj } from "@storybook/react"; import { action } from "@storybook/addon-actions"; -import TextWidget from "@/components/fields/schemaFields/widgets/TextWidget"; -import { settingsStore } from "@/testUtils/storyUtils"; +import TextWidget from "./TextWidget"; +import { settingsStore } from "../../../../testUtils/storyUtils"; import { Provider } from "react-redux"; -import Form from "@/components/form/Form"; -import { type Expression } from "@/types/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; +import Form from "../../../form/Form"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { toExpression } from "../../../../utils/expressionUtils"; type TextWidgetPropsAndCustomArgs = React.ComponentProps & { exampleValue: string | Expression; diff --git a/src/components/fields/schemaFields/widgets/TextWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.test.tsx similarity index 91% rename from src/components/fields/schemaFields/widgets/TextWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.test.tsx index 138e33622a..c19903b462 100644 --- a/src/components/fields/schemaFields/widgets/TextWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.test.tsx @@ -16,15 +16,15 @@ */ import React from "react"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type Schema } from "@/types/schemaTypes"; -import { render, screen } from "@/pageEditor/testHelpers"; +import registerDefaultWidgets from "./registerDefaultWidgets"; +import { type Schema } from "../../../../types/schemaTypes"; +import { render, screen } from "../../../../pageEditor/testHelpers"; import TextWidget, { isVarLike, isVarValue, -} from "@/components/fields/schemaFields/widgets/TextWidget"; +} from "./TextWidget"; import userEvent from "@testing-library/user-event"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../../utils/expressionUtils"; const fieldName = "testField"; const fieldDescription = "this is a test field description"; diff --git a/src/components/fields/schemaFields/widgets/TextWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/TextWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.tsx index be665563ad..9248ab40c1 100644 --- a/src/components/fields/schemaFields/widgets/TextWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/TextWidget.tsx @@ -24,21 +24,21 @@ import React, { useMemo, useRef, } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { useField } from "formik"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form, type FormControlProps } from "react-bootstrap"; import fitTextarea from "fit-textarea"; import { trim } from "lodash"; -import FieldRuntimeContext from "@/components/fields/schemaFields/FieldRuntimeContext"; -import { isMustacheOnly } from "@/components/fields/fieldUtils"; -import { getToggleOptions } from "@/components/fields/schemaFields/getToggleOptions"; -import useUndo from "@/hooks/useUndo"; -import { isKeyStringField } from "@/components/fields/schemaFields/fieldTypeCheckers"; -import { type Schema } from "@/types/schemaTypes"; -import { type TemplateEngine } from "@/types/runtimeTypes"; -import { isTemplateExpression, toExpression } from "@/utils/expressionUtils"; -import { trimEndOnce } from "@/utils/stringUtils"; +import FieldRuntimeContext from "../FieldRuntimeContext"; +import { isMustacheOnly } from "../../fieldUtils"; +import { getToggleOptions } from "../getToggleOptions"; +import useUndo from "../../../../hooks/useUndo"; +import { isKeyStringField } from "../fieldTypeCheckers"; +import { type Schema } from "../../../../types/schemaTypes"; +import { type TemplateEngine } from "../../../../types/runtimeTypes"; +import { isTemplateExpression, toExpression } from "../../../../utils/expressionUtils"; +import { trimEndOnce } from "../../../../utils/stringUtils"; function schemaSupportsTemplates(schema: Schema): boolean { const options = getToggleOptions({ diff --git a/src/components/fields/schemaFields/widgets/UnsupportedWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/UnsupportedWidget.tsx similarity index 91% rename from src/components/fields/schemaFields/widgets/UnsupportedWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/UnsupportedWidget.tsx index 769bda0d54..fa6fbe5262 100644 --- a/src/components/fields/schemaFields/widgets/UnsupportedWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/UnsupportedWidget.tsx @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import React from "react"; const UnsupportedWidget: React.VFC = ({ schema }) => ( diff --git a/src/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx similarity index 84% rename from src/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx index d2503f2c15..a9584934bd 100644 --- a/src/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/UrlMatchPatternWidget.tsx @@ -21,18 +21,18 @@ import { createSitePattern, HTTPS_PATTERN, SITES_PATTERN, -} from "@/permissions/patterns"; +} from "../../../../permissions/patterns"; import { useField, useFormikContext } from "formik"; -import { LinkButton } from "@/components/LinkButton"; -import ArrayWidget from "@/components/fields/schemaFields/widgets/ArrayWidget"; -import FieldRuntimeContext from "@/components/fields/schemaFields/FieldRuntimeContext"; -import { PAGE_EDITOR_DEFAULT_BRICK_API_VERSION } from "@/pageEditor/starterBricks/base"; +import { LinkButton } from "../../../LinkButton"; +import ArrayWidget from "./ArrayWidget"; +import FieldRuntimeContext from "../FieldRuntimeContext"; +import { PAGE_EDITOR_DEFAULT_BRICK_API_VERSION } from "../../../../pageEditor/starterBricks/base"; import { type Shortcut, type UrlMatchPatternWidgetProps, } from "./urlMatchPatternWidgetTypes"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import { getCurrentInspectedURL } from "@/pageEditor/context/connection"; +import { type ModComponentFormState } from "../../../../pageEditor/starterBricks/formStateTypes"; +import { getCurrentInspectedURL } from "../../../../pageEditor/context/connection"; const UrlMatchShortcut: React.FC<{ caption: string; diff --git a/src/components/fields/schemaFields/widgets/WidgetLoadingIndicator.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/WidgetLoadingIndicator.tsx similarity index 100% rename from src/components/fields/schemaFields/widgets/WidgetLoadingIndicator.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/WidgetLoadingIndicator.tsx diff --git a/src/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx index 95222c6103..1e43af29e8 100644 --- a/src/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/WorkshopMessageWidget.tsx @@ -16,7 +16,7 @@ */ import React from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form } from "react-bootstrap"; diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/ArrayWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/ArrayWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/ArrayWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/ArrayWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/CodeEditorWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/CodeEditorWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/CodeEditorWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/CodeEditorWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/FixedInnerObjectWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/FixedInnerObjectWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/FixedInnerObjectWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/FixedInnerObjectWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/ObjectWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/ObjectWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/ObjectWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/ObjectWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/SchemaButtonVariantWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/SchemaButtonVariantWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/SchemaButtonVariantWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/SchemaButtonVariantWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/SchemaSelectWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/SchemaSelectWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/SchemaSelectWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/SchemaSelectWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/__snapshots__/TextWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/TextWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/__snapshots__/TextWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/__snapshots__/TextWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx similarity index 88% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx index f366f7e785..dcba57de51 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.stories.tsx @@ -21,12 +21,12 @@ import { action } from "@storybook/addon-actions"; import CssClassWidget from "./CssClassWidget"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Formik, useField } from "formik"; -import { type Expression } from "@/types/runtimeTypes"; -import { getCssClassInputFieldOptions } from "@/components/fields/schemaFields/CssClassField"; -import { settingsStore } from "@/testUtils/storyUtils"; +import { type Expression } from "../../../../../types/runtimeTypes"; +import { getCssClassInputFieldOptions } from "../../CssClassField"; +import { settingsStore } from "../../../../../testUtils/storyUtils"; import { Provider } from "react-redux"; -import { parseValue } from "@/components/fields/schemaFields/widgets/cssClassWidgets/utils"; -import { toExpression } from "@/utils/expressionUtils"; +import { parseValue } from "./utils"; +import { toExpression } from "../../../../../utils/expressionUtils"; const Preview: React.VFC = () => { const [{ value }] = useField("cssClass"); diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx similarity index 88% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx index daf0408df7..eebce45e2d 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.test.tsx @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import CssClassWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget"; +import CssClassWidget from "./CssClassWidget"; import React from "react"; -import { type Expression } from "@/types/runtimeTypes"; -import { render, screen } from "@/pageEditor/testHelpers"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { getCssClassInputFieldOptions } from "@/components/fields/schemaFields/CssClassField"; +import { type Expression } from "../../../../../types/runtimeTypes"; +import { render, screen } from "../../../../../pageEditor/testHelpers"; +import registerDefaultWidgets from "../registerDefaultWidgets"; +import { getCssClassInputFieldOptions } from "../../CssClassField"; import userEvent from "@testing-library/user-event"; const renderWidget = (value: string | Expression) => diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx similarity index 95% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx index 0b9dde7f63..392d588648 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget.tsx @@ -16,7 +16,7 @@ */ import React, { useCallback, useMemo } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../../propTypes"; import { Button, ButtonGroup, Dropdown, DropdownButton } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { @@ -32,15 +32,15 @@ import { faItalic, } from "@fortawesome/free-solid-svg-icons"; import { useField } from "formik"; -import TemplateToggleWidget from "@/components/fields/schemaFields/widgets/TemplateToggleWidget"; -import { type InputModeOption } from "@/components/fields/schemaFields/widgets/templateToggleWidgetTypes"; +import TemplateToggleWidget from "../TemplateToggleWidget"; +import { type InputModeOption } from "../templateToggleWidgetTypes"; import styles from "./CssClassWidget.module.scss"; -import { type Expression } from "@/types/runtimeTypes"; +import { type Expression } from "../../../../../types/runtimeTypes"; import { calculateNextValue, parseValue, -} from "@/components/fields/schemaFields/widgets/cssClassWidgets/utils"; -import { type ClassFlag } from "@/components/fields/schemaFields/widgets/cssClassWidgets/types"; +} from "./utils"; +import { type ClassFlag } from "./types"; export const optionsGroups = { textAlign: [ diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.module.scss diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx similarity index 81% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx index ae33759f1a..b691e14514 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.stories.tsx @@ -16,17 +16,17 @@ */ import { type Meta, type StoryObj } from "@storybook/react"; -import CssSpacingWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget"; -import type CssClassWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget"; +import CssSpacingWidget from "./CssSpacingWidget"; +import type CssClassWidget from "./CssClassWidget"; import { Provider } from "react-redux"; -import { settingsStore } from "@/testUtils/storyUtils"; +import { settingsStore } from "../../../../../testUtils/storyUtils"; // eslint-disable-next-line no-restricted-imports -- Required for story import { Formik, useField } from "formik"; import { action } from "@storybook/addon-actions"; -import { getCssClassInputFieldOptions } from "@/components/fields/schemaFields/CssClassField"; +import { getCssClassInputFieldOptions } from "../../CssClassField"; import React from "react"; -import { parseValue } from "@/components/fields/schemaFields/widgets/cssClassWidgets/utils"; -import { type Expression } from "@/types/runtimeTypes"; +import { parseValue } from "./utils"; +import { type Expression } from "../../../../../types/runtimeTypes"; const Preview: React.VFC = () => { const [{ value }] = useField("cssClass"); diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx similarity index 84% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx index 0338860d2a..ea9b545f0f 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.test.tsx @@ -16,13 +16,13 @@ */ import React from "react"; -import { type Expression } from "@/types/runtimeTypes"; -import { render, screen } from "@/pageEditor/testHelpers"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import CssSpacingWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget"; +import { type Expression } from "../../../../../types/runtimeTypes"; +import { render, screen } from "../../../../../pageEditor/testHelpers"; +import registerDefaultWidgets from "../registerDefaultWidgets"; +import CssSpacingWidget from "./CssSpacingWidget"; import selectEvent from "react-select-event"; import userEvent from "@testing-library/user-event"; -import { getCssClassInputFieldOptions } from "@/components/fields/schemaFields/CssClassField"; +import { getCssClassInputFieldOptions } from "../../CssClassField"; const renderWidget = (value: string | Expression) => render( diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx similarity index 93% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx index 5db9535c65..db044dfca1 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/CssSpacingWidget.tsx @@ -16,25 +16,25 @@ */ import React, { useMemo, useState } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import { type InputModeOption } from "@/components/fields/schemaFields/widgets/templateToggleWidgetTypes"; +import { type SchemaFieldProps } from "../../propTypes"; +import { type InputModeOption } from "../templateToggleWidgetTypes"; import styles from "./CssSpacingWidget.module.scss"; -import { UnstyledButton } from "@/components/UnstyledButton"; +import { UnstyledButton } from "../../../../UnstyledButton"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCaretDown, faCaretRight } from "@fortawesome/free-solid-svg-icons"; import { calculateNextSpacing, extractSpacing, parseValue, -} from "@/components/fields/schemaFields/widgets/cssClassWidgets/utils"; +} from "./utils"; import { type Spacing, type Value, -} from "@/components/fields/schemaFields/widgets/cssClassWidgets/types"; +} from "./types"; import { useField } from "formik"; import Select from "react-select"; -import { type Option } from "@/components/form/widgets/SelectWidget"; +import { type Option } from "../../../../form/widgets/SelectWidget"; import cx from "classnames"; export interface CssSpacingWidgetControls { diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssClassWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssClassWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssClassWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssClassWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssSpacingWidget.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssSpacingWidget.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssSpacingWidget.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/__snapshots__/CssSpacingWidget.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/types.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/types.ts similarity index 94% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/types.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/types.ts index e29e1b062e..fd7d4b01d6 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/types.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/types.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Expression } from "@/types/runtimeTypes"; +import { type Expression } from "../../../../../types/runtimeTypes"; import type React from "react"; export type Spacing = { diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts similarity index 94% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts index 762445ee21..b75fc28eb0 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.test.ts @@ -19,8 +19,8 @@ import { calculateNextSpacing, calculateNextValue, extractSpacing, -} from "@/components/fields/schemaFields/widgets/cssClassWidgets/utils"; -import { optionsGroups } from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget"; +} from "./utils"; +import { optionsGroups } from "./CssClassWidget"; describe("calculateNextValue", () => { it("should toggle independent flag", () => { diff --git a/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts similarity index 96% rename from src/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts index 81b04f4010..26bf9726e7 100644 --- a/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/cssClassWidgets/utils.ts @@ -16,17 +16,17 @@ */ import { compact, partition, uniq } from "lodash"; -import { type Expression, type TemplateEngine } from "@/types/runtimeTypes"; +import { type Expression, type TemplateEngine } from "../../../../../types/runtimeTypes"; import { isTemplateExpression, isVarExpression, toExpression, -} from "@/utils/expressionUtils"; +} from "../../../../../utils/expressionUtils"; import { type ClassFlag, type Value, type Spacing, -} from "@/components/fields/schemaFields/widgets/cssClassWidgets/types"; +} from "./types"; /** * Return utility classes from the value diff --git a/src/components/fields/schemaFields/widgets/registerDefaultWidgets.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/registerDefaultWidgets.ts similarity index 78% rename from src/components/fields/schemaFields/widgets/registerDefaultWidgets.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/registerDefaultWidgets.ts index d43886fd5a..1afc14aa11 100644 --- a/src/components/fields/schemaFields/widgets/registerDefaultWidgets.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/registerDefaultWidgets.ts @@ -16,7 +16,7 @@ */ import UrlMatchPatternWidget from "./UrlMatchPatternWidget"; -import UrlPatternWidget from "@/pageEditor/components/UrlPatternWidget"; +import UrlPatternWidget from "../../../../pageEditor/components/UrlPatternWidget"; import ArrayWidget from "./ArrayWidget"; import BooleanWidget from "./BooleanWidget"; import IntegerWidget from "./IntegerWidget"; @@ -29,14 +29,14 @@ import TextWidget from "./TextWidget"; import UnsupportedWidget from "./UnsupportedWidget"; import widgetsRegistry from "./widgetsRegistry"; import WorkshopMessageWidget from "./WorkshopMessageWidget"; -import SelectorMatchWidget from "@/pageEditor/components/SelectorMatchWidget"; -import CssClassWidget from "@/components/fields/schemaFields/widgets/cssClassWidgets/CssClassWidget"; +import SelectorMatchWidget from "../../../../pageEditor/components/SelectorMatchWidget"; +import CssClassWidget from "./cssClassWidgets/CssClassWidget"; import DatabaseWidget from "./DatabaseWidget"; import PasswordWidget from "./PasswordWidget"; -import IconWidget from "@/components/fields/IconWidget"; -import IntegrationDependencyWidget from "@/components/fields/schemaFields/integrations/IntegrationDependencyWidget"; -import SpreadsheetPickerWidget from "@/contrib/google/sheets/ui/SpreadsheetPickerWidget"; -import FixedInnerObjectWidget from "@/components/fields/schemaFields/widgets/FixedInnerObjectWidget"; +import IconWidget from "../../IconWidget"; +import IntegrationDependencyWidget from "../integrations/IntegrationDependencyWidget"; +import SpreadsheetPickerWidget from "../../../../contrib/google/sheets/ui/SpreadsheetPickerWidget"; +import FixedInnerObjectWidget from "./FixedInnerObjectWidget"; const defaultWidgets = { ArrayWidget, diff --git a/src/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx similarity index 89% rename from src/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx index 89ebeeed97..1bcc591aa4 100644 --- a/src/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/templateToggleWidgetTypes.tsx @@ -16,9 +16,9 @@ */ import type React from "react"; -import { type FieldInputMode } from "@/components/fields/schemaFields/fieldInputMode"; -import { type Expression } from "@/types/runtimeTypes"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type FieldInputMode } from "../fieldInputMode"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { type JSONSchema7Array } from "json-schema"; interface InputModeOptionBase< diff --git a/src/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx index 2e28be0a79..529f5f370b 100644 --- a/src/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/urlMatchPatternWidgetTypes.tsx @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import { type FormControlProps } from "react-bootstrap"; export type Shortcut = { diff --git a/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/varPopup/SourceLabel.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.module.scss diff --git a/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx similarity index 82% rename from src/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx index 7118c8cbb9..a3da2b0c00 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/SourceLabel.tsx @@ -1,8 +1,8 @@ import React from "react"; -import { type NodeInfo } from "@/pageEditor/store/editor/uiStateTypes"; -import { KnownSources } from "@/analysis/analysisVisitors/varAnalysis/varAnalysis"; +import { type NodeInfo } from "../../../../../pageEditor/store/editor/uiStateTypes"; +import { KnownSources } from "../../../../../analysis/analysisVisitors/varAnalysis/varAnalysis"; import styles from "./SourceLabel.module.scss"; -import { type TypedBrickMap } from "@/bricks/registry"; +import { type TypedBrickMap } from "../../../../../bricks/registry"; type SourceLabelProps = { source: string; diff --git a/src/components/fields/schemaFields/widgets/varPopup/VarMenu.module.scss b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.module.scss similarity index 100% rename from src/components/fields/schemaFields/widgets/varPopup/VarMenu.module.scss rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.module.scss diff --git a/src/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx similarity index 90% rename from src/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx index c1cfbbbf73..6d524868ae 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.test.tsx @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { render, screen } from "@/pageEditor/testHelpers"; +import { render, screen } from "../../../../../pageEditor/testHelpers"; import React, { type MutableRefObject } from "react"; -import VarMenu from "@/components/fields/schemaFields/widgets/varPopup/VarMenu"; +import VarMenu from "./VarMenu"; import { draftModStateFactory, formStateFactory, -} from "@/testUtils/factories/pageEditorFactories"; -import { actions as editorActions } from "@/pageEditor/store/editor/editorSlice"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; -import analysisSlice from "@/analysis/analysisSlice"; -import VarAnalysis from "@/analysis/analysisVisitors/varAnalysis/varAnalysis"; +} from "../../../../../testUtils/factories/pageEditorFactories"; +import { actions as editorActions } from "../../../../../pageEditor/store/editor/editorSlice"; +import { waitForEffect } from "../../../../../testUtils/testHelpers"; +import registerBuiltinBricks from "../../../../../bricks/registerBuiltinBricks"; +import analysisSlice from "../../../../../analysis/analysisSlice"; +import VarAnalysis from "../../../../../analysis/analysisVisitors/varAnalysis/varAnalysis"; const TestWrapper: React.FunctionComponent<{ renderMenu: ( diff --git a/src/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx similarity index 87% rename from src/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx index 69121f792c..c2bebd082a 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarMenu.tsx @@ -24,32 +24,32 @@ import { selectActiveModComponentFormState, selectActiveModComponentRef, selectPipelineMap, -} from "@/pageEditor/store/editor/editorSelectors"; +} from "../../../../../pageEditor/store/editor/editorSelectors"; import SourceLabel from "./SourceLabel"; -import useTypedBrickMap from "@/bricks/hooks/useTypedBrickMap"; +import useTypedBrickMap from "../../../../../bricks/hooks/useTypedBrickMap"; import { useAsyncEffect } from "use-async-effect"; import { computePosition, flip, offset, size } from "@floating-ui/dom"; import getMenuOptions from "./getMenuOptions"; -import { selectActiveNodeTrace } from "@/pageEditor/store/runtime/runtimeSelectors"; +import { selectActiveNodeTrace } from "../../../../../pageEditor/store/runtime/runtimeSelectors"; import { filterOptionsByVariable, filterVarMapByVariable, -} from "@/components/fields/schemaFields/widgets/varPopup/menuFilters"; +} from "./menuFilters"; import cx from "classnames"; -import VarMap from "@/analysis/analysisVisitors/varAnalysis/varMap"; -import useKeyboardNavigation from "@/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation"; -import { actions as editorActions } from "@/pageEditor/store/editor/editorSlice"; -import useAsyncState from "@/hooks/useAsyncState"; -import { getPageState } from "@/contentScript/messenger/api"; +import VarMap from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; +import useKeyboardNavigation from "./useKeyboardNavigation"; +import { actions as editorActions } from "../../../../../pageEditor/store/editor/editorSlice"; +import useAsyncState from "../../../../../hooks/useAsyncState"; +import { getPageState } from "../../../../../contentScript/messenger/api"; import { isEmpty } from "lodash"; -import { getSelectedLineVirtualElement } from "@/components/fields/schemaFields/widgets/varPopup/utils"; -import { inspectedTab } from "@/pageEditor/context/connection"; -import useEventListener from "@/hooks/useEventListener"; -import { assertNotNullish, type Nullishable } from "@/utils/nullishUtils"; -import { adapterForComponent } from "@/pageEditor/starterBricks/adapter"; -import { StateNamespaces } from "@/platform/state/stateTypes"; -import { fallbackValue } from "@/utils/asyncStateUtils"; -import { type TypedBrickMap } from "@/bricks/registry"; +import { getSelectedLineVirtualElement } from "./utils"; +import { inspectedTab } from "../../../../../pageEditor/context/connection"; +import useEventListener from "../../../../../hooks/useEventListener"; +import { assertNotNullish, type Nullishable } from "../../../../../utils/nullishUtils"; +import { adapterForComponent } from "../../../../../pageEditor/starterBricks/adapter"; +import { StateNamespaces } from "../../../../../platform/state/stateTypes"; +import { fallbackValue } from "../../../../../utils/asyncStateUtils"; +import { type TypedBrickMap } from "../../../../../bricks/registry"; const emptyVarMap = new VarMap(); diff --git a/src/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx index 6ff3a725bc..9d2dd993cd 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VarPopup.tsx @@ -16,16 +16,16 @@ */ import React, { useCallback, useEffect } from "react"; -import { type FieldInputMode } from "@/components/fields/schemaFields/fieldInputMode"; +import { type FieldInputMode } from "../../fieldInputMode"; import { getFullVariableName, replaceLikelyVariable, } from "./likelyVariableUtils"; import VarMenu from "./VarMenu"; import fitTextarea from "fit-textarea"; -import useAttachPopup from "@/components/fields/schemaFields/widgets/varPopup/useAttachPopup"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; +import useAttachPopup from "./useAttachPopup"; +import reportEvent from "../../../../../telemetry/reportEvent"; +import { Events } from "../../../../../telemetry/events"; type VarPopupProps = { /** diff --git a/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.stories.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.stories.tsx similarity index 100% rename from src/components/fields/schemaFields/widgets/varPopup/VariablesTree.stories.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.stories.tsx diff --git a/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx similarity index 94% rename from src/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx index b459685258..757b865f41 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.test.tsx @@ -16,12 +16,12 @@ */ import React from "react"; -import testItRenders from "@/testUtils/testItRenders"; +import testItRenders from "../../../../../testUtils/testItRenders"; import { noop } from "lodash"; import VariablesTree from "./VariablesTree"; import VarMap, { ALLOW_ANY_CHILD, -} from "@/analysis/analysisVisitors/varAnalysis/varMap"; +} from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; import { render, screen } from "@testing-library/react"; import { type UnknownRecord } from "type-fest"; diff --git a/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx similarity index 92% rename from src/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx index a2a87bf54f..3742158511 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/VariablesTree.tsx @@ -19,12 +19,12 @@ import React, { useRef } from "react"; import { type GetItemString, JSONTree, type KeyPath } from "react-json-tree"; import { isEmpty } from "lodash"; import { type UnknownRecord } from "type-fest"; -import { popoverTheme } from "@/components/fields/schemaFields/widgets/varPopup/popoverTheme"; +import { popoverTheme } from "./popoverTheme"; import { expandCurrentVariableLevel, sortVarMapKeys, -} from "@/components/fields/schemaFields/widgets/varPopup/menuFilters"; -import useTreeRow from "@/components/fields/schemaFields/widgets/varPopup/useTreeRow"; +} from "./menuFilters"; +import useTreeRow from "./useTreeRow"; import deepEquals from "fast-deep-equal"; // JSONTree defaultItemString diff --git a/src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VarMenu.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VarMenu.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VarMenu.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VarMenu.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VariablesTree.test.tsx.snap b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VariablesTree.test.tsx.snap similarity index 100% rename from src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VariablesTree.test.tsx.snap rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/__snapshots__/VariablesTree.test.tsx.snap diff --git a/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts similarity index 93% rename from src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts index 0dbc5399f4..1bd81965c6 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.test.ts @@ -17,21 +17,21 @@ import VarAnalysis, { KnownSources, -} from "@/analysis/analysisVisitors/varAnalysis/varAnalysis"; +} from "../../../../../analysis/analysisVisitors/varAnalysis/varAnalysis"; import VarMap, { ALLOW_ANY_CHILD, IS_ARRAY, SELF_EXISTENCE, VarExistence, -} from "@/analysis/analysisVisitors/varAnalysis/varMap"; +} from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; import getMenuOptions from "./getMenuOptions"; import { type JsonObject } from "type-fest"; import { draftModStateFactory, formStateFactory, -} from "@/testUtils/factories/pageEditorFactories"; -import { brickConfigFactory } from "@/testUtils/factories/brickFactories"; -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; +} from "../../../../../testUtils/factories/pageEditorFactories"; +import { brickConfigFactory } from "../../../../../testUtils/factories/brickFactories"; +import registerBuiltinBricks from "../../../../../bricks/registerBuiltinBricks"; beforeAll(() => { registerBuiltinBricks(); diff --git a/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts similarity index 89% rename from src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts index 99f88801e5..b7376fe6c2 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/getMenuOptions.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { KnownSources } from "@/analysis/analysisVisitors/varAnalysis/varAnalysis"; -import type VarMap from "@/analysis/analysisVisitors/varAnalysis/varMap"; +import { KnownSources } from "../../../../../analysis/analysisVisitors/varAnalysis/varAnalysis"; +import type VarMap from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; import { IS_ARRAY, type ExistenceNode, -} from "@/analysis/analysisVisitors/varAnalysis/varMap"; +} from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; import { isEmpty, merge } from "lodash"; import { type UnknownRecord, type JsonObject } from "type-fest"; -import { excludeIntegrationVariables } from "@/components/fields/schemaFields/widgets/varPopup/menuFilters"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { excludeIntegrationVariables } from "./menuFilters"; +import { assertNotNullish } from "../../../../../utils/nullishUtils"; /** * Convert every node in the existence tree which IS_ARRAY to an array diff --git a/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.test.ts similarity index 100% rename from src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.test.ts diff --git a/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts similarity index 99% rename from src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts index b4feff760e..84d51bc52c 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils.ts @@ -16,7 +16,7 @@ */ import { toPath } from "lodash"; -import { getPathFromArray } from "@/runtime/pathHelpers"; +import { getPathFromArray } from "../../../../../runtime/pathHelpers"; const varRegex = /(?@(\.|\w|(\[\d+])|(\[("|')[\s\w]+("|')]))*)/g; diff --git a/src/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts similarity index 98% rename from src/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts index fd80a3713e..e37b1f9123 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/menuFilters.test.ts @@ -20,15 +20,15 @@ import VarMap, { IS_ARRAY, SELF_EXISTENCE, VarExistence, -} from "@/analysis/analysisVisitors/varAnalysis/varMap"; +} from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; import { defaultMenuOption, expandCurrentVariableLevel, filterOptionsByVariable, filterVarMapByVariable, moveMenuOption, -} from "@/components/fields/schemaFields/widgets/varPopup/menuFilters"; -import getMenuOptions from "@/components/fields/schemaFields/widgets/varPopup/getMenuOptions"; +} from "./menuFilters"; +import getMenuOptions from "./getMenuOptions"; describe("filterVarMapByVariable", () => { it("filters top-level", () => { diff --git a/src/components/fields/schemaFields/widgets/varPopup/menuFilters.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/menuFilters.ts similarity index 98% rename from src/components/fields/schemaFields/widgets/varPopup/menuFilters.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/menuFilters.ts index 4baf081f00..42585fde99 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/menuFilters.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/menuFilters.ts @@ -16,16 +16,16 @@ */ import { type UnknownRecord } from "type-fest"; -import { KnownSources } from "@/analysis/analysisVisitors/varAnalysis/varAnalysis"; +import { KnownSources } from "../../../../../analysis/analysisVisitors/varAnalysis/varAnalysis"; import { compact, reverse, toPath } from "lodash"; import { ALLOW_ANY_CHILD, IS_ARRAY, SELF_EXISTENCE, -} from "@/analysis/analysisVisitors/varAnalysis/varMap"; +} from "../../../../../analysis/analysisVisitors/varAnalysis/varMap"; import { type KeyPath, type ShouldExpandNodeInitially } from "react-json-tree"; import { getIn } from "formik"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../../../../../utils/nullishUtils"; /** * Array of [source, varMap] tuples diff --git a/src/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts similarity index 96% rename from src/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts index cba3153785..c7eb4989f0 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/popoverTheme.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { jsonTreeTheme } from "@/themes/light"; +import { jsonTreeTheme } from "../../../../../themes/light"; import { type Theme } from "react-base16-styling"; export const popoverTheme: Theme = { diff --git a/src/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts similarity index 93% rename from src/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts index 8b0bafb1c7..e1df89d5f9 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useAttachPopup.ts @@ -16,7 +16,7 @@ */ import { useSelector } from "react-redux"; -import { selectSettings } from "@/store/settings/settingsSelectors"; +import { selectSettings } from "../../../../../store/settings/settingsSelectors"; import { useEffect, useReducer, @@ -27,13 +27,13 @@ import { import { getLikelyVariableAtPosition, getVariableAtPosition, -} from "@/components/fields/schemaFields/widgets/varPopup/likelyVariableUtils"; -import { type FieldInputMode } from "@/components/fields/schemaFields/fieldInputMode"; +} from "./likelyVariableUtils"; +import { type FieldInputMode } from "../../fieldInputMode"; import { createSlice, type PayloadAction } from "@reduxjs/toolkit"; -import useDebouncedEffect from "@/hooks/useDebouncedEffect"; +import useDebouncedEffect from "../../../../../hooks/useDebouncedEffect"; -import { waitAnimationFrame } from "@/utils/domUtils"; -import FieldRuntimeContext from "@/components/fields/schemaFields/FieldRuntimeContext"; +import { waitAnimationFrame } from "../../../../../utils/domUtils"; +import FieldRuntimeContext from "../../FieldRuntimeContext"; type Props = { inputMode: FieldInputMode; diff --git a/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts similarity index 93% rename from src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts index eec7639c68..81268fa937 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { type MenuOptions } from "@/components/fields/schemaFields/widgets/varPopup/menuFilters"; -import useKeyboardNavigation from "@/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation"; +import { type MenuOptions } from "./menuFilters"; +import useKeyboardNavigation from "./useKeyboardNavigation"; import { renderHook } from "@testing-library/react-hooks"; import { cloneDeep } from "lodash"; diff --git a/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts similarity index 96% rename from src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts index 2932c751d4..6503991742 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useKeyboardNavigation.ts @@ -21,9 +21,9 @@ import { defaultMenuOption, type MenuOptions, moveMenuOption, -} from "@/components/fields/schemaFields/widgets/varPopup/menuFilters"; +} from "./menuFilters"; import { isEqual } from "lodash"; -import { usePreviousValue } from "@/hooks/usePreviousValue"; +import { usePreviousValue } from "../../../../../hooks/usePreviousValue"; /** * Hook to navigate the variable popover menu using the keyboard from the input field diff --git a/src/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts similarity index 96% rename from src/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts index f3288d32e3..2d9e0600cb 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/useTreeRow.ts @@ -16,7 +16,7 @@ */ import { type MutableRefObject, useEffect } from "react"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../../../../../utils/nullishUtils"; /** * A hack to make JSON Tree rows clickable/highlightable. diff --git a/src/components/fields/schemaFields/widgets/varPopup/utils.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/utils.ts similarity index 96% rename from src/components/fields/schemaFields/widgets/varPopup/utils.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/utils.ts index 2e8f468e97..7a8e27e583 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/utils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/utils.ts @@ -16,7 +16,7 @@ */ import { type VirtualElement } from "@floating-ui/dom"; -import { getCaretCoordinates } from "@/utils/textAreaUtils"; +import { getCaretCoordinates } from "../../../../../utils/textAreaUtils"; /** * Get a virtual element for the line that the caret is on. * Essentially a box that has the same position and dimensions as the line that the caret is on. diff --git a/src/components/fields/schemaFields/widgets/varPopup/varSelectors.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/varSelectors.ts similarity index 89% rename from src/components/fields/schemaFields/widgets/varPopup/varSelectors.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/varSelectors.ts index 6ddfbd974e..b89fcec35f 100644 --- a/src/components/fields/schemaFields/widgets/varPopup/varSelectors.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/varPopup/varSelectors.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { selectKnownVars } from "@/analysis/analysisSelectors"; +import { selectKnownVars } from "../../../../../analysis/analysisSelectors"; import { selectActiveModComponentId, selectActiveNodeInfo, -} from "@/pageEditor/store/editor/editorSelectors"; +} from "../../../../../pageEditor/store/editor/editorSelectors"; import { createSelector } from "@reduxjs/toolkit"; export const selectKnownVarsForActiveNode = createSelector( diff --git a/src/components/fields/schemaFields/widgets/widgetUtils.test.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/widgetUtils.test.ts similarity index 93% rename from src/components/fields/schemaFields/widgets/widgetUtils.test.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/widgetUtils.test.ts index a2f4537940..e6ade16f16 100644 --- a/src/components/fields/schemaFields/widgets/widgetUtils.test.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/widgetUtils.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { isCustomizableObjectSchema } from "@/components/fields/schemaFields/widgets/widgetUtils"; +import { isCustomizableObjectSchema } from "./widgetUtils"; describe("isCustomizableObjectSchema", () => { it("empty schema is customizable", () => { diff --git a/src/components/fields/schemaFields/widgets/widgetUtils.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/widgetUtils.ts similarity index 94% rename from src/components/fields/schemaFields/widgets/widgetUtils.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/widgetUtils.ts index 7ce71d1741..516fa5063e 100644 --- a/src/components/fields/schemaFields/widgets/widgetUtils.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/widgetUtils.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../../types/schemaTypes"; import { isEmpty } from "lodash"; /** diff --git a/src/components/fields/schemaFields/widgets/widgetsRegistry.ts b/applications/browser-extension/src/components/fields/schemaFields/widgets/widgetsRegistry.ts similarity index 94% rename from src/components/fields/schemaFields/widgets/widgetsRegistry.ts rename to applications/browser-extension/src/components/fields/schemaFields/widgets/widgetsRegistry.ts index d32b63386a..a116a82c8c 100644 --- a/src/components/fields/schemaFields/widgets/widgetsRegistry.ts +++ b/applications/browser-extension/src/components/fields/schemaFields/widgets/widgetsRegistry.ts @@ -16,10 +16,10 @@ */ import { type FormControlProps } from "react-bootstrap"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; +import { type SchemaFieldProps } from "../propTypes"; import type React from "react"; import { type TemplateToggleWidgetProps } from "./templateToggleWidgetTypes"; -import { type IntegrationDependencyWidgetProps } from "@/components/fields/schemaFields/integrations/IntegrationDependencyWidget"; +import { type IntegrationDependencyWidgetProps } from "../integrations/IntegrationDependencyWidget"; type Widgets = { ArrayWidget: React.VFC; diff --git a/src/components/floatingActions/ActionButton.tsx b/applications/browser-extension/src/components/floatingActions/ActionButton.tsx similarity index 100% rename from src/components/floatingActions/ActionButton.tsx rename to applications/browser-extension/src/components/floatingActions/ActionButton.tsx diff --git a/src/components/floatingActions/FloatingActions.scss b/applications/browser-extension/src/components/floatingActions/FloatingActions.scss similarity index 100% rename from src/components/floatingActions/FloatingActions.scss rename to applications/browser-extension/src/components/floatingActions/FloatingActions.scss diff --git a/src/components/floatingActions/FloatingActions.tsx b/applications/browser-extension/src/components/floatingActions/FloatingActions.tsx similarity index 80% rename from src/components/floatingActions/FloatingActions.tsx rename to applications/browser-extension/src/components/floatingActions/FloatingActions.tsx index 1b48008972..c124c9741c 100644 --- a/src/components/floatingActions/FloatingActions.tsx +++ b/applications/browser-extension/src/components/floatingActions/FloatingActions.tsx @@ -15,23 +15,23 @@ * along with this program. If not, see . */ -import EmotionShadowRoot from "@/components/EmotionShadowRoot"; -import { Stylesheets } from "@/components/Stylesheets"; -import bootstrap from "@/vendors/bootstrapWithoutRem.css?loadAsUrl"; +import EmotionShadowRoot from "../EmotionShadowRoot"; +import { Stylesheets } from "../Stylesheets"; +import bootstrap from "../../vendors/bootstrapWithoutRem.css?loadAsUrl"; import React, { StrictMode } from "react"; import styles from "./FloatingActions.scss?loadAsUrl"; import ReactDOM from "react-dom"; -import { ActionButton } from "@/components/floatingActions/ActionButton"; -import store, { persistor } from "@/components/floatingActions/store"; +import { ActionButton } from "./ActionButton"; +import store, { persistor } from "./store"; import Draggable from "react-draggable"; -import dragIcon from "@/icons/drag-handle.svg"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; +import dragIcon from "../../icons/drag-handle.svg"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; import { Provider, useSelector } from "react-redux"; -import { selectSettings } from "@/store/settings/settingsSelectors"; -import { FLOATING_ACTION_BUTTON_CONTAINER_ID } from "@/components/floatingActions/floatingActionsConstants"; +import { selectSettings } from "../../store/settings/settingsSelectors"; +import { FLOATING_ACTION_BUTTON_CONTAINER_ID } from "./floatingActionsConstants"; import { PersistGate } from "redux-persist/integration/react"; -import Loader from "@/components/Loader"; +import Loader from "../Loader"; // Putting this outside the component since it doesn't need to trigger a re-render let dragReported = false; diff --git a/src/components/floatingActions/floatingActionsConstants.ts b/applications/browser-extension/src/components/floatingActions/floatingActionsConstants.ts similarity index 100% rename from src/components/floatingActions/floatingActionsConstants.ts rename to applications/browser-extension/src/components/floatingActions/floatingActionsConstants.ts diff --git a/src/components/floatingActions/initFloatingActions.ts b/applications/browser-extension/src/components/floatingActions/initFloatingActions.ts similarity index 80% rename from src/components/floatingActions/initFloatingActions.ts rename to applications/browser-extension/src/components/floatingActions/initFloatingActions.ts index 90cb522395..56f46fde6b 100644 --- a/src/components/floatingActions/initFloatingActions.ts +++ b/applications/browser-extension/src/components/floatingActions/initFloatingActions.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { getSettingsState } from "@/store/settings/settingsStorage"; -import { getMe } from "@/background/messenger/api"; -import { transformMeResponse } from "@/data/model/Me"; -import { DEFAULT_THEME } from "@/themes/themeTypes"; -import { flagOn } from "@/auth/featureFlagStorage"; -import { isLinked as getIsLinked } from "@/auth/authStorage"; -import { FeatureFlags } from "@/auth/featureFlags"; +import { isLoadedInIframe } from "../../utils/iframeUtils"; +import { getSettingsState } from "../../store/settings/settingsStorage"; +import { getMe } from "../../background/messenger/api"; +import { transformMeResponse } from "../../data/model/Me"; +import { DEFAULT_THEME } from "../../themes/themeTypes"; +import { flagOn } from "../../auth/featureFlagStorage"; +import { isLinked as getIsLinked } from "../../auth/authStorage"; +import { FeatureFlags } from "../../auth/featureFlags"; /** * Add the floating action button to the page if the user is not an enterprise/partner user. @@ -62,7 +62,7 @@ export default async function initFloatingActions(): Promise { ) { const { renderFloatingActions } = await import( /* webpackMode: "lazy" */ - /* webpackChunkName: "fab" */ "@/components/floatingActions/FloatingActions" + /* webpackChunkName: "fab" */ "./FloatingActions" ); await renderFloatingActions(); } diff --git a/src/components/floatingActions/store.ts b/applications/browser-extension/src/components/floatingActions/store.ts similarity index 92% rename from src/components/floatingActions/store.ts rename to applications/browser-extension/src/components/floatingActions/store.ts index ca0968c1ee..6fdc3b1dcb 100644 --- a/src/components/floatingActions/store.ts +++ b/applications/browser-extension/src/components/floatingActions/store.ts @@ -19,8 +19,8 @@ import { configureStore, type Middleware } from "@reduxjs/toolkit"; import { persistReducer, persistStore } from "redux-persist"; import { createLogger } from "redux-logger"; import { setupListeners } from "@reduxjs/toolkit/query/react"; -import { persistSettingsConfig } from "@/store/settings/settingsStorage"; -import settingsSlice from "@/store/settings/settingsSlice"; +import { persistSettingsConfig } from "../../store/settings/settingsStorage"; +import settingsSlice from "../../store/settings/settingsSlice"; const conditionalMiddleware: Middleware[] = []; if (typeof createLogger === "function") { diff --git a/src/components/form/ConnectedFieldTemplate.test.tsx b/applications/browser-extension/src/components/form/ConnectedFieldTemplate.test.tsx similarity index 93% rename from src/components/form/ConnectedFieldTemplate.test.tsx rename to applications/browser-extension/src/components/form/ConnectedFieldTemplate.test.tsx index 034aeaf0ad..76a01889ba 100644 --- a/src/components/form/ConnectedFieldTemplate.test.tsx +++ b/applications/browser-extension/src/components/form/ConnectedFieldTemplate.test.tsx @@ -16,20 +16,20 @@ */ import React from "react"; -import { render, screen } from "@/pageEditor/testHelpers"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import { formStateFactory } from "@/testUtils/factories/pageEditorFactories"; +import { render, screen } from "../../pageEditor/testHelpers"; +import ConnectedFieldTemplate from "./ConnectedFieldTemplate"; +import { formStateFactory } from "../../testUtils/factories/pageEditorFactories"; import { brickConfigFactory, pipelineFactory, -} from "@/testUtils/factories/brickFactories"; -import type { AnalysisAnnotation } from "@/analysis/analysisTypes"; -import { AnnotationType } from "@/types/annotationTypes"; -import { actions } from "@/pageEditor/store/editor/editorSlice"; -import analysisSlice from "@/analysis/analysisSlice"; -import { toExpression } from "@/utils/expressionUtils"; -import AnalysisAnnotationsContext from "@/analysis/AnalysisAnnotationsContext"; -import { selectActiveModComponentAnalysisAnnotationsForPath } from "@/pageEditor/store/editor/editorSelectors"; +} from "../../testUtils/factories/brickFactories"; +import type { AnalysisAnnotation } from "../../analysis/analysisTypes"; +import { AnnotationType } from "../../types/annotationTypes"; +import { actions } from "../../pageEditor/store/editor/editorSlice"; +import analysisSlice from "../../analysis/analysisSlice"; +import { toExpression } from "../../utils/expressionUtils"; +import AnalysisAnnotationsContext from "../../analysis/AnalysisAnnotationsContext"; +import { selectActiveModComponentAnalysisAnnotationsForPath } from "../../pageEditor/store/editor/editorSelectors"; describe("ConnectedFieldTemplate", () => { it("shows formik error only when touched", async () => { diff --git a/src/components/form/ConnectedFieldTemplate.tsx b/applications/browser-extension/src/components/form/ConnectedFieldTemplate.tsx similarity index 87% rename from src/components/form/ConnectedFieldTemplate.tsx rename to applications/browser-extension/src/components/form/ConnectedFieldTemplate.tsx index 0795192b04..482f954807 100644 --- a/src/components/form/ConnectedFieldTemplate.tsx +++ b/applications/browser-extension/src/components/form/ConnectedFieldTemplate.tsx @@ -19,13 +19,13 @@ import React, { useContext, useMemo } from "react"; import { connect, type FormikContextType, getIn } from "formik"; import FieldTemplate, { type FieldProps, -} from "@/components/form/FieldTemplate"; +} from "./FieldTemplate"; import { useSelector } from "react-redux"; -import type { FieldAnnotation } from "@/components/form/FieldAnnotation"; -import { extractMarkdownLink, isNullOrBlank } from "@/utils/stringUtils"; -import { AnnotationType } from "@/types/annotationTypes"; -import AnalysisAnnotationsContext from "@/analysis/AnalysisAnnotationsContext"; -import { makeFieldAnnotationsForValue } from "@/components/form/makeFieldAnnotationsForValue"; +import type { FieldAnnotation } from "./FieldAnnotation"; +import { extractMarkdownLink, isNullOrBlank } from "../../utils/stringUtils"; +import { AnnotationType } from "../../types/annotationTypes"; +import AnalysisAnnotationsContext from "../../analysis/AnalysisAnnotationsContext"; +import { makeFieldAnnotationsForValue } from "./makeFieldAnnotationsForValue"; type ConnectedFieldProps = FieldProps & { formik: FormikContextType; diff --git a/src/components/form/FieldAnnotation.ts b/applications/browser-extension/src/components/form/FieldAnnotation.ts similarity index 93% rename from src/components/form/FieldAnnotation.ts rename to applications/browser-extension/src/components/form/FieldAnnotation.ts index ca9494a408..268de35fca 100644 --- a/src/components/form/FieldAnnotation.ts +++ b/applications/browser-extension/src/components/form/FieldAnnotation.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type BaseAnnotation } from "@/types/annotationTypes"; +import { type BaseAnnotation } from "../../types/annotationTypes"; export type FieldAnnotationAction = { caption: string; diff --git a/src/components/form/FieldTemplate.module.scss b/applications/browser-extension/src/components/form/FieldTemplate.module.scss similarity index 100% rename from src/components/form/FieldTemplate.module.scss rename to applications/browser-extension/src/components/form/FieldTemplate.module.scss diff --git a/src/components/form/FieldTemplate.test.tsx b/applications/browser-extension/src/components/form/FieldTemplate.test.tsx similarity index 97% rename from src/components/form/FieldTemplate.test.tsx rename to applications/browser-extension/src/components/form/FieldTemplate.test.tsx index e36240bbd4..680887f4b1 100644 --- a/src/components/form/FieldTemplate.test.tsx +++ b/applications/browser-extension/src/components/form/FieldTemplate.test.tsx @@ -21,7 +21,7 @@ import FieldTemplate, { type CustomFieldWidget, type FieldProps, } from "./FieldTemplate"; -import { fireTextInput } from "@/testUtils/formHelpers"; +import { fireTextInput } from "../../testUtils/formHelpers"; describe("FieldTemplate", () => { const testLabel = "Test label"; diff --git a/src/components/form/FieldTemplate.tsx b/applications/browser-extension/src/components/form/FieldTemplate.tsx similarity index 93% rename from src/components/form/FieldTemplate.tsx rename to applications/browser-extension/src/components/form/FieldTemplate.tsx index 675ea37cd3..764b3729d7 100644 --- a/src/components/form/FieldTemplate.tsx +++ b/applications/browser-extension/src/components/form/FieldTemplate.tsx @@ -27,15 +27,15 @@ import { import styles from "./FieldTemplate.module.scss"; import cx from "classnames"; import { isEmpty, isPlainObject } from "lodash"; -import FieldAnnotationAlert from "@/components/annotationAlert/FieldAnnotationAlert"; -import { AnnotationType } from "@/types/annotationTypes"; -import { type FieldAnnotation } from "@/components/form/FieldAnnotation"; -import { DESCRIPTION_ALLOWED_TAGS } from "@/types/schemaTypes"; -import MarkdownInline from "@/components/MarkdownInline"; +import FieldAnnotationAlert from "../annotationAlert/FieldAnnotationAlert"; +import { AnnotationType } from "../../types/annotationTypes"; +import { type FieldAnnotation } from "./FieldAnnotation"; +import { DESCRIPTION_ALLOWED_TAGS } from "../../types/schemaTypes"; +import MarkdownInline from "../MarkdownInline"; import { type Except } from "type-fest"; import { type ActionMeta } from "react-select"; -import { freeze } from "@/utils/objectUtils"; -import FieldTemplateLocalErrorContext from "@/components/form/widgets/FieldTemplateLocalErrorContext"; +import { freeze } from "../../utils/objectUtils"; +import FieldTemplateLocalErrorContext from "./widgets/FieldTemplateLocalErrorContext"; export type FieldProps< As extends React.ElementType = React.ElementType, diff --git a/src/components/form/Form.module.scss b/applications/browser-extension/src/components/form/Form.module.scss similarity index 100% rename from src/components/form/Form.module.scss rename to applications/browser-extension/src/components/form/Form.module.scss diff --git a/src/components/form/Form.stories.tsx b/applications/browser-extension/src/components/form/Form.stories.tsx similarity index 95% rename from src/components/form/Form.stories.tsx rename to applications/browser-extension/src/components/form/Form.stories.tsx index 42b9a70caa..f4dfe49dbb 100644 --- a/src/components/form/Form.stories.tsx +++ b/applications/browser-extension/src/components/form/Form.stories.tsx @@ -22,18 +22,18 @@ import Form, { type OnSubmit } from "./Form"; import { action } from "@storybook/addon-actions"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faGlobe } from "@fortawesome/free-solid-svg-icons"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; +import ConnectedFieldTemplate from "./ConnectedFieldTemplate"; import SelectWidget, { type Option, -} from "@/components/form/widgets/SelectWidget"; +} from "./widgets/SelectWidget"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form as BootstrapForm } from "react-bootstrap"; import { type CustomFieldWidget } from "./FieldTemplate"; -import createMenuListWithAddButton from "@/components/form/widgets/createMenuListWithAddButton"; +import createMenuListWithAddButton from "./widgets/createMenuListWithAddButton"; import { range } from "lodash"; import SwitchButtonWidget from "./widgets/switchButton/SwitchButtonWidget"; import { Provider } from "react-redux"; -import { editorStore } from "@/testUtils/storyUtils"; +import { editorStore } from "../../testUtils/storyUtils"; const componentMeta: ComponentMeta = { title: "Forms/Formik", diff --git a/src/components/form/Form.tsx b/applications/browser-extension/src/components/form/Form.tsx similarity index 100% rename from src/components/form/Form.tsx rename to applications/browser-extension/src/components/form/Form.tsx diff --git a/src/components/form/lockedLabel/LockedStarterBrickLabel.module.scss b/applications/browser-extension/src/components/form/lockedLabel/LockedStarterBrickLabel.module.scss similarity index 100% rename from src/components/form/lockedLabel/LockedStarterBrickLabel.module.scss rename to applications/browser-extension/src/components/form/lockedLabel/LockedStarterBrickLabel.module.scss diff --git a/src/components/form/lockedLabel/LockedStarterBrickLabel.tsx b/applications/browser-extension/src/components/form/lockedLabel/LockedStarterBrickLabel.tsx similarity index 97% rename from src/components/form/lockedLabel/LockedStarterBrickLabel.tsx rename to applications/browser-extension/src/components/form/lockedLabel/LockedStarterBrickLabel.tsx index 68fd891404..0608fb2ae7 100644 --- a/src/components/form/lockedLabel/LockedStarterBrickLabel.tsx +++ b/applications/browser-extension/src/components/form/lockedLabel/LockedStarterBrickLabel.tsx @@ -21,7 +21,7 @@ import { type OverlayTriggerProps, Tooltip, } from "react-bootstrap"; -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../../types/helpers"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faLock } from "@fortawesome/free-solid-svg-icons"; import { useField } from "formik"; diff --git a/src/components/form/makeFieldActionForAnnotationAction.test.tsx b/applications/browser-extension/src/components/form/makeFieldActionForAnnotationAction.test.tsx similarity index 79% rename from src/components/form/makeFieldActionForAnnotationAction.test.tsx rename to applications/browser-extension/src/components/form/makeFieldActionForAnnotationAction.test.tsx index b2185827b2..15fe56fbf7 100644 --- a/src/components/form/makeFieldActionForAnnotationAction.test.tsx +++ b/applications/browser-extension/src/components/form/makeFieldActionForAnnotationAction.test.tsx @@ -16,15 +16,15 @@ */ import React from "react"; -import { triggerFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { ContextBrick } from "@/runtime/pipelineTests/testHelpers"; -import { toExpression } from "@/utils/expressionUtils"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { makeFieldActionForAnnotationAction } from "@/components/form/makeFieldActionForAnnotationAction"; -import { render } from "@/pageEditor/testHelpers"; +import { triggerFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; +import { ContextBrick } from "../../runtime/pipelineTests/testHelpers"; +import { toExpression } from "../../utils/expressionUtils"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import { makeFieldActionForAnnotationAction } from "./makeFieldActionForAnnotationAction"; +import { render } from "../../pageEditor/testHelpers"; import { useFormikContext } from "formik"; -import { AnalysisAnnotationActionType } from "@/analysis/analysisTypes"; -import AsyncButton from "@/components/AsyncButton"; +import { AnalysisAnnotationActionType } from "../../analysis/analysisTypes"; +import AsyncButton from "../AsyncButton"; import { screen, act } from "@testing-library/react"; describe("makeFieldActionForAnnotationAction", () => { diff --git a/src/components/form/makeFieldActionForAnnotationAction.ts b/applications/browser-extension/src/components/form/makeFieldActionForAnnotationAction.ts similarity index 95% rename from src/components/form/makeFieldActionForAnnotationAction.ts rename to applications/browser-extension/src/components/form/makeFieldActionForAnnotationAction.ts index 733d23576d..e42f12653a 100644 --- a/src/components/form/makeFieldActionForAnnotationAction.ts +++ b/applications/browser-extension/src/components/form/makeFieldActionForAnnotationAction.ts @@ -18,11 +18,11 @@ import { type AnalysisAnnotationAction, AnalysisAnnotationActionType, -} from "@/analysis/analysisTypes"; +} from "../../analysis/analysisTypes"; import { type FormikContextType } from "formik"; // Use lodash's get/set because formik's does not mutate the object in place. import { get as getIn, set as setIn } from "lodash"; -import type { FieldAnnotationAction } from "@/components/form/FieldAnnotation"; +import type { FieldAnnotationAction } from "./FieldAnnotation"; import { produce } from "immer"; export function makeFieldActionForAnnotationAction( diff --git a/src/components/form/makeFieldAnnotationsForValue.ts b/applications/browser-extension/src/components/form/makeFieldAnnotationsForValue.ts similarity index 89% rename from src/components/form/makeFieldAnnotationsForValue.ts rename to applications/browser-extension/src/components/form/makeFieldAnnotationsForValue.ts index 600df50df9..220d065b1c 100644 --- a/src/components/form/makeFieldAnnotationsForValue.ts +++ b/applications/browser-extension/src/components/form/makeFieldAnnotationsForValue.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type AnalysisAnnotation } from "@/analysis/analysisTypes"; -import { type FieldAnnotation } from "@/components/form/FieldAnnotation"; +import { type AnalysisAnnotation } from "../../analysis/analysisTypes"; +import { type FieldAnnotation } from "./FieldAnnotation"; import { isEqual } from "lodash"; -import { makeFieldActionForAnnotationAction } from "@/components/form/makeFieldActionForAnnotationAction"; +import { makeFieldActionForAnnotationAction } from "./makeFieldActionForAnnotationAction"; import { type FormikContextType } from "formik"; export function makeFieldAnnotationsForValue( diff --git a/src/components/form/popoverInfoLabel/PopoverInfoLabel.module.scss b/applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.module.scss similarity index 100% rename from src/components/form/popoverInfoLabel/PopoverInfoLabel.module.scss rename to applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.module.scss diff --git a/src/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx b/applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx similarity index 95% rename from src/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx rename to applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx index 6b47863c3c..bd70d5d559 100644 --- a/src/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx +++ b/applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.stories.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import PopoverInfoLabel from "@/components/form/popoverInfoLabel/PopoverInfoLabel"; +import PopoverInfoLabel from "./PopoverInfoLabel"; export default { title: "Common/PopoverInfoLabel", diff --git a/src/components/form/popoverInfoLabel/PopoverInfoLabel.tsx b/applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.tsx similarity index 100% rename from src/components/form/popoverInfoLabel/PopoverInfoLabel.tsx rename to applications/browser-extension/src/components/form/popoverInfoLabel/PopoverInfoLabel.tsx diff --git a/src/components/form/widgets/AsyncRemoteSelectWidget.test.tsx b/applications/browser-extension/src/components/form/widgets/AsyncRemoteSelectWidget.test.tsx similarity index 95% rename from src/components/form/widgets/AsyncRemoteSelectWidget.test.tsx rename to applications/browser-extension/src/components/form/widgets/AsyncRemoteSelectWidget.test.tsx index fbc69d9363..90293b9ef1 100644 --- a/src/components/form/widgets/AsyncRemoteSelectWidget.test.tsx +++ b/applications/browser-extension/src/components/form/widgets/AsyncRemoteSelectWidget.test.tsx @@ -17,13 +17,13 @@ import selectEvent from "react-select-event"; import React from "react"; -import AsyncRemoteSelectWidget from "@/components/form/widgets/AsyncRemoteSelectWidget"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import AsyncRemoteSelectWidget from "./AsyncRemoteSelectWidget"; +import { waitForEffect } from "../../../testUtils/testHelpers"; import userEvent from "@testing-library/user-event"; import { act } from "react-dom/test-utils"; -import { sleep } from "@/utils/timeUtils"; -import { render, screen } from "@/pageEditor/testHelpers"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; +import { sleep } from "../../../utils/timeUtils"; +import { render, screen } from "../../../pageEditor/testHelpers"; +import ConnectedFieldTemplate from "../ConnectedFieldTemplate"; jest.mock("use-debounce", () => ({ useDebouncedCallback: jest.fn((fn) => fn), diff --git a/src/components/form/widgets/AsyncRemoteSelectWidget.tsx b/applications/browser-extension/src/components/form/widgets/AsyncRemoteSelectWidget.tsx similarity index 94% rename from src/components/form/widgets/AsyncRemoteSelectWidget.tsx rename to applications/browser-extension/src/components/form/widgets/AsyncRemoteSelectWidget.tsx index c52fc4fd5a..bd9d621874 100644 --- a/src/components/form/widgets/AsyncRemoteSelectWidget.tsx +++ b/applications/browser-extension/src/components/form/widgets/AsyncRemoteSelectWidget.tsx @@ -24,15 +24,15 @@ import React, { import { type Option, type SelectLike, -} from "@/components/form/widgets/SelectWidget"; +} from "./SelectWidget"; import AsyncSelect, { type AsyncProps } from "react-select/async"; -import { type CustomFieldWidgetProps } from "@/components/form/FieldTemplate"; +import { type CustomFieldWidgetProps } from "../FieldTemplate"; import { uniqBy } from "lodash"; -import { getErrorMessage } from "@/errors/errorHelpers"; +import { getErrorMessage } from "../../../errors/errorHelpers"; import { useDebouncedCallback } from "use-debounce"; import { type GroupBase } from "react-select"; -import FieldTemplateLocalErrorContext from "@/components/form/widgets/FieldTemplateLocalErrorContext"; -import useIsMounted from "@/hooks/useIsMounted"; +import FieldTemplateLocalErrorContext from "./FieldTemplateLocalErrorContext"; +import useIsMounted from "../../../hooks/useIsMounted"; type DefaultFactoryArgs = { /** diff --git a/src/components/form/widgets/FieldTemplateLocalErrorContext.ts b/applications/browser-extension/src/components/form/widgets/FieldTemplateLocalErrorContext.ts similarity index 100% rename from src/components/form/widgets/FieldTemplateLocalErrorContext.ts rename to applications/browser-extension/src/components/form/widgets/FieldTemplateLocalErrorContext.ts diff --git a/src/components/form/widgets/KeyNameWidget.tsx b/applications/browser-extension/src/components/form/widgets/KeyNameWidget.tsx similarity index 100% rename from src/components/form/widgets/KeyNameWidget.tsx rename to applications/browser-extension/src/components/form/widgets/KeyNameWidget.tsx diff --git a/src/components/form/widgets/RegistryIdWidget.module.scss b/applications/browser-extension/src/components/form/widgets/RegistryIdWidget.module.scss similarity index 100% rename from src/components/form/widgets/RegistryIdWidget.module.scss rename to applications/browser-extension/src/components/form/widgets/RegistryIdWidget.module.scss diff --git a/src/components/form/widgets/RegistryIdWidget.test.tsx b/applications/browser-extension/src/components/form/widgets/RegistryIdWidget.test.tsx similarity index 93% rename from src/components/form/widgets/RegistryIdWidget.test.tsx rename to applications/browser-extension/src/components/form/widgets/RegistryIdWidget.test.tsx index 9a77903a7b..bdcbbe90ab 100644 --- a/src/components/form/widgets/RegistryIdWidget.test.tsx +++ b/applications/browser-extension/src/components/form/widgets/RegistryIdWidget.test.tsx @@ -16,17 +16,17 @@ */ import React from "react"; -import RegistryIdWidget from "@/components/form/widgets/RegistryIdWidget"; -import { render, screen } from "@/pageEditor/testHelpers"; -import { authActions } from "@/auth/authSlice"; +import RegistryIdWidget from "./RegistryIdWidget"; +import { render, screen } from "../../../pageEditor/testHelpers"; +import { authActions } from "../../../auth/authSlice"; import userEvent from "@testing-library/user-event"; import { partition } from "lodash"; -import { LegacyUserRole } from "@/data/model/UserRole"; -import { validateRegistryId } from "@/types/helpers"; +import { LegacyUserRole } from "../../../data/model/UserRole"; +import { validateRegistryId } from "../../../types/helpers"; import { authStateFactory, organizationStateFactory, -} from "@/testUtils/factories/authFactories"; +} from "../../../testUtils/factories/authFactories"; const editorRoles = new Set([ LegacyUserRole.admin, diff --git a/src/components/form/widgets/RegistryIdWidget.tsx b/applications/browser-extension/src/components/form/widgets/RegistryIdWidget.tsx similarity index 92% rename from src/components/form/widgets/RegistryIdWidget.tsx rename to applications/browser-extension/src/components/form/widgets/RegistryIdWidget.tsx index cb8001e5ae..1eb20bfbfe 100644 --- a/src/components/form/widgets/RegistryIdWidget.tsx +++ b/applications/browser-extension/src/components/form/widgets/RegistryIdWidget.tsx @@ -18,19 +18,19 @@ import { useField } from "formik"; import React from "react"; import { useSelector } from "react-redux"; -import { selectEditableScopes, selectScope } from "@/auth/authSelectors"; +import { selectEditableScopes, selectScope } from "../../../auth/authSelectors"; import SelectWidget, { type Option, type SelectWidgetOnChange, -} from "@/components/form/widgets/SelectWidget"; -import { type RegistryId } from "@/types/registryTypes"; +} from "./SelectWidget"; +import { type RegistryId } from "../../../types/registryTypes"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form } from "react-bootstrap"; import styles from "./RegistryIdWidget.module.scss"; import { type StylesConfig } from "react-select"; -import { getScopeAndId } from "@/utils/registryUtils"; +import { getScopeAndId } from "../../../utils/registryUtils"; import useAsyncEffect from "use-async-effect"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../../../utils/nullishUtils"; const emptyObject = {} as const; diff --git a/src/components/form/widgets/RemoteMultiSelectWidget.test.tsx b/applications/browser-extension/src/components/form/widgets/RemoteMultiSelectWidget.test.tsx similarity index 95% rename from src/components/form/widgets/RemoteMultiSelectWidget.test.tsx rename to applications/browser-extension/src/components/form/widgets/RemoteMultiSelectWidget.test.tsx index b82c0b00fa..1838922291 100644 --- a/src/components/form/widgets/RemoteMultiSelectWidget.test.tsx +++ b/applications/browser-extension/src/components/form/widgets/RemoteMultiSelectWidget.test.tsx @@ -16,14 +16,14 @@ */ import React from "react"; -import reportError from "@/telemetry/reportError"; -import { render, screen, userEvent } from "@/pageEditor/testHelpers"; -import RemoteMultiSelectWidget from "@/components/form/widgets/RemoteMultiSelectWidget"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; +import reportError from "../../../telemetry/reportError"; +import { render, screen, userEvent } from "../../../pageEditor/testHelpers"; +import RemoteMultiSelectWidget from "./RemoteMultiSelectWidget"; +import { sanitizedIntegrationConfigFactory } from "../../../testUtils/factories/integrationFactories"; import { waitFor } from "@testing-library/react"; -import FieldTemplateLocalErrorContext from "@/components/form/widgets/FieldTemplateLocalErrorContext"; +import FieldTemplateLocalErrorContext from "./FieldTemplateLocalErrorContext"; -jest.mock("@/telemetry/reportError"); +jest.mock("../../../telemetry/reportError"); const reportErrorSpy = jest.mocked(reportError); const setLocalErrorSpy = jest.fn(); diff --git a/src/components/form/widgets/RemoteMultiSelectWidget.tsx b/applications/browser-extension/src/components/form/widgets/RemoteMultiSelectWidget.tsx similarity index 82% rename from src/components/form/widgets/RemoteMultiSelectWidget.tsx rename to applications/browser-extension/src/components/form/widgets/RemoteMultiSelectWidget.tsx index 7408f056a3..bff2d873d0 100644 --- a/src/components/form/widgets/RemoteMultiSelectWidget.tsx +++ b/applications/browser-extension/src/components/form/widgets/RemoteMultiSelectWidget.tsx @@ -20,15 +20,15 @@ import Select, { type MultiValue } from "react-select"; import { type MultiSelectLike, type Option, -} from "@/components/form/widgets/SelectWidget"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type OptionsFactory } from "@/components/form/widgets/RemoteSelectWidget"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import useReportError from "@/hooks/useReportError"; -import type { CustomFieldWidgetProps } from "@/components/form/FieldTemplate"; -import { useOptionsResolver } from "@/components/form/widgets/useOptionsResolver"; -import FieldTemplateLocalErrorContext from "@/components/form/widgets/FieldTemplateLocalErrorContext"; -import { assertNotNullish } from "@/utils/nullishUtils"; +} from "./SelectWidget"; +import { type SanitizedIntegrationConfig } from "../../../integrations/integrationTypes"; +import { type OptionsFactory } from "./RemoteSelectWidget"; +import { getErrorMessage } from "../../../errors/errorHelpers"; +import useReportError from "../../../hooks/useReportError"; +import type { CustomFieldWidgetProps } from "../FieldTemplate"; +import { useOptionsResolver } from "./useOptionsResolver"; +import FieldTemplateLocalErrorContext from "./FieldTemplateLocalErrorContext"; +import { assertNotNullish } from "../../../utils/nullishUtils"; type RemoteMultiSelectWidgetProps> = CustomFieldWidgetProps, MultiSelectLike> & { diff --git a/src/components/form/widgets/RemoteSelectWidget.test.tsx b/applications/browser-extension/src/components/form/widgets/RemoteSelectWidget.test.tsx similarity index 93% rename from src/components/form/widgets/RemoteSelectWidget.test.tsx rename to applications/browser-extension/src/components/form/widgets/RemoteSelectWidget.test.tsx index 9f40ffd14e..b3129ef792 100644 --- a/src/components/form/widgets/RemoteSelectWidget.test.tsx +++ b/applications/browser-extension/src/components/form/widgets/RemoteSelectWidget.test.tsx @@ -16,14 +16,14 @@ */ import React from "react"; -import { render, screen, userEvent } from "@/pageEditor/testHelpers"; -import RemoteSelectWidget from "@/components/form/widgets/RemoteSelectWidget"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; +import { render, screen, userEvent } from "../../../pageEditor/testHelpers"; +import RemoteSelectWidget from "./RemoteSelectWidget"; +import { sanitizedIntegrationConfigFactory } from "../../../testUtils/factories/integrationFactories"; import { waitFor } from "@testing-library/react"; -import reportError from "@/telemetry/reportError"; -import FieldTemplateLocalErrorContext from "@/components/form/widgets/FieldTemplateLocalErrorContext"; +import reportError from "../../../telemetry/reportError"; +import FieldTemplateLocalErrorContext from "./FieldTemplateLocalErrorContext"; -jest.mock("@/telemetry/reportError"); +jest.mock("../../../telemetry/reportError"); const reportErrorSpy = jest.mocked(reportError); const setLocalErrorSpy = jest.fn(); diff --git a/src/components/form/widgets/RemoteSelectWidget.tsx b/applications/browser-extension/src/components/form/widgets/RemoteSelectWidget.tsx similarity index 84% rename from src/components/form/widgets/RemoteSelectWidget.tsx rename to applications/browser-extension/src/components/form/widgets/RemoteSelectWidget.tsx index 867e5e741b..4581c42662 100644 --- a/src/components/form/widgets/RemoteSelectWidget.tsx +++ b/applications/browser-extension/src/components/form/widgets/RemoteSelectWidget.tsx @@ -19,17 +19,17 @@ import React, { useContext, useEffect } from "react"; import SelectWidget, { type Option, type SelectLike, -} from "@/components/form/widgets/SelectWidget"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type CustomFieldWidgetProps } from "@/components/form/FieldTemplate"; +} from "./SelectWidget"; +import { type SanitizedIntegrationConfig } from "../../../integrations/integrationTypes"; +import { type CustomFieldWidgetProps } from "../FieldTemplate"; import isPromise from "is-promise"; -import useReportError from "@/hooks/useReportError"; +import useReportError from "../../../hooks/useReportError"; import { Button } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faSync } from "@fortawesome/free-solid-svg-icons"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { useOptionsResolver } from "@/components/form/widgets/useOptionsResolver"; -import FieldTemplateLocalErrorContext from "@/components/form/widgets/FieldTemplateLocalErrorContext"; +import { getErrorMessage } from "../../../errors/errorHelpers"; +import { useOptionsResolver } from "./useOptionsResolver"; +import FieldTemplateLocalErrorContext from "./FieldTemplateLocalErrorContext"; export type OptionsFactory = ( config: SanitizedIntegrationConfig, diff --git a/src/components/form/widgets/SelectWidget.test.tsx b/applications/browser-extension/src/components/form/widgets/SelectWidget.test.tsx similarity index 98% rename from src/components/form/widgets/SelectWidget.test.tsx rename to applications/browser-extension/src/components/form/widgets/SelectWidget.test.tsx index c05f158713..6962166124 100644 --- a/src/components/form/widgets/SelectWidget.test.tsx +++ b/applications/browser-extension/src/components/form/widgets/SelectWidget.test.tsx @@ -20,7 +20,7 @@ import React from "react"; import selectEvent from "react-select-event"; import SelectWidget, { type Option } from "./SelectWidget"; import { type GroupBase } from "react-select"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { waitForEffect } from "../../../testUtils/testHelpers"; describe("options", () => { const options: Option[] = [ diff --git a/src/components/form/widgets/SelectWidget.tsx b/applications/browser-extension/src/components/form/widgets/SelectWidget.tsx similarity index 96% rename from src/components/form/widgets/SelectWidget.tsx rename to applications/browser-extension/src/components/form/widgets/SelectWidget.tsx index 72fd6da6ac..815a430854 100644 --- a/src/components/form/widgets/SelectWidget.tsx +++ b/applications/browser-extension/src/components/form/widgets/SelectWidget.tsx @@ -16,7 +16,7 @@ */ import React, { type ChangeEvent, useState, useMemo } from "react"; -import { type CustomFieldWidgetProps } from "@/components/form/FieldTemplate"; +import { type CustomFieldWidgetProps } from "../FieldTemplate"; import Select, { type GroupBase, type SelectComponentsConfig, @@ -24,7 +24,7 @@ import Select, { type StylesConfig, } from "react-select"; import Creatable from "react-select/creatable"; -import useAddCreatablePlaceholder from "@/components/form/widgets/useAddCreatablePlaceholder"; +import useAddCreatablePlaceholder from "./useAddCreatablePlaceholder"; // Type of the Select options export type Option = { diff --git a/src/components/form/widgets/__snapshots__/SelectWidget.test.tsx.snap b/applications/browser-extension/src/components/form/widgets/__snapshots__/SelectWidget.test.tsx.snap similarity index 100% rename from src/components/form/widgets/__snapshots__/SelectWidget.test.tsx.snap rename to applications/browser-extension/src/components/form/widgets/__snapshots__/SelectWidget.test.tsx.snap diff --git a/src/components/form/widgets/createMenuListWithAddButton.tsx b/applications/browser-extension/src/components/form/widgets/createMenuListWithAddButton.tsx similarity index 100% rename from src/components/form/widgets/createMenuListWithAddButton.tsx rename to applications/browser-extension/src/components/form/widgets/createMenuListWithAddButton.tsx diff --git a/src/components/form/widgets/switchButton/SwitchButtonWidget.module.scss b/applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.module.scss similarity index 100% rename from src/components/form/widgets/switchButton/SwitchButtonWidget.module.scss rename to applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.module.scss diff --git a/src/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx b/applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx similarity index 94% rename from src/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx rename to applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx index d41e03c03c..b6dc8c94eb 100644 --- a/src/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx +++ b/applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.stories.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type StoryFn, type Meta } from "@storybook/react"; import SwitchButtonWidget, { type CheckBoxLike } from "./SwitchButtonWidget"; -import { type CustomFieldWidgetProps } from "@/components/form/FieldTemplate"; +import { type CustomFieldWidgetProps } from "../../FieldTemplate"; const componentMeta: Meta = { title: "Fields/SwitchButtonWidget", diff --git a/src/components/form/widgets/switchButton/SwitchButtonWidget.test.tsx b/applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.test.tsx similarity index 100% rename from src/components/form/widgets/switchButton/SwitchButtonWidget.test.tsx rename to applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.test.tsx diff --git a/src/components/form/widgets/switchButton/SwitchButtonWidget.tsx b/applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.tsx similarity index 95% rename from src/components/form/widgets/switchButton/SwitchButtonWidget.tsx rename to applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.tsx index 1bee9bb881..59bfc99135 100644 --- a/src/components/form/widgets/switchButton/SwitchButtonWidget.tsx +++ b/applications/browser-extension/src/components/form/widgets/switchButton/SwitchButtonWidget.tsx @@ -17,7 +17,7 @@ import React, { type ChangeEvent } from "react"; import BootstrapSwitchButton from "bootstrap-switch-button-react"; -import { type CustomFieldWidget } from "@/components/form/FieldTemplate"; +import { type CustomFieldWidget } from "../../FieldTemplate"; import styles from "./SwitchButtonWidget.module.scss"; export type CheckBoxLike = { diff --git a/src/components/form/widgets/switchButton/__snapshots__/SwitchButtonWidget.test.tsx.snap b/applications/browser-extension/src/components/form/widgets/switchButton/__snapshots__/SwitchButtonWidget.test.tsx.snap similarity index 100% rename from src/components/form/widgets/switchButton/__snapshots__/SwitchButtonWidget.test.tsx.snap rename to applications/browser-extension/src/components/form/widgets/switchButton/__snapshots__/SwitchButtonWidget.test.tsx.snap diff --git a/src/components/form/widgets/useAddCreatablePlaceholder.ts b/applications/browser-extension/src/components/form/widgets/useAddCreatablePlaceholder.ts similarity index 96% rename from src/components/form/widgets/useAddCreatablePlaceholder.ts rename to applications/browser-extension/src/components/form/widgets/useAddCreatablePlaceholder.ts index 3055f2f649..c1eab376fd 100644 --- a/src/components/form/widgets/useAddCreatablePlaceholder.ts +++ b/applications/browser-extension/src/components/form/widgets/useAddCreatablePlaceholder.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { freeze } from "@/utils/objectUtils"; +import { freeze } from "../../../utils/objectUtils"; import { useMemo } from "react"; // Disabled placeholder option to indicate that a user can create an option diff --git a/src/components/form/widgets/useOptionsResolver.test.ts b/applications/browser-extension/src/components/form/widgets/useOptionsResolver.test.ts similarity index 90% rename from src/components/form/widgets/useOptionsResolver.test.ts rename to applications/browser-extension/src/components/form/widgets/useOptionsResolver.test.ts index de9c8e234f..046c61077e 100644 --- a/src/components/form/widgets/useOptionsResolver.test.ts +++ b/applications/browser-extension/src/components/form/widgets/useOptionsResolver.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { renderHook } from "@/pageEditor/testHelpers"; -import { useOptionsResolver } from "@/components/form/widgets/useOptionsResolver"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; +import { renderHook } from "../../../pageEditor/testHelpers"; +import { useOptionsResolver } from "./useOptionsResolver"; +import { sanitizedIntegrationConfigFactory } from "../../../testUtils/factories/integrationFactories"; const OPTIONS = [ { value: 1, label: "Option One" }, diff --git a/src/components/form/widgets/useOptionsResolver.ts b/applications/browser-extension/src/components/form/widgets/useOptionsResolver.ts similarity index 75% rename from src/components/form/widgets/useOptionsResolver.ts rename to applications/browser-extension/src/components/form/widgets/useOptionsResolver.ts index 595b979ebc..0ea4675ca8 100644 --- a/src/components/form/widgets/useOptionsResolver.ts +++ b/applications/browser-extension/src/components/form/widgets/useOptionsResolver.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { Option } from "@/components/form/widgets/SelectWidget"; -import type { FetchableAsyncState } from "@/types/sliceTypes"; -import useAsyncState from "@/hooks/useAsyncState"; +import type { SanitizedIntegrationConfig } from "../../../integrations/integrationTypes"; +import type { Option } from "./SelectWidget"; +import type { FetchableAsyncState } from "../../../types/sliceTypes"; +import useAsyncState from "../../../hooks/useAsyncState"; import isPromise from "is-promise"; -import { BusinessError } from "@/errors/businessErrors"; -import { type OptionsFactory } from "@/components/form/widgets/RemoteSelectWidget"; +import { BusinessError } from "../../../errors/businessErrors"; +import { type OptionsFactory } from "./RemoteSelectWidget"; export function useOptionsResolver( config: SanitizedIntegrationConfig | null, diff --git a/src/components/formBuilder/BaseInputTemplate.test.tsx b/applications/browser-extension/src/components/formBuilder/BaseInputTemplate.test.tsx similarity index 99% rename from src/components/formBuilder/BaseInputTemplate.test.tsx rename to applications/browser-extension/src/components/formBuilder/BaseInputTemplate.test.tsx index 2f77fae1e2..604cb818aa 100644 --- a/src/components/formBuilder/BaseInputTemplate.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/BaseInputTemplate.test.tsx @@ -17,7 +17,7 @@ import BaseInputTemplate, { type StrictBaseInputTemplateProps, -} from "@/components/formBuilder/BaseInputTemplate"; +} from "./BaseInputTemplate"; import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { type JSONSchema7 } from "json-schema"; diff --git a/src/components/formBuilder/BaseInputTemplate.tsx b/applications/browser-extension/src/components/formBuilder/BaseInputTemplate.tsx similarity index 99% rename from src/components/formBuilder/BaseInputTemplate.tsx rename to applications/browser-extension/src/components/formBuilder/BaseInputTemplate.tsx index 129525c5cc..5ea89cedf0 100644 --- a/src/components/formBuilder/BaseInputTemplate.tsx +++ b/applications/browser-extension/src/components/formBuilder/BaseInputTemplate.tsx @@ -28,7 +28,7 @@ import { } from "@rjsf/utils"; import React from "react"; import { FormControl, type FormControlProps } from "react-bootstrap"; -import { freeze } from "@/utils/objectUtils"; +import { freeze } from "../../utils/objectUtils"; // RJSF's BaseInputTemplateProps is overly permissive. Tightening it up here. export interface StrictBaseInputTemplateProps< diff --git a/src/components/formBuilder/DescriptionField.tsx b/applications/browser-extension/src/components/formBuilder/DescriptionField.tsx similarity index 96% rename from src/components/formBuilder/DescriptionField.tsx rename to applications/browser-extension/src/components/formBuilder/DescriptionField.tsx index 3f124e4a50..1f198f1fa4 100644 --- a/src/components/formBuilder/DescriptionField.tsx +++ b/applications/browser-extension/src/components/formBuilder/DescriptionField.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type Field } from "@rjsf/utils"; import cx from "classnames"; -import MarkdownLazy from "@/components/Markdown"; +import MarkdownLazy from "../Markdown"; type FormPreviewDescriptionFieldProps = { description: string | React.ReactElement; diff --git a/src/components/formBuilder/DescriptionFieldTemplate.tsx b/applications/browser-extension/src/components/formBuilder/DescriptionFieldTemplate.tsx similarity index 96% rename from src/components/formBuilder/DescriptionFieldTemplate.tsx rename to applications/browser-extension/src/components/formBuilder/DescriptionFieldTemplate.tsx index 2f6f069574..2fc2376b40 100644 --- a/src/components/formBuilder/DescriptionFieldTemplate.tsx +++ b/applications/browser-extension/src/components/formBuilder/DescriptionFieldTemplate.tsx @@ -17,7 +17,7 @@ import React from "react"; import cx from "classnames"; -import MarkdownLazy from "@/components/Markdown"; +import MarkdownLazy from "../Markdown"; type FormPreviewDescriptionFieldProps = { id: string; diff --git a/src/components/formBuilder/FieldTemplate.module.scss b/applications/browser-extension/src/components/formBuilder/FieldTemplate.module.scss similarity index 100% rename from src/components/formBuilder/FieldTemplate.module.scss rename to applications/browser-extension/src/components/formBuilder/FieldTemplate.module.scss diff --git a/src/components/formBuilder/FieldTemplate.tsx b/applications/browser-extension/src/components/formBuilder/FieldTemplate.tsx similarity index 94% rename from src/components/formBuilder/FieldTemplate.tsx rename to applications/browser-extension/src/components/formBuilder/FieldTemplate.tsx index 0e3a9f7bad..889f0c1848 100644 --- a/src/components/formBuilder/FieldTemplate.tsx +++ b/applications/browser-extension/src/components/formBuilder/FieldTemplate.tsx @@ -23,10 +23,10 @@ import { type FieldTemplateProps } from "@rjsf/utils"; import { Form, ListGroup } from "react-bootstrap"; // Named import to get the proper type import { DescriptionField } from "./DescriptionField"; -import { type SetActiveField } from "@/components/formBuilder/formBuilderTypes"; -import { UI_SCHEMA_ACTIVE } from "@/components/formBuilder/schemaFieldNames"; +import { type SetActiveField } from "./formBuilderTypes"; +import { UI_SCHEMA_ACTIVE } from "./schemaFieldNames"; import { noop, uniq } from "lodash"; -import { freeze } from "@/utils/objectUtils"; +import { freeze } from "../../utils/objectUtils"; interface FormPreviewFieldTemplateProps extends FieldTemplateProps { // Only used in the FormPreview diff --git a/src/components/formBuilder/RjsfSubmitContext.ts b/applications/browser-extension/src/components/formBuilder/RjsfSubmitContext.ts similarity index 100% rename from src/components/formBuilder/RjsfSubmitContext.ts rename to applications/browser-extension/src/components/formBuilder/RjsfSubmitContext.ts diff --git a/src/components/formBuilder/RjsfTemplates.ts b/applications/browser-extension/src/components/formBuilder/RjsfTemplates.ts similarity index 79% rename from src/components/formBuilder/RjsfTemplates.ts rename to applications/browser-extension/src/components/formBuilder/RjsfTemplates.ts index b6e2f8e0c9..4c142eecff 100644 --- a/src/components/formBuilder/RjsfTemplates.ts +++ b/applications/browser-extension/src/components/formBuilder/RjsfTemplates.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import BaseInputTemplate from "@/components/formBuilder/BaseInputTemplate"; -import DescriptionFieldTemplate from "@/components/formBuilder/DescriptionFieldTemplate"; -import FieldTemplate from "@/components/formBuilder/FieldTemplate"; +import BaseInputTemplate from "./BaseInputTemplate"; +import DescriptionFieldTemplate from "./DescriptionFieldTemplate"; +import FieldTemplate from "./FieldTemplate"; import { type FormProps } from "@rjsf/core"; export const templates = { diff --git a/src/components/formBuilder/demo/FormBuilderDemo.module.scss b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.module.scss similarity index 100% rename from src/components/formBuilder/demo/FormBuilderDemo.module.scss rename to applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.module.scss diff --git a/src/components/formBuilder/demo/FormBuilderDemo.stories.tsx b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.stories.tsx similarity index 95% rename from src/components/formBuilder/demo/FormBuilderDemo.stories.tsx rename to applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.stories.tsx index e6125f8ee7..0a542fb1c6 100644 --- a/src/components/formBuilder/demo/FormBuilderDemo.stories.tsx +++ b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.stories.tsx @@ -17,7 +17,7 @@ import { type ComponentMeta, type ComponentStory } from "@storybook/react"; import React from "react"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../types/schemaTypes"; import FormBuilderDemo from "./FormBuilderDemo"; import { action } from "@storybook/addon-actions"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time @@ -26,7 +26,7 @@ import * as yup from "yup"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Button, Form as BootstrapForm } from "react-bootstrap"; import { type UiSchema } from "@rjsf/utils"; -import { settingsStore } from "@/testUtils/storyUtils"; +import { settingsStore } from "../../../testUtils/storyUtils"; import { Provider } from "react-redux"; const schema: Schema = { diff --git a/src/components/formBuilder/demo/FormBuilderDemo.test.tsx b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.test.tsx similarity index 96% rename from src/components/formBuilder/demo/FormBuilderDemo.test.tsx rename to applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.test.tsx index b730027170..a4330ba48d 100644 --- a/src/components/formBuilder/demo/FormBuilderDemo.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.test.tsx @@ -16,24 +16,24 @@ */ /* eslint-disable testing-library/no-node-access -- TODO: refactor to use better locator methods */ -import { getExampleBrickConfig } from "@/bricks/exampleBrickConfigs"; +import { getExampleBrickConfig } from "../../../bricks/exampleBrickConfigs"; import { createFormikTemplate, fireTextInput, RJSF_SCHEMA_PROPERTY_NAME, selectSchemaFieldInputMode, -} from "@/testUtils/formHelpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { render, type RenderResult, screen } from "@/pageEditor/testHelpers"; +} from "../../../testUtils/formHelpers"; +import { waitForEffect } from "../../../testUtils/testHelpers"; +import { render, type RenderResult, screen } from "../../../pageEditor/testHelpers"; import React from "react"; import { act } from "react-dom/test-utils"; import selectEvent from "react-select-event"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; +import registerDefaultWidgets from "../../fields/schemaFields/widgets/registerDefaultWidgets"; import FormBuilderDemo from "./FormBuilderDemo"; import { type RJSFSchema } from "../formBuilderTypes"; import userEvent from "@testing-library/user-event"; -import { CustomFormRenderer } from "@/bricks/renderers/customForm"; -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { CustomFormRenderer } from "../../../bricks/renderers/customForm"; +import { type Schema, type UiSchema } from "../../../types/schemaTypes"; let exampleFormSchema: RJSFSchema; let defaultFieldName: string; diff --git a/src/components/formBuilder/demo/FormBuilderDemo.tsx b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.tsx similarity index 87% rename from src/components/formBuilder/demo/FormBuilderDemo.tsx rename to applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.tsx index e0199ce4d1..0509d57481 100644 --- a/src/components/formBuilder/demo/FormBuilderDemo.tsx +++ b/applications/browser-extension/src/components/formBuilder/demo/FormBuilderDemo.tsx @@ -18,12 +18,12 @@ import styles from "./FormBuilderDemo.module.scss"; import React, { useState } from "react"; -import FormEditor from "@/components/formBuilder/edit/FormEditor"; -import FormIntroFields from "@/components/formBuilder/edit/FormIntroFields"; +import FormEditor from "../edit/FormEditor"; +import FormIntroFields from "../edit/FormIntroFields"; import FormPreview from "../preview/FormPreview"; import { useField } from "formik"; -import { type RJSFSchema } from "@/components/formBuilder/formBuilderTypes"; -import FORM_FIELD_TYPE_OPTIONS from "@/pageEditor/fields/formFieldTypeOptions"; +import { type RJSFSchema } from "../formBuilderTypes"; +import FORM_FIELD_TYPE_OPTIONS from "../../../pageEditor/fields/formFieldTypeOptions"; /** * Demo component that shows the form editor and preview side by side, for use with Storybook and diff --git a/src/components/formBuilder/edit/ActiveField.tsx b/applications/browser-extension/src/components/formBuilder/edit/ActiveField.tsx similarity index 88% rename from src/components/formBuilder/edit/ActiveField.tsx rename to applications/browser-extension/src/components/formBuilder/edit/ActiveField.tsx index 094ebaf870..7152b08a66 100644 --- a/src/components/formBuilder/edit/ActiveField.tsx +++ b/applications/browser-extension/src/components/formBuilder/edit/ActiveField.tsx @@ -2,15 +2,15 @@ import React from "react"; import { type SelectStringOption, type SetActiveField, -} from "@/components/formBuilder/formBuilderTypes"; +} from "../formBuilderTypes"; import FieldEditor from "./FieldEditor"; import { moveStringInArray, getNormalizedUiOrder, -} from "@/components/formBuilder/formBuilderHelpers"; -import { type Schema } from "@/types/schemaTypes"; -import FieldTemplate from "@/components/form/FieldTemplate"; -import LayoutWidget from "@/components/LayoutWidget"; +} from "../formBuilderHelpers"; +import { type Schema } from "../../../types/schemaTypes"; +import FieldTemplate from "../../form/FieldTemplate"; +import LayoutWidget from "../../LayoutWidget"; import { findLast } from "lodash"; import { type FormikErrors } from "formik"; diff --git a/src/components/formBuilder/edit/FieldEditor.module.scss b/applications/browser-extension/src/components/formBuilder/edit/FieldEditor.module.scss similarity index 100% rename from src/components/formBuilder/edit/FieldEditor.module.scss rename to applications/browser-extension/src/components/formBuilder/edit/FieldEditor.module.scss diff --git a/src/components/formBuilder/edit/FieldEditor.tsx b/applications/browser-extension/src/components/formBuilder/edit/FieldEditor.tsx similarity index 92% rename from src/components/formBuilder/edit/FieldEditor.tsx rename to applications/browser-extension/src/components/formBuilder/edit/FieldEditor.tsx index 50dd76068b..80925c2373 100644 --- a/src/components/formBuilder/edit/FieldEditor.tsx +++ b/applications/browser-extension/src/components/formBuilder/edit/FieldEditor.tsx @@ -22,8 +22,8 @@ import { type RJSFSchema, type SelectStringOption, type SetActiveField, -} from "@/components/formBuilder/formBuilderTypes"; -import { UI_WIDGET } from "@/components/formBuilder/schemaFieldNames"; +} from "../formBuilderTypes"; +import { UI_WIDGET } from "../schemaFieldNames"; import { FIELD_TYPES_WITHOUT_DEFAULT, parseUiType, @@ -34,30 +34,30 @@ import { type UiType, type UiTypeExtra, validateNextPropertyName, -} from "@/components/formBuilder/formBuilderHelpers"; -import FieldTemplate from "@/components/form/FieldTemplate"; +} from "../formBuilderHelpers"; +import FieldTemplate from "../../form/FieldTemplate"; import { produce } from "immer"; import SelectWidget, { type SelectWidgetOnChange, -} from "@/components/form/widgets/SelectWidget"; +} from "../../form/widgets/SelectWidget"; import SwitchButtonWidget, { type CheckBoxLike, -} from "@/components/form/widgets/switchButton/SwitchButtonWidget"; +} from "../../form/widgets/switchButton/SwitchButtonWidget"; import { uniq, partial } from "lodash"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import databaseSchema from "@schemas/database.json"; -import googleSheetIdSchema from "@schemas/googleSheetId.json"; +import { type SchemaFieldProps } from "../../fields/schemaFields/propTypes"; +import SchemaField from "../../fields/schemaFields/SchemaField"; +import databaseSchema from "../../../../schemas/database.json"; +import googleSheetIdSchema from "../../../../schemas/googleSheetId.json"; import { isDatabaseField, isGoogleSheetIdField, -} from "@/components/fields/schemaFields/fieldTypeCheckers"; -import { type Schema, type SchemaPropertyType } from "@/types/schemaTypes"; -import { AnnotationType } from "@/types/annotationTypes"; -import { isNullOrBlank } from "@/utils/stringUtils"; +} from "../../fields/schemaFields/fieldTypeCheckers"; +import { type Schema, type SchemaPropertyType } from "../../../types/schemaTypes"; +import { AnnotationType } from "../../../types/annotationTypes"; +import { isNullOrBlank } from "../../../utils/stringUtils"; import { Collapse } from "react-bootstrap"; -import { joinName, joinPathParts } from "@/utils/formUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { joinName, joinPathParts } from "../../../utils/formUtils"; +import { assertNotNullish } from "../../../utils/nullishUtils"; const imageForCroppingSourceSchema: Schema = { type: "string", diff --git a/src/components/formBuilder/edit/FormEditor.test.tsx b/applications/browser-extension/src/components/formBuilder/edit/FormEditor.test.tsx similarity index 96% rename from src/components/formBuilder/edit/FormEditor.test.tsx rename to applications/browser-extension/src/components/formBuilder/edit/FormEditor.test.tsx index ddd56b0d90..67e511e8bd 100644 --- a/src/components/formBuilder/edit/FormEditor.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/edit/FormEditor.test.tsx @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { type Schema, type UiSchema } from "@/types/schemaTypes"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { type Schema, type UiSchema } from "../../../types/schemaTypes"; +import { waitForEffect } from "../../../testUtils/testHelpers"; import testItRenders, { type ItRendersOptions, -} from "@/testUtils/testItRenders"; +} from "../../../testUtils/testItRenders"; import { fireEvent, render, screen, userEvent, within, -} from "@/pageEditor/testHelpers"; +} from "../../../pageEditor/testHelpers"; import React from "react"; import { type Except } from "type-fest"; import { @@ -34,18 +34,18 @@ import { fireTextInput, fireFormSubmit, selectSchemaFieldInputMode, -} from "@/testUtils/formHelpers"; -import { type RJSFSchema } from "@/components/formBuilder/formBuilderTypes"; +} from "../../../testUtils/formHelpers"; +import { type RJSFSchema } from "../formBuilderTypes"; import FormEditor, { type FormEditorProps } from "./FormEditor"; import { initAddingFieldCases, initOneFieldSchemaCase, initRenamingCases, -} from "@/components/formBuilder/testHelpers"; +} from "../testHelpers"; import selectEvent from "react-select-event"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import FORM_FIELD_TYPE_OPTIONS from "@/pageEditor/fields/formFieldTypeOptions"; -import { toExpression } from "@/utils/expressionUtils"; +import registerDefaultWidgets from "../../fields/schemaFields/widgets/registerDefaultWidgets"; +import FORM_FIELD_TYPE_OPTIONS from "../../../pageEditor/fields/formFieldTypeOptions"; +import { toExpression } from "../../../utils/expressionUtils"; import { remove } from "lodash"; const RJSF_SCHEMA_PROPERTY_NAME = "rjsfSchema"; diff --git a/src/components/formBuilder/edit/FormEditor.tsx b/applications/browser-extension/src/components/formBuilder/edit/FormEditor.tsx similarity index 94% rename from src/components/formBuilder/edit/FormEditor.tsx rename to applications/browser-extension/src/components/formBuilder/edit/FormEditor.tsx index 2c4370d2fe..e6755c4572 100644 --- a/src/components/formBuilder/edit/FormEditor.tsx +++ b/applications/browser-extension/src/components/formBuilder/edit/FormEditor.tsx @@ -21,7 +21,7 @@ import { type RJSFSchema, type SelectStringOption, type SetActiveField, -} from "@/components/formBuilder/formBuilderTypes"; +} from "../formBuilderTypes"; import { Button } from "react-bootstrap"; import { DEFAULT_FIELD_TYPE, @@ -29,15 +29,15 @@ import { normalizeSchema, getNormalizedUiOrder, replaceStringInArray, -} from "@/components/formBuilder/formBuilderHelpers"; -import { UI_ORDER } from "@/components/formBuilder/schemaFieldNames"; +} from "../formBuilderHelpers"; +import { UI_ORDER } from "../schemaFieldNames"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPlus, faTrash } from "@fortawesome/free-solid-svg-icons"; -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../../types/schemaTypes"; import { produce } from "immer"; -import { joinName } from "@/utils/formUtils"; +import { joinName } from "../../../utils/formUtils"; import { ActiveField } from "./ActiveField"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { assertNotNullish } from "../../../utils/nullishUtils"; export type FormEditorProps = { /** diff --git a/src/components/formBuilder/edit/FormIntroFields.tsx b/applications/browser-extension/src/components/formBuilder/edit/FormIntroFields.tsx similarity index 89% rename from src/components/formBuilder/edit/FormIntroFields.tsx rename to applications/browser-extension/src/components/formBuilder/edit/FormIntroFields.tsx index 2d8578a589..41a6d1d12a 100644 --- a/src/components/formBuilder/edit/FormIntroFields.tsx +++ b/applications/browser-extension/src/components/formBuilder/edit/FormIntroFields.tsx @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import { joinName } from "@/utils/formUtils"; +import SchemaField from "../../fields/schemaFields/SchemaField"; +import { type SchemaFieldProps } from "../../fields/schemaFields/propTypes"; +import { joinName } from "../../../utils/formUtils"; import React, { useMemo } from "react"; /** diff --git a/src/components/formBuilder/edit/__snapshots__/FormEditor.test.tsx.snap b/applications/browser-extension/src/components/formBuilder/edit/__snapshots__/FormEditor.test.tsx.snap similarity index 100% rename from src/components/formBuilder/edit/__snapshots__/FormEditor.test.tsx.snap rename to applications/browser-extension/src/components/formBuilder/edit/__snapshots__/FormEditor.test.tsx.snap diff --git a/src/components/formBuilder/formBuilderHelpers.test.ts b/applications/browser-extension/src/components/formBuilder/formBuilderHelpers.test.ts similarity index 97% rename from src/components/formBuilder/formBuilderHelpers.test.ts rename to applications/browser-extension/src/components/formBuilder/formBuilderHelpers.test.ts index cbc2ddcdce..731639ede9 100644 --- a/src/components/formBuilder/formBuilderHelpers.test.ts +++ b/applications/browser-extension/src/components/formBuilder/formBuilderHelpers.test.ts @@ -29,13 +29,13 @@ import { import { type RJSFSchema } from "./formBuilderTypes"; import { initRenamingCases } from "./testHelpers"; import { UI_WIDGET } from "./schemaFieldNames"; -import databaseSchema from "@schemas/database.json"; -import googleSheetSchema from "@schemas/googleSheetId.json"; -import { KEYS_OF_UI_SCHEMA, type Schema } from "@/types/schemaTypes"; +import databaseSchema from "../../../schemas/database.json"; +import googleSheetSchema from "../../../schemas/googleSheetId.json"; +import { KEYS_OF_UI_SCHEMA, type Schema } from "../../types/schemaTypes"; import { minimalSchemaFactory, minimalUiSchemaFactory, -} from "@/utils/schemaUtils"; +} from "../../utils/schemaUtils"; describe("replaceStringInArray", () => { let array: string[]; diff --git a/src/components/formBuilder/formBuilderHelpers.ts b/applications/browser-extension/src/components/formBuilder/formBuilderHelpers.ts similarity index 96% rename from src/components/formBuilder/formBuilderHelpers.ts rename to applications/browser-extension/src/components/formBuilder/formBuilderHelpers.ts index a938d1f473..6ca77edab3 100644 --- a/src/components/formBuilder/formBuilderHelpers.ts +++ b/applications/browser-extension/src/components/formBuilder/formBuilderHelpers.ts @@ -18,18 +18,18 @@ import { type RJSFSchema } from "./formBuilderTypes"; import { UI_ORDER, UI_WIDGET } from "./schemaFieldNames"; import { type Draft, produce } from "immer"; -import databaseSchema from "@schemas/database.json"; -import googleSheetSchema from "@schemas/googleSheetId.json"; +import databaseSchema from "../../../schemas/database.json"; +import googleSheetSchema from "../../../schemas/googleSheetId.json"; import { compact } from "lodash"; import { KEYS_OF_UI_SCHEMA, type Schema, type SchemaDefinition, type SchemaPropertyType, -} from "@/types/schemaTypes"; -import { type SafeString } from "@/types/stringTypes"; -import { freshIdentifier } from "@/utils/variableUtils"; -import { minimalSchemaFactory } from "@/utils/schemaUtils"; +} from "../../types/schemaTypes"; +import { type SafeString } from "../../types/stringTypes"; +import { freshIdentifier } from "../../utils/variableUtils"; +import { minimalSchemaFactory } from "../../utils/schemaUtils"; export const DEFAULT_FIELD_TYPE = "string"; diff --git a/src/components/formBuilder/formBuilderTypes.ts b/applications/browser-extension/src/components/formBuilder/formBuilderTypes.ts similarity index 93% rename from src/components/formBuilder/formBuilderTypes.ts rename to applications/browser-extension/src/components/formBuilder/formBuilderTypes.ts index 555bc02220..16ed8ecbf7 100644 --- a/src/components/formBuilder/formBuilderTypes.ts +++ b/applications/browser-extension/src/components/formBuilder/formBuilderTypes.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { type Schema, type UiSchema } from "../../types/schemaTypes"; export type RJSFSchema = { schema?: Schema; diff --git a/src/components/formBuilder/preview/FormPreview.test.tsx b/applications/browser-extension/src/components/formBuilder/preview/FormPreview.test.tsx similarity index 97% rename from src/components/formBuilder/preview/FormPreview.test.tsx rename to applications/browser-extension/src/components/formBuilder/preview/FormPreview.test.tsx index dc3b3e3766..6bb1679334 100644 --- a/src/components/formBuilder/preview/FormPreview.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/preview/FormPreview.test.tsx @@ -17,10 +17,10 @@ import testItRenders, { type ItRendersOptions, -} from "@/testUtils/testItRenders"; +} from "../../../testUtils/testItRenders"; import { type Except } from "type-fest"; import FormPreview, { type FormPreviewProps } from "./FormPreview"; -import { type Schema, type UiSchema } from "@/types/schemaTypes"; +import { type Schema, type UiSchema } from "../../../types/schemaTypes"; import { render, screen } from "@testing-library/react"; import React from "react"; diff --git a/src/components/formBuilder/preview/FormPreview.tsx b/applications/browser-extension/src/components/formBuilder/preview/FormPreview.tsx similarity index 88% rename from src/components/formBuilder/preview/FormPreview.tsx rename to applications/browser-extension/src/components/formBuilder/preview/FormPreview.tsx index 2a87dc537f..47f44fd711 100644 --- a/src/components/formBuilder/preview/FormPreview.tsx +++ b/applications/browser-extension/src/components/formBuilder/preview/FormPreview.tsx @@ -19,31 +19,31 @@ import React, { useCallback, useEffect, useMemo, useState } from "react"; import JsonSchemaForm from "@rjsf/bootstrap-4"; -import validator from "@/validators/formValidator"; +import validator from "../../../validators/formValidator"; import { type FieldTemplateProps } from "@rjsf/utils"; import { type IChangeEvent } from "@rjsf/core"; import { type RJSFSchema, type SetActiveField, -} from "@/components/formBuilder/formBuilderTypes"; +} from "../formBuilderTypes"; import { UI_SCHEMA_ACTIVE, UI_WIDGET, -} from "@/components/formBuilder/schemaFieldNames"; +} from "../schemaFieldNames"; import { produce } from "immer"; -import { unwrapTemplateExpressions } from "@/components/fields/fieldUtils"; -import ImageCropWidgetPreview from "@/components/formBuilder/preview/ImageCropWidgetPreview"; -import DescriptionField from "@/components/formBuilder/DescriptionField"; -import RjsfSelectWidget from "@/components/formBuilder/widgets/RjsfSelectWidget"; +import { unwrapTemplateExpressions } from "../../fields/fieldUtils"; +import ImageCropWidgetPreview from "./ImageCropWidgetPreview"; +import DescriptionField from "../DescriptionField"; +import RjsfSelectWidget from "../widgets/RjsfSelectWidget"; import FormPreviewSchemaField from "./FormPreviewSchemaField"; -import databaseSchema from "@schemas/database.json"; -import googleSheetSchema from "@schemas/googleSheetId.json"; +import databaseSchema from "../../../../schemas/database.json"; +import googleSheetSchema from "../../../../schemas/googleSheetId.json"; import { type Draft } from "immer"; -import { KEYS_OF_UI_SCHEMA, type Schema } from "@/types/schemaTypes"; -import { templates } from "@/components/formBuilder/RjsfTemplates"; -import FieldTemplate from "@/components/formBuilder/FieldTemplate"; +import { KEYS_OF_UI_SCHEMA, type Schema } from "../../../types/schemaTypes"; +import { templates } from "../RjsfTemplates"; +import FieldTemplate from "../FieldTemplate"; import { cloneDeep } from "lodash"; -import RichTextWidget from "@/components/formBuilder/widgets/RichTextWidget"; +import RichTextWidget from "../widgets/RichTextWidget"; export type FormPreviewProps = { rjsfSchema: RJSFSchema; diff --git a/src/components/formBuilder/preview/FormPreviewSchemaField.tsx b/applications/browser-extension/src/components/formBuilder/preview/FormPreviewSchemaField.tsx similarity index 97% rename from src/components/formBuilder/preview/FormPreviewSchemaField.tsx rename to applications/browser-extension/src/components/formBuilder/preview/FormPreviewSchemaField.tsx index f368e4a472..4ade19ad3b 100644 --- a/src/components/formBuilder/preview/FormPreviewSchemaField.tsx +++ b/applications/browser-extension/src/components/formBuilder/preview/FormPreviewSchemaField.tsx @@ -18,7 +18,7 @@ import { getDefaultRegistry } from "@rjsf/core"; import { type FieldProps } from "@rjsf/utils"; import React from "react"; -import { type SchemaDefinition } from "@/types/schemaTypes"; +import { type SchemaDefinition } from "../../../types/schemaTypes"; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Loose types const RjsfSchemaField = getDefaultRegistry().fields.SchemaField!; diff --git a/src/components/formBuilder/preview/ImageCropWidgetPreview.tsx b/applications/browser-extension/src/components/formBuilder/preview/ImageCropWidgetPreview.tsx similarity index 100% rename from src/components/formBuilder/preview/ImageCropWidgetPreview.tsx rename to applications/browser-extension/src/components/formBuilder/preview/ImageCropWidgetPreview.tsx diff --git a/src/components/formBuilder/preview/__snapshots__/FormPreview.test.tsx.snap b/applications/browser-extension/src/components/formBuilder/preview/__snapshots__/FormPreview.test.tsx.snap similarity index 100% rename from src/components/formBuilder/preview/__snapshots__/FormPreview.test.tsx.snap rename to applications/browser-extension/src/components/formBuilder/preview/__snapshots__/FormPreview.test.tsx.snap diff --git a/src/components/formBuilder/schemaFieldNames.ts b/applications/browser-extension/src/components/formBuilder/schemaFieldNames.ts similarity index 100% rename from src/components/formBuilder/schemaFieldNames.ts rename to applications/browser-extension/src/components/formBuilder/schemaFieldNames.ts diff --git a/src/components/formBuilder/testHelpers.ts b/applications/browser-extension/src/components/formBuilder/testHelpers.ts similarity index 99% rename from src/components/formBuilder/testHelpers.ts rename to applications/browser-extension/src/components/formBuilder/testHelpers.ts index 9deec13ccd..8cb586a235 100644 --- a/src/components/formBuilder/testHelpers.ts +++ b/applications/browser-extension/src/components/formBuilder/testHelpers.ts @@ -2,7 +2,7 @@ import { type RJSFSchema } from "./formBuilderTypes"; import { minimalSchemaFactory, minimalUiSchemaFactory, -} from "@/utils/schemaUtils"; +} from "../../utils/schemaUtils"; export const initOneFieldSchemaCase: (fieldName: string) => RJSFSchema = ( fieldName = "firstName", diff --git a/src/components/formBuilder/widgets/ImageCropWidget.tsx b/applications/browser-extension/src/components/formBuilder/widgets/ImageCropWidget.tsx similarity index 100% rename from src/components/formBuilder/widgets/ImageCropWidget.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/ImageCropWidget.tsx diff --git a/src/components/formBuilder/widgets/RichTextWidget.test.tsx b/applications/browser-extension/src/components/formBuilder/widgets/RichTextWidget.test.tsx similarity index 97% rename from src/components/formBuilder/widgets/RichTextWidget.test.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/RichTextWidget.test.tsx index af250384f1..b589c7f3e8 100644 --- a/src/components/formBuilder/widgets/RichTextWidget.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/widgets/RichTextWidget.test.tsx @@ -20,8 +20,8 @@ import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import CustomFormComponent, { type CustomFormComponentProps, -} from "@/bricks/renderers/CustomFormComponent"; -import { type Schema } from "@/types/schemaTypes"; +} from "../../../bricks/renderers/CustomFormComponent"; +import { type Schema } from "../../../types/schemaTypes"; describe("RichTextWidget", () => { const user = userEvent.setup({ diff --git a/src/components/formBuilder/widgets/RichTextWidget.tsx b/applications/browser-extension/src/components/formBuilder/widgets/RichTextWidget.tsx similarity index 94% rename from src/components/formBuilder/widgets/RichTextWidget.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/RichTextWidget.tsx index 08ab1fcbda..2a72a2fb45 100644 --- a/src/components/formBuilder/widgets/RichTextWidget.tsx +++ b/applications/browser-extension/src/components/formBuilder/widgets/RichTextWidget.tsx @@ -17,7 +17,7 @@ import React from "react"; import { type WidgetProps } from "@rjsf/utils"; -import RichTextEditor from "@/components/richTextEditor/RichTextEditor"; +import RichTextEditor from "../../richTextEditor/RichTextEditor"; const RichTextWidget: React.FunctionComponent = ({ id, diff --git a/src/components/formBuilder/widgets/RjsfSelectWidget.test.tsx b/applications/browser-extension/src/components/formBuilder/widgets/RjsfSelectWidget.test.tsx similarity index 94% rename from src/components/formBuilder/widgets/RjsfSelectWidget.test.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/RjsfSelectWidget.test.tsx index 78cad1bdf1..8723a1be68 100644 --- a/src/components/formBuilder/widgets/RjsfSelectWidget.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/widgets/RjsfSelectWidget.test.tsx @@ -16,9 +16,9 @@ */ import React from "react"; -import { render } from "@/sidebar/testHelpers"; -import CustomFormComponent from "@/bricks/renderers/CustomFormComponent"; -import type { Schema } from "@/types/schemaTypes"; +import { render } from "../../../sidebar/testHelpers"; +import CustomFormComponent from "../../../bricks/renderers/CustomFormComponent"; +import type { Schema } from "../../../types/schemaTypes"; import selectEvent from "react-select-event"; import { act, screen } from "@testing-library/react"; diff --git a/src/components/formBuilder/widgets/RjsfSelectWidget.tsx b/applications/browser-extension/src/components/formBuilder/widgets/RjsfSelectWidget.tsx similarity index 100% rename from src/components/formBuilder/widgets/RjsfSelectWidget.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/RjsfSelectWidget.tsx diff --git a/src/components/formBuilder/widgets/TextAreaWidget.module.scss b/applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.module.scss similarity index 100% rename from src/components/formBuilder/widgets/TextAreaWidget.module.scss rename to applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.module.scss diff --git a/src/components/formBuilder/widgets/TextAreaWidget.test.tsx b/applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.test.tsx similarity index 96% rename from src/components/formBuilder/widgets/TextAreaWidget.test.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.test.tsx index c27b66f54d..b871630ff2 100644 --- a/src/components/formBuilder/widgets/TextAreaWidget.test.tsx +++ b/applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.test.tsx @@ -16,9 +16,9 @@ */ import React from "react"; -import TextAreaWidget from "@/components/formBuilder/widgets/TextAreaWidget"; -import { render, screen } from "@/sidebar/testHelpers"; -import RjsfSubmitContext from "@/components/formBuilder/RjsfSubmitContext"; +import TextAreaWidget from "./TextAreaWidget"; +import { render, screen } from "../../../sidebar/testHelpers"; +import RjsfSubmitContext from "../RjsfSubmitContext"; import userEvent from "@testing-library/user-event"; describe("TextAreaWidget", () => { diff --git a/src/components/formBuilder/widgets/TextAreaWidget.tsx b/applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.tsx similarity index 95% rename from src/components/formBuilder/widgets/TextAreaWidget.tsx rename to applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.tsx index c3aa198e55..faf9d5296a 100644 --- a/src/components/formBuilder/widgets/TextAreaWidget.tsx +++ b/applications/browser-extension/src/components/formBuilder/widgets/TextAreaWidget.tsx @@ -24,12 +24,12 @@ import React, { } from "react"; import { type WidgetProps } from "@rjsf/utils"; import { isNumber } from "lodash"; -import RjsfSubmitContext from "@/components/formBuilder/RjsfSubmitContext"; +import RjsfSubmitContext from "../RjsfSubmitContext"; import { Button } from "react-bootstrap"; import styles from "./TextAreaWidget.module.scss"; import cx from "classnames"; -import Icon from "@/icons/Icon"; -import { type IconValue } from "@/components/fields/IconWidget"; +import Icon from "../../../icons/Icon"; +import { type IconValue } from "../../fields/IconWidget"; type SubmitToolbar = | { diff --git a/src/components/imagePlaceholder/ImagePlaceholder.stories.tsx b/applications/browser-extension/src/components/imagePlaceholder/ImagePlaceholder.stories.tsx similarity index 93% rename from src/components/imagePlaceholder/ImagePlaceholder.stories.tsx rename to applications/browser-extension/src/components/imagePlaceholder/ImagePlaceholder.stories.tsx index 82e0883a33..3ada625a5a 100644 --- a/src/components/imagePlaceholder/ImagePlaceholder.stories.tsx +++ b/applications/browser-extension/src/components/imagePlaceholder/ImagePlaceholder.stories.tsx @@ -18,7 +18,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import ImagePlaceholder from "@/components/imagePlaceholder/ImagePlaceholder"; +import ImagePlaceholder from "./ImagePlaceholder"; export default { title: "Components/ImagePlaceholder", diff --git a/src/components/imagePlaceholder/ImagePlaceholder.tsx b/applications/browser-extension/src/components/imagePlaceholder/ImagePlaceholder.tsx similarity index 100% rename from src/components/imagePlaceholder/ImagePlaceholder.tsx rename to applications/browser-extension/src/components/imagePlaceholder/ImagePlaceholder.tsx diff --git a/src/components/integrations/AuthWidget.module.scss b/applications/browser-extension/src/components/integrations/AuthWidget.module.scss similarity index 100% rename from src/components/integrations/AuthWidget.module.scss rename to applications/browser-extension/src/components/integrations/AuthWidget.module.scss diff --git a/src/components/integrations/AuthWidget.test.tsx b/applications/browser-extension/src/components/integrations/AuthWidget.test.tsx similarity index 88% rename from src/components/integrations/AuthWidget.test.tsx rename to applications/browser-extension/src/components/integrations/AuthWidget.test.tsx index 89bc4a117e..080d6a9787 100644 --- a/src/components/integrations/AuthWidget.test.tsx +++ b/applications/browser-extension/src/components/integrations/AuthWidget.test.tsx @@ -16,28 +16,28 @@ */ import React from "react"; -import { render } from "@/extensionConsole/testHelpers"; -import AuthWidget from "@/components/integrations/AuthWidget"; -import { generateIntegrationAndRemoteConfig } from "@/testUtils/factories/integrationFactories"; -import { appApiMock } from "@/testUtils/appApiMock"; +import { render } from "../../extensionConsole/testHelpers"; +import AuthWidget from "./AuthWidget"; +import { generateIntegrationAndRemoteConfig } from "../../testUtils/factories/integrationFactories"; +import { appApiMock } from "../../testUtils/appApiMock"; import { screen, waitFor, waitForElementToBeRemoved, within, } from "@testing-library/react"; -import { type AuthOption } from "@/auth/authTypes"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; +import { type AuthOption } from "../../auth/authTypes"; +import { uuidSequence } from "../../testUtils/factories/stringFactories"; import selectEvent from "react-select-event"; -import { refreshRegistries } from "@/hooks/useRefreshRegistries"; -import { clear, find, syncPackages } from "@/registry/packageRegistry"; -import { integrationConfigLocator, registry } from "@/background/messenger/api"; -import { refreshIntegrationConfigs } from "@/background/integrationConfigLocator"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { refreshRegistries } from "../../hooks/useRefreshRegistries"; +import { clear, find, syncPackages } from "../../registry/packageRegistry"; +import { integrationConfigLocator, registry } from "../../background/messenger/api"; +import { refreshIntegrationConfigs } from "../../background/integrationConfigLocator"; +import registerDefaultWidgets from "../fields/schemaFields/widgets/registerDefaultWidgets"; import { produce } from "immer"; -import { userEvent } from "@/pageEditor/testHelpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { API_PATHS } from "@/data/service/urlPaths"; +import { userEvent } from "../../pageEditor/testHelpers"; +import { waitForEffect } from "../../testUtils/testHelpers"; +import { API_PATHS } from "../../data/service/urlPaths"; const { remoteConfig, integrationDefinition } = generateIntegrationAndRemoteConfig(); diff --git a/src/components/integrations/AuthWidget.tsx b/applications/browser-extension/src/components/integrations/AuthWidget.tsx similarity index 85% rename from src/components/integrations/AuthWidget.tsx rename to applications/browser-extension/src/components/integrations/AuthWidget.tsx index fbe3f91038..b8f1626d5a 100644 --- a/src/components/integrations/AuthWidget.tsx +++ b/applications/browser-extension/src/components/integrations/AuthWidget.tsx @@ -16,42 +16,42 @@ */ import React, { useCallback, useContext, useMemo, useState } from "react"; -import IntegrationAuthSelector from "@/integrations/components/IntegrationAuthSelector"; -import { type AuthOption } from "@/auth/authTypes"; +import IntegrationAuthSelector from "../../integrations/components/IntegrationAuthSelector"; +import { type AuthOption } from "../../auth/authTypes"; import { useField } from "formik"; import { useDispatch, useSelector } from "react-redux"; -import registry from "@/integrations/registry"; -import { uuidv4 } from "@/types/helpers"; -import { integrationConfigLocator } from "@/background/messenger/api"; +import registry from "../../integrations/registry"; +import { uuidv4 } from "../../types/helpers"; +import { integrationConfigLocator } from "../../background/messenger/api"; import { Button } from "react-bootstrap"; -import IntegrationConfigEditorModal from "@/components/integrations/IntegrationConfigEditorModal"; +import IntegrationConfigEditorModal from "./IntegrationConfigEditorModal"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPlus, faSync } from "@fortawesome/free-solid-svg-icons"; -import integrationsSlice from "@/integrations/store/integrationsSlice"; -import notify from "@/utils/notify"; -import createMenuListWithAddButton from "@/components/form/widgets/createMenuListWithAddButton"; -import useAuthorizationGrantFlow from "@/hooks/useAuthorizationGrantFlow"; +import integrationsSlice from "../../integrations/store/integrationsSlice"; +import notify from "../../utils/notify"; +import createMenuListWithAddButton from "../form/widgets/createMenuListWithAddButton"; +import useAuthorizationGrantFlow from "../../hooks/useAuthorizationGrantFlow"; import styles from "./AuthWidget.module.scss"; -import ReduxPersistenceContext from "@/store/ReduxPersistenceContext"; -import { type RegistryId } from "@/types/registryTypes"; -import { type SafeString, type UUID } from "@/types/stringTypes"; +import ReduxPersistenceContext from "../../store/ReduxPersistenceContext"; +import { type RegistryId } from "../../types/registryTypes"; +import { type SafeString, type UUID } from "../../types/stringTypes"; import { type Integration, type IntegrationConfig, -} from "@/integrations/integrationTypes"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { sanitizeIntegrationConfig } from "@/integrations/sanitizeIntegrationConfig"; +} from "../../integrations/integrationTypes"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; +import { sanitizeIntegrationConfig } from "../../integrations/sanitizeIntegrationConfig"; import { curry } from "lodash"; import { autoConfigurations, autoConfigureIntegration, -} from "@/integrations/autoConfigure"; -import { freshIdentifier } from "@/utils/variableUtils"; -import { selectIntegrationConfigs } from "@/integrations/store/integrationsSelectors"; -import useAsyncState from "@/hooks/useAsyncState"; -import AsyncStateGate from "@/components/AsyncStateGate"; -import { convertSchemaToConfigState } from "@/components/integrations/integrationHelpers"; +} from "../../integrations/autoConfigure"; +import { freshIdentifier } from "../../utils/variableUtils"; +import { selectIntegrationConfigs } from "../../integrations/store/integrationsSelectors"; +import useAsyncState from "../../hooks/useAsyncState"; +import AsyncStateGate from "../AsyncStateGate"; +import { convertSchemaToConfigState } from "./integrationHelpers"; const { upsertIntegrationConfig, deleteIntegrationConfig } = integrationsSlice.actions; diff --git a/src/components/integrations/IntegrationConfigEditorModal.module.scss b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.module.scss similarity index 100% rename from src/components/integrations/IntegrationConfigEditorModal.module.scss rename to applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.module.scss diff --git a/src/components/integrations/IntegrationConfigEditorModal.stories.tsx b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.stories.tsx similarity index 80% rename from src/components/integrations/IntegrationConfigEditorModal.stories.tsx rename to applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.stories.tsx index 2ec8f3a5a7..e7bb84f544 100644 --- a/src/components/integrations/IntegrationConfigEditorModal.stories.tsx +++ b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.stories.tsx @@ -19,14 +19,14 @@ import React, { type ComponentProps } from "react"; import { type ComponentMeta, type Story } from "@storybook/react"; import IntegrationConfigEditorModal from "./IntegrationConfigEditorModal"; import { action } from "@storybook/addon-actions"; -import { fromJS } from "@/integrations/UserDefinedIntegration"; -import { dumpBrickYaml, loadBrickYaml } from "@/runtime/brickYaml"; -import { type IntegrationDefinition } from "@/integrations/integrationTypes"; +import { fromJS } from "../../integrations/UserDefinedIntegration"; +import { dumpBrickYaml, loadBrickYaml } from "../../runtime/brickYaml"; +import { type IntegrationDefinition } from "../../integrations/integrationTypes"; -import pipedriveYaml from "@contrib/integrations/pipedrive.yaml?loadAsText"; -import automationAnywhereYaml from "@contrib/integrations/automation-anywhere.yaml?loadAsText"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { settingsStore } from "@/testUtils/storyUtils"; +import pipedriveYaml from "../../../contrib/integrations/pipedrive.yaml?loadAsText"; +import automationAnywhereYaml from "../../../contrib/integrations/automation-anywhere.yaml?loadAsText"; +import registerDefaultWidgets from "../fields/schemaFields/widgets/registerDefaultWidgets"; +import { settingsStore } from "../../testUtils/storyUtils"; import { Provider } from "react-redux"; const FIXTURES = { diff --git a/src/components/integrations/IntegrationConfigEditorModal.test.tsx b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.test.tsx similarity index 79% rename from src/components/integrations/IntegrationConfigEditorModal.test.tsx rename to applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.test.tsx index fdd8bd04f6..dd639d4674 100644 --- a/src/components/integrations/IntegrationConfigEditorModal.test.tsx +++ b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.test.tsx @@ -16,19 +16,19 @@ */ import React from "react"; -import { fromJS } from "@/integrations/UserDefinedIntegration"; -import IntegrationConfigEditorModal from "@/components/integrations/IntegrationConfigEditorModal"; -import { render, screen } from "@/extensionConsole/testHelpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { fromJS } from "../../integrations/UserDefinedIntegration"; +import IntegrationConfigEditorModal from "./IntegrationConfigEditorModal"; +import { render, screen } from "../../extensionConsole/testHelpers"; +import { waitForEffect } from "../../testUtils/testHelpers"; // FIXME: Use ?loadAsText when supported by Jest https://github.com/jestjs/jest/pull/6282 -import pipedriveYaml from "@contrib/integrations/pipedrive.yaml"; -import automationAnywhereYaml from "@contrib/integrations/automation-anywhere.yaml"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type IntegrationConfig } from "@/integrations/integrationTypes"; +import pipedriveYaml from "../../../contrib/integrations/pipedrive.yaml"; +import automationAnywhereYaml from "../../../contrib/integrations/automation-anywhere.yaml"; +import registerDefaultWidgets from "../fields/schemaFields/widgets/registerDefaultWidgets"; +import { type IntegrationConfig } from "../../integrations/integrationTypes"; import { within } from "@testing-library/react"; -import { fieldLabel } from "@/components/fields/fieldUtils"; -import { convertSchemaToConfigState } from "@/components/integrations/integrationHelpers"; +import { fieldLabel } from "../fields/fieldUtils"; +import { convertSchemaToConfigState } from "./integrationHelpers"; import userEvent from "@testing-library/user-event"; beforeAll(() => { diff --git a/src/components/integrations/IntegrationConfigEditorModal.tsx b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.tsx similarity index 88% rename from src/components/integrations/IntegrationConfigEditorModal.tsx rename to applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.tsx index 270c11b233..2091ccb6fd 100644 --- a/src/components/integrations/IntegrationConfigEditorModal.tsx +++ b/applications/browser-extension/src/components/integrations/IntegrationConfigEditorModal.tsx @@ -17,37 +17,37 @@ import styles from "./IntegrationConfigEditorModal.module.scss"; -import optionsRegistry from "@/components/fields/optionsRegistry"; +import optionsRegistry from "../fields/optionsRegistry"; import React, { useCallback, useMemo } from "react"; import { Button, Modal } from "react-bootstrap"; -import AsyncButton from "@/components/AsyncButton"; +import AsyncButton from "../AsyncButton"; import { truncate } from "lodash"; import genericOptionsFactory, { type BrickOptionProps, -} from "@/components/fields/schemaFields/genericOptionsFactory"; -import useSetDocumentTitle from "@/hooks/useSetDocumentTitle"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; +} from "../fields/schemaFields/genericOptionsFactory"; +import useSetDocumentTitle from "../../hooks/useSetDocumentTitle"; +import ConnectedFieldTemplate from "../form/ConnectedFieldTemplate"; import FieldRuntimeContext, { type RuntimeContext, -} from "@/components/fields/schemaFields/FieldRuntimeContext"; +} from "../fields/schemaFields/FieldRuntimeContext"; import Form, { type OnSubmit, type RenderBody, type RenderSubmit, -} from "@/components/form/Form"; +} from "../form/Form"; import { type Integration, type IntegrationConfig, -} from "@/integrations/integrationTypes"; -import { type UUID } from "@/types/stringTypes"; -import { DEFAULT_RUNTIME_API_VERSION } from "@/runtime/apiVersionOptions"; -import useAsyncState from "@/hooks/useAsyncState"; -import AsyncStateGate from "@/components/AsyncStateGate"; +} from "../../integrations/integrationTypes"; +import { type UUID } from "../../types/stringTypes"; +import { DEFAULT_RUNTIME_API_VERSION } from "../../runtime/apiVersionOptions"; +import useAsyncState from "../../hooks/useAsyncState"; +import AsyncStateGate from "../AsyncStateGate"; import type * as Yup from "yup"; import { createYupValidationSchema, validateIntegrationConfig, -} from "@/components/integrations/integrationHelpers"; +} from "./integrationHelpers"; export type IntegrationConfigEditorModalProps = { /** diff --git a/src/components/integrations/integrationHelpers.test.ts b/applications/browser-extension/src/components/integrations/integrationHelpers.test.ts similarity index 97% rename from src/components/integrations/integrationHelpers.test.ts rename to applications/browser-extension/src/components/integrations/integrationHelpers.test.ts index 1602aa3edd..5cedf6f3a7 100644 --- a/src/components/integrations/integrationHelpers.test.ts +++ b/applications/browser-extension/src/components/integrations/integrationHelpers.test.ts @@ -18,7 +18,7 @@ import { convertInstanceLocationToFormikPath, convertSchemaErrorsToFormikErrors, -} from "@/components/integrations/integrationHelpers"; +} from "./integrationHelpers"; import { type OutputUnit } from "@cfworker/json-schema"; describe("integrationHelpers", () => { diff --git a/src/components/integrations/integrationHelpers.ts b/applications/browser-extension/src/components/integrations/integrationHelpers.ts similarity index 94% rename from src/components/integrations/integrationHelpers.ts rename to applications/browser-extension/src/components/integrations/integrationHelpers.ts index 833f0f0054..a39df887de 100644 --- a/src/components/integrations/integrationHelpers.ts +++ b/applications/browser-extension/src/components/integrations/integrationHelpers.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { getValidationErrMessages } from "@/components/fields/fieldUtils"; +import { getValidationErrMessages } from "../fields/fieldUtils"; import { type IntegrationConfig, type Integration, -} from "@/integrations/integrationTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { isRequired } from "@/utils/schemaUtils"; +} from "../../integrations/integrationTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { isRequired } from "../../utils/schemaUtils"; import { dereferenceForYup, validateIntegrationConfiguration, -} from "@/validators/schemaValidator"; +} from "../../validators/schemaValidator"; import { type FormikValues, type FormikErrors } from "formik"; import { cloneDeep, set } from "lodash"; import { buildYup } from "schema-to-yup"; diff --git a/src/components/isolatedComponentList.d.ts b/applications/browser-extension/src/components/isolatedComponentList.d.ts similarity index 100% rename from src/components/isolatedComponentList.d.ts rename to applications/browser-extension/src/components/isolatedComponentList.d.ts diff --git a/src/components/isolatedComponentList.mjs b/applications/browser-extension/src/components/isolatedComponentList.mjs similarity index 100% rename from src/components/isolatedComponentList.mjs rename to applications/browser-extension/src/components/isolatedComponentList.mjs diff --git a/src/components/jsonTree/JsonTree.module.scss b/applications/browser-extension/src/components/jsonTree/JsonTree.module.scss similarity index 100% rename from src/components/jsonTree/JsonTree.module.scss rename to applications/browser-extension/src/components/jsonTree/JsonTree.module.scss diff --git a/src/components/jsonTree/JsonTree.stories.tsx b/applications/browser-extension/src/components/jsonTree/JsonTree.stories.tsx similarity index 100% rename from src/components/jsonTree/JsonTree.stories.tsx rename to applications/browser-extension/src/components/jsonTree/JsonTree.stories.tsx diff --git a/src/components/jsonTree/JsonTree.test.tsx b/applications/browser-extension/src/components/jsonTree/JsonTree.test.tsx similarity index 99% rename from src/components/jsonTree/JsonTree.test.tsx rename to applications/browser-extension/src/components/jsonTree/JsonTree.test.tsx index f1b81a9a32..487d8a0252 100644 --- a/src/components/jsonTree/JsonTree.test.tsx +++ b/applications/browser-extension/src/components/jsonTree/JsonTree.test.tsx @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { searchData } from "@/components/jsonTree/JsonTree"; +import { searchData } from "./JsonTree"; type SearchDataTestCase = { name: string; diff --git a/src/components/jsonTree/JsonTree.tsx b/applications/browser-extension/src/components/jsonTree/JsonTree.tsx similarity index 96% rename from src/components/jsonTree/JsonTree.tsx rename to applications/browser-extension/src/components/jsonTree/JsonTree.tsx index 46a95bdf8b..2bffc6016e 100644 --- a/src/components/jsonTree/JsonTree.tsx +++ b/applications/browser-extension/src/components/jsonTree/JsonTree.tsx @@ -16,7 +16,7 @@ */ import { type CommonExternalProps, JSONTree } from "react-json-tree"; -import { jsonTreeTheme as theme } from "@/themes/light"; +import { jsonTreeTheme as theme } from "../../themes/light"; import React, { type ReactNode, useCallback, @@ -25,8 +25,8 @@ import React, { useState, } from "react"; import { useDebounce } from "use-debounce"; -import FieldTemplate from "@/components/form/FieldTemplate"; -import Loader from "@/components/Loader"; +import FieldTemplate from "../form/FieldTemplate"; +import Loader from "../Loader"; import { useLabelRenderer } from "./treeHooks"; import { get, @@ -44,11 +44,11 @@ import { type Styling, type Theme } from "react-base16-styling"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCode } from "@fortawesome/free-solid-svg-icons"; import cx from "classnames"; -import notify from "@/utils/notify"; +import notify from "../../utils/notify"; import safeJsonStringify from "json-stringify-safe"; import styles from "./JsonTree.module.scss"; -import AsyncButton from "@/components/AsyncButton"; -import { writeToClipboard } from "@/utils/clipboardUtils"; +import AsyncButton from "../AsyncButton"; +import { writeToClipboard } from "../../utils/clipboardUtils"; const SEARCH_DEBOUNCE_MS = 100; diff --git a/src/components/jsonTree/treeHooks.tsx b/applications/browser-extension/src/components/jsonTree/treeHooks.tsx similarity index 91% rename from src/components/jsonTree/treeHooks.tsx rename to applications/browser-extension/src/components/jsonTree/treeHooks.tsx index 5c9ed9ac57..9ed70775a2 100644 --- a/src/components/jsonTree/treeHooks.tsx +++ b/applications/browser-extension/src/components/jsonTree/treeHooks.tsx @@ -18,12 +18,12 @@ import React, { useCallback } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCopy } from "@fortawesome/free-solid-svg-icons"; -import notify from "@/utils/notify"; +import notify from "../../utils/notify"; import styles from "./JsonTree.module.scss"; import cx from "classnames"; -import { getPathFromArray } from "@/runtime/pathHelpers"; -import AsyncButton from "@/components/AsyncButton"; -import { writeToClipboard } from "@/utils/clipboardUtils"; +import { getPathFromArray } from "../../runtime/pathHelpers"; +import AsyncButton from "../AsyncButton"; +import { writeToClipboard } from "../../utils/clipboardUtils"; export function useLabelRenderer() { // https://github.com/reduxjs/redux-devtools/blob/85b4b0fb04b1d6d95054d5073fa17fa61efc0df3/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx diff --git a/src/components/logViewer/EntryRow.module.scss b/applications/browser-extension/src/components/logViewer/EntryRow.module.scss similarity index 100% rename from src/components/logViewer/EntryRow.module.scss rename to applications/browser-extension/src/components/logViewer/EntryRow.module.scss diff --git a/src/components/logViewer/EntryRow.tsx b/applications/browser-extension/src/components/logViewer/EntryRow.tsx similarity index 90% rename from src/components/logViewer/EntryRow.tsx rename to applications/browser-extension/src/components/logViewer/EntryRow.tsx index 54b74c6e9a..2af5bf29e0 100644 --- a/src/components/logViewer/EntryRow.tsx +++ b/applications/browser-extension/src/components/logViewer/EntryRow.tsx @@ -16,13 +16,13 @@ */ import React, { useMemo, useState } from "react"; -import type { LogEntry } from "@/telemetry/logging"; +import type { LogEntry } from "../../telemetry/logging"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCaretDown, faCaretRight } from "@fortawesome/free-solid-svg-icons"; -import { isErrorObject } from "@/errors/errorHelpers"; -import InputDetail from "@/components/logViewer/details/InputDetail"; -import OutputDetail from "@/components/logViewer/details/OutputDetail"; -import getErrorDetails from "@/components/errors/getErrorDetails"; +import { isErrorObject } from "../../errors/errorHelpers"; +import InputDetail from "./details/InputDetail"; +import OutputDetail from "./details/OutputDetail"; +import getErrorDetails from "../errors/getErrorDetails"; import styles from "./EntryRow.module.scss"; import cx from "classnames"; diff --git a/src/components/logViewer/LogCard.test.tsx b/applications/browser-extension/src/components/logViewer/LogCard.test.tsx similarity index 100% rename from src/components/logViewer/LogCard.test.tsx rename to applications/browser-extension/src/components/logViewer/LogCard.test.tsx diff --git a/src/components/logViewer/LogCard.tsx b/applications/browser-extension/src/components/logViewer/LogCard.tsx similarity index 84% rename from src/components/logViewer/LogCard.tsx rename to applications/browser-extension/src/components/logViewer/LogCard.tsx index 366074436a..40b100115b 100644 --- a/src/components/logViewer/LogCard.tsx +++ b/applications/browser-extension/src/components/logViewer/LogCard.tsx @@ -16,17 +16,17 @@ */ import React, { useState } from "react"; -import { type MessageLevel } from "@/telemetry/logging"; -import Loader from "@/components/Loader"; +import { type MessageLevel } from "../../telemetry/logging"; +import Loader from "../Loader"; import { Card } from "react-bootstrap"; -import LogTable from "@/components/logViewer/LogTable"; -import LogToolbar from "@/components/logViewer/LogToolbar"; -import useLogEntriesView from "@/components/logViewer/useLogEntriesView"; +import LogTable from "./LogTable"; +import LogToolbar from "./LogToolbar"; +import useLogEntriesView from "./useLogEntriesView"; import { useDispatch, useSelector } from "react-redux"; import { selectLogs } from "./logSelectors"; import { logActions } from "./logSlice"; -import { ErrorDisplay } from "@/layout/ErrorDisplay"; -import { type AppDispatch } from "@/extensionConsole/store"; +import { ErrorDisplay } from "../../layout/ErrorDisplay"; +import { type AppDispatch } from "../../extensionConsole/store"; type OwnProps = { initialLevel?: MessageLevel; diff --git a/src/components/logViewer/LogTable.module.scss b/applications/browser-extension/src/components/logViewer/LogTable.module.scss similarity index 100% rename from src/components/logViewer/LogTable.module.scss rename to applications/browser-extension/src/components/logViewer/LogTable.module.scss diff --git a/src/components/logViewer/LogTable.stories.tsx b/applications/browser-extension/src/components/logViewer/LogTable.stories.tsx similarity index 91% rename from src/components/logViewer/LogTable.stories.tsx rename to applications/browser-extension/src/components/logViewer/LogTable.stories.tsx index 1450618242..e572638ac5 100644 --- a/src/components/logViewer/LogTable.stories.tsx +++ b/applications/browser-extension/src/components/logViewer/LogTable.stories.tsx @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { ContextError } from "@/errors/genericErrors"; +import { ContextError } from "../../errors/genericErrors"; import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import { validateRegistryId, uuidv4 } from "@/types/helpers"; -import LogTable from "@/components/logViewer/LogTable"; +import { validateRegistryId, uuidv4 } from "../../types/helpers"; +import LogTable from "./LogTable"; import { serializeError } from "serialize-error"; import { Card } from "react-bootstrap"; -import { InputValidationError } from "@/bricks/errors"; -import { type Schema } from "@/types/schemaTypes"; -import type { LogEntry } from "@/telemetry/logging"; +import { InputValidationError } from "../../bricks/errors"; +import { type Schema } from "../../types/schemaTypes"; +import type { LogEntry } from "../../telemetry/logging"; export default { title: "Editor/LogTable", diff --git a/src/components/logViewer/LogTable.tsx b/applications/browser-extension/src/components/logViewer/LogTable.tsx similarity index 93% rename from src/components/logViewer/LogTable.tsx rename to applications/browser-extension/src/components/logViewer/LogTable.tsx index 42d2b02575..b768a0b31c 100644 --- a/src/components/logViewer/LogTable.tsx +++ b/applications/browser-extension/src/components/logViewer/LogTable.tsx @@ -17,8 +17,8 @@ import React from "react"; import { Table } from "react-bootstrap"; -import type { LogEntry } from "@/telemetry/logging"; -import EntryRow from "@/components/logViewer/EntryRow"; +import type { LogEntry } from "../../telemetry/logging"; +import EntryRow from "./EntryRow"; import styles from "./LogTable.module.scss"; const LogTable: React.FunctionComponent<{ diff --git a/src/components/logViewer/LogToolbar.stories.tsx b/applications/browser-extension/src/components/logViewer/LogToolbar.stories.tsx similarity index 100% rename from src/components/logViewer/LogToolbar.stories.tsx rename to applications/browser-extension/src/components/logViewer/LogToolbar.stories.tsx diff --git a/src/components/logViewer/LogToolbar.tsx b/applications/browser-extension/src/components/logViewer/LogToolbar.tsx similarity index 94% rename from src/components/logViewer/LogToolbar.tsx rename to applications/browser-extension/src/components/logViewer/LogToolbar.tsx index 216f8dae4e..d19a8ca9a8 100644 --- a/src/components/logViewer/LogToolbar.tsx +++ b/applications/browser-extension/src/components/logViewer/LogToolbar.tsx @@ -17,13 +17,13 @@ // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Form } from "react-bootstrap"; -import type { MessageLevel } from "@/telemetry/logging"; +import type { MessageLevel } from "../../telemetry/logging"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faSync, faTrash } from "@fortawesome/free-solid-svg-icons"; import React, { useCallback } from "react"; -import notify from "@/utils/notify"; -import AsyncButton from "@/components/AsyncButton"; -import Pagination from "@/components/pagination/Pagination"; +import notify from "../../utils/notify"; +import AsyncButton from "../AsyncButton"; +import Pagination from "../pagination/Pagination"; const defaultLevelOptions = ["debug", "info", "warn", "error"] as const; diff --git a/src/components/logViewer/__snapshots__/LogCard.test.tsx.snap b/applications/browser-extension/src/components/logViewer/__snapshots__/LogCard.test.tsx.snap similarity index 100% rename from src/components/logViewer/__snapshots__/LogCard.test.tsx.snap rename to applications/browser-extension/src/components/logViewer/__snapshots__/LogCard.test.tsx.snap diff --git a/src/components/logViewer/details/InputDetail.tsx b/applications/browser-extension/src/components/logViewer/details/InputDetail.tsx similarity index 92% rename from src/components/logViewer/details/InputDetail.tsx rename to applications/browser-extension/src/components/logViewer/details/InputDetail.tsx index 1769cdaa8b..96ce466bb7 100644 --- a/src/components/logViewer/details/InputDetail.tsx +++ b/applications/browser-extension/src/components/logViewer/details/InputDetail.tsx @@ -16,9 +16,9 @@ */ import React from "react"; -import { type LogEntry } from "@/telemetry/logging"; +import { type LogEntry } from "../../../telemetry/logging"; import { Col, Row } from "react-bootstrap"; -import JsonTree from "@/components/jsonTree/JsonTree"; +import JsonTree from "../../jsonTree/JsonTree"; import { type SetRequired } from "type-fest"; const InputDetail: React.FunctionComponent<{ diff --git a/src/components/logViewer/details/OutputDetail.tsx b/applications/browser-extension/src/components/logViewer/details/OutputDetail.tsx similarity index 90% rename from src/components/logViewer/details/OutputDetail.tsx rename to applications/browser-extension/src/components/logViewer/details/OutputDetail.tsx index 0bf9669663..7ad9e197df 100644 --- a/src/components/logViewer/details/OutputDetail.tsx +++ b/applications/browser-extension/src/components/logViewer/details/OutputDetail.tsx @@ -16,8 +16,8 @@ */ import React from "react"; -import { type LogEntry } from "@/telemetry/logging"; -import JsonTree from "@/components/jsonTree/JsonTree"; +import { type LogEntry } from "../../../telemetry/logging"; +import JsonTree from "../../jsonTree/JsonTree"; import { type SetRequired } from "type-fest"; const OutputDetail: React.FunctionComponent<{ diff --git a/src/components/logViewer/logSelectors.ts b/applications/browser-extension/src/components/logViewer/logSelectors.ts similarity index 100% rename from src/components/logViewer/logSelectors.ts rename to applications/browser-extension/src/components/logViewer/logSelectors.ts diff --git a/src/components/logViewer/logSlice.ts b/applications/browser-extension/src/components/logViewer/logSlice.ts similarity index 96% rename from src/components/logViewer/logSlice.ts rename to applications/browser-extension/src/components/logViewer/logSlice.ts index af63f117ce..308ab39d4d 100644 --- a/src/components/logViewer/logSlice.ts +++ b/applications/browser-extension/src/components/logViewer/logSlice.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { clearLog, getLogEntries, type LogEntry } from "@/telemetry/logging"; -import { type MessageContext } from "@/types/loggerTypes"; +import { clearLog, getLogEntries, type LogEntry } from "../../telemetry/logging"; +import { type MessageContext } from "../../types/loggerTypes"; import { type ActionReducerMapBuilder, type AnyAction, diff --git a/src/components/logViewer/logViewerTypes.ts b/applications/browser-extension/src/components/logViewer/logViewerTypes.ts similarity index 91% rename from src/components/logViewer/logViewerTypes.ts rename to applications/browser-extension/src/components/logViewer/logViewerTypes.ts index 792b29c357..4e79d5d066 100644 --- a/src/components/logViewer/logViewerTypes.ts +++ b/applications/browser-extension/src/components/logViewer/logViewerTypes.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { type LogEntry } from "@/telemetry/logging"; -import { type MessageContext } from "@/types/loggerTypes"; +import { type LogEntry } from "../../telemetry/logging"; +import { type MessageContext } from "../../types/loggerTypes"; export type LogState = { /** diff --git a/src/components/logViewer/useLogEntriesView.ts b/applications/browser-extension/src/components/logViewer/useLogEntriesView.ts similarity index 93% rename from src/components/logViewer/useLogEntriesView.ts rename to applications/browser-extension/src/components/logViewer/useLogEntriesView.ts index ac269becdd..22aa74f7c9 100644 --- a/src/components/logViewer/useLogEntriesView.ts +++ b/applications/browser-extension/src/components/logViewer/useLogEntriesView.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { LOG_LEVELS, type MessageLevel } from "@/telemetry/logging"; +import { LOG_LEVELS, type MessageLevel } from "../../telemetry/logging"; import { useMemo } from "react"; -import { selectLogs } from "@/components/logViewer/logSelectors"; +import { selectLogs } from "./logSelectors"; import { useSelector } from "react-redux"; type Config = { diff --git a/src/components/logViewer/usePollModLogs.ts b/applications/browser-extension/src/components/logViewer/usePollModLogs.ts similarity index 96% rename from src/components/logViewer/usePollModLogs.ts rename to applications/browser-extension/src/components/logViewer/usePollModLogs.ts index 12ce4035e8..a7f4bb2429 100644 --- a/src/components/logViewer/usePollModLogs.ts +++ b/applications/browser-extension/src/components/logViewer/usePollModLogs.ts @@ -20,7 +20,7 @@ import { logActions, type LogDispatch, stopPollLogs, -} from "@/components/logViewer/logSlice"; +} from "./logSlice"; import { useDispatch } from "react-redux"; /** diff --git a/src/components/onboarding/OnboardingChecklistCard.module.scss b/applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.module.scss similarity index 100% rename from src/components/onboarding/OnboardingChecklistCard.module.scss rename to applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.module.scss diff --git a/src/components/onboarding/OnboardingChecklistCard.stories.tsx b/applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.stories.tsx similarity index 96% rename from src/components/onboarding/OnboardingChecklistCard.stories.tsx rename to applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.stories.tsx index 0f43c9175c..6cdd6c40f3 100644 --- a/src/components/onboarding/OnboardingChecklistCard.stories.tsx +++ b/applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.stories.tsx @@ -19,7 +19,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; import OnboardingChecklistCard, { OnboardingStep, -} from "@/components/onboarding/OnboardingChecklistCard"; +} from "./OnboardingChecklistCard"; export default { title: "Components/OnboardingChecklistCard", diff --git a/src/components/onboarding/OnboardingChecklistCard.tsx b/applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.tsx similarity index 98% rename from src/components/onboarding/OnboardingChecklistCard.tsx rename to applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.tsx index c32b86970d..43d0449c3d 100644 --- a/src/components/onboarding/OnboardingChecklistCard.tsx +++ b/applications/browser-extension/src/components/onboarding/OnboardingChecklistCard.tsx @@ -20,7 +20,7 @@ import { faCheck } from "@fortawesome/free-solid-svg-icons"; import { Card, ListGroup } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import styles from "./OnboardingChecklistCard.module.scss"; -import Loader from "@/components/Loader"; +import Loader from "../Loader"; import cx from "classnames"; export const OnboardingStep: React.FunctionComponent< diff --git a/src/components/packageSearchModal/PackageDetail.tsx b/applications/browser-extension/src/components/packageSearchModal/PackageDetail.tsx similarity index 88% rename from src/components/packageSearchModal/PackageDetail.tsx rename to applications/browser-extension/src/components/packageSearchModal/PackageDetail.tsx index 7f54020cc6..78f6e918c2 100644 --- a/src/components/packageSearchModal/PackageDetail.tsx +++ b/applications/browser-extension/src/components/packageSearchModal/PackageDetail.tsx @@ -1,12 +1,12 @@ import React from "react"; -import { type MarketplaceListing } from "@/types/contract"; +import { type MarketplaceListing } from "../../types/contract"; import { Button } from "react-bootstrap"; -import PackageIcon from "@/components/PackageIcon"; +import PackageIcon from "../PackageIcon"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons"; -import SchemaTree from "@/components/schemaTree/SchemaTree"; -import { type PackageInstance } from "@/types/registryTypes"; -import { MARKETPLACE_URL } from "@/urlConstants"; +import SchemaTree from "../schemaTree/SchemaTree"; +import { type PackageInstance } from "../../types/registryTypes"; +import { MARKETPLACE_URL } from "../../urlConstants"; type PackageDetailProps = { packageInstance: Instance; diff --git a/src/components/packageSearchModal/PackageResult.tsx b/applications/browser-extension/src/components/packageSearchModal/PackageResult.tsx similarity index 91% rename from src/components/packageSearchModal/PackageResult.tsx rename to applications/browser-extension/src/components/packageSearchModal/PackageResult.tsx index 38e2a14f3d..c27c4d4152 100644 --- a/src/components/packageSearchModal/PackageResult.tsx +++ b/applications/browser-extension/src/components/packageSearchModal/PackageResult.tsx @@ -20,10 +20,10 @@ import { Button, ListGroup } from "react-bootstrap"; import cx from "classnames"; // TODO: Refactor to properly share styles across components (e.g. full component inheritance); // the "packageEditor/referenceTab/PackageResult" component probably doesn't expect to also affect a global component -import styles from "@/extensionConsole/pages/packageEditor/referenceTab/PackageResult.module.scss"; -import PackageIcon from "@/components/PackageIcon"; -import { OfficialBadge } from "@/components/OfficialBadge"; -import { type PackageInstance } from "@/types/registryTypes"; +import styles from "../../extensionConsole/pages/packageEditor/referenceTab/PackageResult.module.scss"; +import PackageIcon from "../PackageIcon"; +import { OfficialBadge } from "../OfficialBadge"; +import { type PackageInstance } from "../../types/registryTypes"; type PackageResultProps = { packageInstance: Instance; diff --git a/src/components/packageSearchModal/PackageSearchModal.module.scss b/applications/browser-extension/src/components/packageSearchModal/PackageSearchModal.module.scss similarity index 100% rename from src/components/packageSearchModal/PackageSearchModal.module.scss rename to applications/browser-extension/src/components/packageSearchModal/PackageSearchModal.module.scss diff --git a/src/components/packageSearchModal/PackageSearchModal.tsx b/applications/browser-extension/src/components/packageSearchModal/PackageSearchModal.tsx similarity index 95% rename from src/components/packageSearchModal/PackageSearchModal.tsx rename to applications/browser-extension/src/components/packageSearchModal/PackageSearchModal.tsx index 0aa1fb65d2..961dac5c90 100644 --- a/src/components/packageSearchModal/PackageSearchModal.tsx +++ b/applications/browser-extension/src/components/packageSearchModal/PackageSearchModal.tsx @@ -33,7 +33,7 @@ import { } from "react-bootstrap"; import { compact, sortBy } from "lodash"; import { useDebounce } from "use-debounce"; -import { useGetMarketplaceListingsQuery } from "@/data/service/api"; +import { useGetMarketplaceListingsQuery } from "../../data/service/api"; import Fuse from "fuse.js"; import { FixedSizeList as LazyList } from "react-window"; import AutoSizer, { type Size } from "react-virtualized-auto-sizer"; @@ -44,13 +44,13 @@ import { type Except } from "type-fest"; import cx from "classnames"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPlus } from "@fortawesome/free-solid-svg-icons"; -import useAutoFocusConfiguration from "@/hooks/useAutoFocusConfiguration"; -import { type PackageInstance, type RegistryId } from "@/types/registryTypes"; -import { type Brick } from "@/types/brickTypes"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import useOnMountOnly from "@/hooks/useOnMountOnly"; -import { freeze } from "@/utils/objectUtils"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import useAutoFocusConfiguration from "../../hooks/useAutoFocusConfiguration"; +import { type PackageInstance, type RegistryId } from "../../types/registryTypes"; +import { type Brick } from "../../types/brickTypes"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import useOnMountOnly from "../../hooks/useOnMountOnly"; +import { freeze } from "../../utils/objectUtils"; +import { assertNotNullish } from "../../utils/nullishUtils"; type PackageOption = { data: Instance; diff --git a/src/components/packageSearchModal/QuickAdd.module.scss b/applications/browser-extension/src/components/packageSearchModal/QuickAdd.module.scss similarity index 100% rename from src/components/packageSearchModal/QuickAdd.module.scss rename to applications/browser-extension/src/components/packageSearchModal/QuickAdd.module.scss diff --git a/src/components/packageSearchModal/QuickAdd.tsx b/applications/browser-extension/src/components/packageSearchModal/QuickAdd.tsx similarity index 94% rename from src/components/packageSearchModal/QuickAdd.tsx rename to applications/browser-extension/src/components/packageSearchModal/QuickAdd.tsx index e9500189a6..b4ced38be7 100644 --- a/src/components/packageSearchModal/QuickAdd.tsx +++ b/applications/browser-extension/src/components/packageSearchModal/QuickAdd.tsx @@ -19,9 +19,9 @@ import styles from "./QuickAdd.module.scss"; import React from "react"; import { Card } from "react-bootstrap"; -import PackageIcon from "@/components/PackageIcon"; +import PackageIcon from "../PackageIcon"; import cx from "classnames"; -import { type PackageInstance } from "@/types/registryTypes"; +import { type PackageInstance } from "../../types/registryTypes"; type OwnProps = { onSelect: (packageInstance: Instance) => void; diff --git a/src/components/paginatedTable/PaginatedTable.module.scss b/applications/browser-extension/src/components/paginatedTable/PaginatedTable.module.scss similarity index 100% rename from src/components/paginatedTable/PaginatedTable.module.scss rename to applications/browser-extension/src/components/paginatedTable/PaginatedTable.module.scss diff --git a/src/components/paginatedTable/PaginatedTable.test.tsx b/applications/browser-extension/src/components/paginatedTable/PaginatedTable.test.tsx similarity index 93% rename from src/components/paginatedTable/PaginatedTable.test.tsx rename to applications/browser-extension/src/components/paginatedTable/PaginatedTable.test.tsx index a06b6b2a77..a0c485f61d 100644 --- a/src/components/paginatedTable/PaginatedTable.test.tsx +++ b/applications/browser-extension/src/components/paginatedTable/PaginatedTable.test.tsx @@ -17,10 +17,10 @@ import React from "react"; import { render, screen } from "@testing-library/react"; -import PaginatedTable from "@/components/paginatedTable/PaginatedTable"; +import PaginatedTable from "./PaginatedTable"; import { type Column } from "react-table"; import { MemoryRouter } from "react-router"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { waitForEffect } from "../../testUtils/testHelpers"; describe("initialRecord", () => { it("renders empty table", () => { diff --git a/src/components/paginatedTable/PaginatedTable.tsx b/applications/browser-extension/src/components/paginatedTable/PaginatedTable.tsx similarity index 100% rename from src/components/paginatedTable/PaginatedTable.tsx rename to applications/browser-extension/src/components/paginatedTable/PaginatedTable.tsx diff --git a/src/components/pagination/Pagination.stories.tsx b/applications/browser-extension/src/components/pagination/Pagination.stories.tsx similarity index 100% rename from src/components/pagination/Pagination.stories.tsx rename to applications/browser-extension/src/components/pagination/Pagination.stories.tsx diff --git a/src/components/pagination/Pagination.test.tsx b/applications/browser-extension/src/components/pagination/Pagination.test.tsx similarity index 100% rename from src/components/pagination/Pagination.test.tsx rename to applications/browser-extension/src/components/pagination/Pagination.test.tsx diff --git a/src/components/pagination/Pagination.tsx b/applications/browser-extension/src/components/pagination/Pagination.tsx similarity index 100% rename from src/components/pagination/Pagination.tsx rename to applications/browser-extension/src/components/pagination/Pagination.tsx diff --git a/src/components/pagination/__snapshots__/Pagination.test.tsx.snap b/applications/browser-extension/src/components/pagination/__snapshots__/Pagination.test.tsx.snap similarity index 100% rename from src/components/pagination/__snapshots__/Pagination.test.tsx.snap rename to applications/browser-extension/src/components/pagination/__snapshots__/Pagination.test.tsx.snap diff --git a/src/components/quickBar/QuickBarApp.module.scss b/applications/browser-extension/src/components/quickBar/QuickBarApp.module.scss similarity index 100% rename from src/components/quickBar/QuickBarApp.module.scss rename to applications/browser-extension/src/components/quickBar/QuickBarApp.module.scss diff --git a/src/components/quickBar/QuickBarApp.test.tsx b/applications/browser-extension/src/components/quickBar/QuickBarApp.test.tsx similarity index 93% rename from src/components/quickBar/QuickBarApp.test.tsx rename to applications/browser-extension/src/components/quickBar/QuickBarApp.test.tsx index c6be0b70a0..8231b58b31 100644 --- a/src/components/quickBar/QuickBarApp.test.tsx +++ b/applications/browser-extension/src/components/quickBar/QuickBarApp.test.tsx @@ -20,16 +20,16 @@ import { render, act, screen } from "@testing-library/react"; import { QUICKBAR_EVENT_NAME, QuickBarApp, -} from "@/components/quickBar/QuickBarApp"; +} from "./QuickBarApp"; import React from "react"; import { mockAnimationsApi } from "jsdom-testing-mocks"; -import selectionController from "@/utils/selectionController"; +import selectionController from "../../utils/selectionController"; import userEvent from "@testing-library/user-event"; -import quickBarRegistry from "@/components/quickBar/quickBarRegistry"; -import { type ActionGenerator } from "@/components/quickBar/quickbarTypes"; +import quickBarRegistry from "./quickBarRegistry"; +import { type ActionGenerator } from "./quickbarTypes"; // Could alternatively mock the internal calls, but this is easier if we trust the component -jest.mock("@/components/Stylesheets", () => ({ +jest.mock("../Stylesheets", () => ({ __esModule: true, Stylesheets({ children }: any) { return <>{children}; @@ -47,7 +47,7 @@ jest.mock("kbar", () => { }; }); -jest.mock("@/utils/selectionController"); +jest.mock("../../utils/selectionController"); // TODO: fix tests so they properly handle shadow dom events jest.mock("react-shadow/emotion", () => ({ diff --git a/src/components/quickBar/QuickBarApp.tsx b/applications/browser-extension/src/components/quickBar/QuickBarApp.tsx similarity index 100% rename from src/components/quickBar/QuickBarApp.tsx rename to applications/browser-extension/src/components/quickBar/QuickBarApp.tsx diff --git a/src/components/quickBar/QuickBarResults.tsx b/applications/browser-extension/src/components/quickBar/QuickBarResults.tsx similarity index 97% rename from src/components/quickBar/QuickBarResults.tsx rename to applications/browser-extension/src/components/quickBar/QuickBarResults.tsx index 43e021d4e2..6b19187ac8 100644 --- a/src/components/quickBar/QuickBarResults.tsx +++ b/applications/browser-extension/src/components/quickBar/QuickBarResults.tsx @@ -18,8 +18,8 @@ import React, { forwardRef, useMemo } from "react"; import { type ActionId, type ActionImpl, KBarResults, useMatches } from "kbar"; import { theme, groupNameStyle } from "./quickBarTheme"; -import { useGetActionNameAndIcon } from "@/components/quickBar/utils"; -import { type Nullishable } from "@/utils/nullishUtils"; +import { useGetActionNameAndIcon } from "./utils"; +import { type Nullishable } from "../../utils/nullishUtils"; const ResultItem = forwardRef( ( diff --git a/src/components/quickBar/__snapshots__/QuickBarApp.test.tsx.snap b/applications/browser-extension/src/components/quickBar/__snapshots__/QuickBarApp.test.tsx.snap similarity index 100% rename from src/components/quickBar/__snapshots__/QuickBarApp.test.tsx.snap rename to applications/browser-extension/src/components/quickBar/__snapshots__/QuickBarApp.test.tsx.snap diff --git a/src/components/quickBar/defaultActions.tsx b/applications/browser-extension/src/components/quickBar/defaultActions.tsx similarity index 92% rename from src/components/quickBar/defaultActions.tsx rename to applications/browser-extension/src/components/quickBar/defaultActions.tsx index f06772d0c6..9510a0f6fc 100644 --- a/src/components/quickBar/defaultActions.tsx +++ b/applications/browser-extension/src/components/quickBar/defaultActions.tsx @@ -26,10 +26,10 @@ import { faUsers, } from "@fortawesome/free-solid-svg-icons"; import { faSlack } from "@fortawesome/free-brands-svg-icons"; -import { DEFAULT_SERVICE_URL, MARKETPLACE_URL } from "@/urlConstants"; -import { Events } from "@/telemetry/events"; -import reportEvent from "@/telemetry/reportEvent"; -import showWalkthroughModal from "@/components/walkthroughModal/showWalkthroughModal"; +import { DEFAULT_SERVICE_URL, MARKETPLACE_URL } from "../../urlConstants"; +import { Events } from "../../telemetry/events"; +import reportEvent from "../../telemetry/reportEvent"; +import showWalkthroughModal from "../walkthroughModal/showWalkthroughModal"; const PIXIEBRIX_SECTION = "PixieBrix"; diff --git a/src/components/quickBar/quickBarRegistry.ts b/applications/browser-extension/src/components/quickBar/quickBarRegistry.ts similarity index 95% rename from src/components/quickBar/quickBarRegistry.ts rename to applications/browser-extension/src/components/quickBar/quickBarRegistry.ts index 4f59cf6dc0..32db001333 100644 --- a/src/components/quickBar/quickBarRegistry.ts +++ b/applications/browser-extension/src/components/quickBar/quickBarRegistry.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { type RegistryId } from "@/types/registryTypes"; +import { type UUID } from "../../types/stringTypes"; +import { type RegistryId } from "../../types/registryTypes"; import { pull, remove } from "lodash"; import { type ActionGenerator, type GeneratorArgs, -} from "@/components/quickBar/quickbarTypes"; -import { allSettled } from "@/utils/promiseUtils"; +} from "./quickbarTypes"; +import { allSettled } from "../../utils/promiseUtils"; import { ReusableAbortController } from "abort-utils"; import type { CustomAction, QuickBarProtocol, -} from "@/platform/platformTypes/quickBarProtocol"; -import { SimpleEventTarget } from "@/utils/SimpleEventTarget"; +} from "../../platform/platformTypes/quickBarProtocol"; +import { SimpleEventTarget } from "../../utils/SimpleEventTarget"; class QuickBarRegistry implements QuickBarProtocol { /** diff --git a/src/components/quickBar/quickBarTheme.tsx b/applications/browser-extension/src/components/quickBar/quickBarTheme.tsx similarity index 100% rename from src/components/quickBar/quickBarTheme.tsx rename to applications/browser-extension/src/components/quickBar/quickBarTheme.tsx diff --git a/src/components/quickBar/quickbarTypes.ts b/applications/browser-extension/src/components/quickBar/quickbarTypes.ts similarity index 100% rename from src/components/quickBar/quickbarTypes.ts rename to applications/browser-extension/src/components/quickBar/quickbarTypes.ts diff --git a/src/components/quickBar/useActionGenerators.test.tsx b/applications/browser-extension/src/components/quickBar/useActionGenerators.test.tsx similarity index 82% rename from src/components/quickBar/useActionGenerators.test.tsx rename to applications/browser-extension/src/components/quickBar/useActionGenerators.test.tsx index 05a9741229..cac39bca4e 100644 --- a/src/components/quickBar/useActionGenerators.test.tsx +++ b/applications/browser-extension/src/components/quickBar/useActionGenerators.test.tsx @@ -17,12 +17,12 @@ import React from "react"; import { renderHook } from "@testing-library/react-hooks"; -import useActionGenerators from "@/components/quickBar/useActionGenerators"; -import quickBarRegistry from "@/components/quickBar/quickBarRegistry"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import useActionGenerators from "./useActionGenerators"; +import quickBarRegistry from "./quickBarRegistry"; +import { waitForEffect } from "../../testUtils/testHelpers"; import { KBarProvider } from "kbar"; -jest.mock("@/components/quickBar/quickBarRegistry"); +jest.mock("./quickBarRegistry"); describe("useActionGenerators", () => { it("generates once on mount", async () => { diff --git a/src/components/quickBar/useActionGenerators.ts b/applications/browser-extension/src/components/quickBar/useActionGenerators.ts similarity index 94% rename from src/components/quickBar/useActionGenerators.ts rename to applications/browser-extension/src/components/quickBar/useActionGenerators.ts index f6242c1b6a..3e06577ed4 100644 --- a/src/components/quickBar/useActionGenerators.ts +++ b/applications/browser-extension/src/components/quickBar/useActionGenerators.ts @@ -17,8 +17,8 @@ import { useKBar } from "kbar"; import { useEffect, useRef } from "react"; -import quickBarRegistry from "@/components/quickBar/quickBarRegistry"; -import useDebouncedEffect from "@/hooks/useDebouncedEffect"; +import quickBarRegistry from "./quickBarRegistry"; +import useDebouncedEffect from "../../hooks/useDebouncedEffect"; /** * QuickBar Hook for automatically updating QuickBar actions when the search query or root action changes. diff --git a/src/components/quickBar/useActions.test.tsx b/applications/browser-extension/src/components/quickBar/useActions.test.tsx similarity index 88% rename from src/components/quickBar/useActions.test.tsx rename to applications/browser-extension/src/components/quickBar/useActions.test.tsx index dcf658d0af..3a8b83bd14 100644 --- a/src/components/quickBar/useActions.test.tsx +++ b/applications/browser-extension/src/components/quickBar/useActions.test.tsx @@ -17,15 +17,15 @@ import React from "react"; import { act, renderHook } from "@testing-library/react-hooks"; -import useActions from "@/components/quickBar/useActions"; +import useActions from "./useActions"; import { KBarProvider, useKBar } from "kbar"; import defaultActions, { pageEditorAction, -} from "@/components/quickBar/defaultActions"; -import quickBarRegistry from "@/components/quickBar/quickBarRegistry"; -import { initQuickBarApp } from "@/components/quickBar/QuickBarApp"; +} from "./defaultActions"; +import quickBarRegistry from "./quickBarRegistry"; +import { initQuickBarApp } from "./QuickBarApp"; -jest.mock("@/auth/featureFlagStorage", () => ({ +jest.mock("../../auth/featureFlagStorage", () => ({ flagOn: jest.fn().mockReturnValue(false), restrict: jest.fn().mockReturnValue(false), })); diff --git a/src/components/quickBar/useActions.ts b/applications/browser-extension/src/components/quickBar/useActions.ts similarity index 93% rename from src/components/quickBar/useActions.ts rename to applications/browser-extension/src/components/quickBar/useActions.ts index e48460b029..9c5469aae5 100644 --- a/src/components/quickBar/useActions.ts +++ b/applications/browser-extension/src/components/quickBar/useActions.ts @@ -17,8 +17,8 @@ import { type Action, useKBar } from "kbar"; import React from "react"; -import quickBarRegistry from "@/components/quickBar/quickBarRegistry"; -import useOnMountOnly from "@/hooks/useOnMountOnly"; +import quickBarRegistry from "./quickBarRegistry"; +import useOnMountOnly from "../../hooks/useOnMountOnly"; function useActions(): void { // The useActions hook is included in KBarComponent, which mounts/unmounts when the kbar is toggled diff --git a/src/components/quickBar/utils.ts b/applications/browser-extension/src/components/quickBar/utils.ts similarity index 94% rename from src/components/quickBar/utils.ts rename to applications/browser-extension/src/components/quickBar/utils.ts index 77ea9e6797..2c33b6b5f4 100644 --- a/src/components/quickBar/utils.ts +++ b/applications/browser-extension/src/components/quickBar/utils.ts @@ -17,7 +17,7 @@ import { type Action } from "kbar"; import { useMemo } from "react"; -import { splitStartingEmoji } from "@/utils/stringUtils"; +import { splitStartingEmoji } from "../../utils/stringUtils"; export function useGetActionNameAndIcon({ name, icon }: Action) { return useMemo(() => { diff --git a/src/components/richTextEditor/RichTextEditor.module.scss b/applications/browser-extension/src/components/richTextEditor/RichTextEditor.module.scss similarity index 100% rename from src/components/richTextEditor/RichTextEditor.module.scss rename to applications/browser-extension/src/components/richTextEditor/RichTextEditor.module.scss diff --git a/src/components/richTextEditor/RichTextEditor.stories.tsx b/applications/browser-extension/src/components/richTextEditor/RichTextEditor.stories.tsx similarity index 100% rename from src/components/richTextEditor/RichTextEditor.stories.tsx rename to applications/browser-extension/src/components/richTextEditor/RichTextEditor.stories.tsx diff --git a/src/components/richTextEditor/RichTextEditor.test.tsx b/applications/browser-extension/src/components/richTextEditor/RichTextEditor.test.tsx similarity index 100% rename from src/components/richTextEditor/RichTextEditor.test.tsx rename to applications/browser-extension/src/components/richTextEditor/RichTextEditor.test.tsx diff --git a/src/components/richTextEditor/RichTextEditor.tsx b/applications/browser-extension/src/components/richTextEditor/RichTextEditor.tsx similarity index 94% rename from src/components/richTextEditor/RichTextEditor.tsx rename to applications/browser-extension/src/components/richTextEditor/RichTextEditor.tsx index 6769cae6b5..9cbe3e3e43 100644 --- a/src/components/richTextEditor/RichTextEditor.tsx +++ b/applications/browser-extension/src/components/richTextEditor/RichTextEditor.tsx @@ -19,7 +19,7 @@ import styles from "./RichTextEditor.module.scss"; import { EditorProvider, type EditorProviderProps } from "@tiptap/react"; import { StarterKit } from "@tiptap/starter-kit"; import React from "react"; -import Toolbar from "@/components/richTextEditor/toolbar/Toolbar"; +import Toolbar from "./toolbar/Toolbar"; const RichTextEditor: React.FunctionComponent = ( props: EditorProviderProps, diff --git a/src/components/richTextEditor/toolbar/BoldButton.tsx b/applications/browser-extension/src/components/richTextEditor/toolbar/BoldButton.tsx similarity index 100% rename from src/components/richTextEditor/toolbar/BoldButton.tsx rename to applications/browser-extension/src/components/richTextEditor/toolbar/BoldButton.tsx diff --git a/src/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx b/applications/browser-extension/src/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx similarity index 96% rename from src/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx rename to applications/browser-extension/src/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx index 19d7f3dae8..3e939998f7 100644 --- a/src/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx +++ b/applications/browser-extension/src/components/richTextEditor/toolbar/HeadingLevelDropdown.tsx @@ -18,7 +18,7 @@ import React from "react"; import { useCurrentEditor } from "@tiptap/react"; import Select from "react-select"; -import { type Option } from "@/components/form/widgets/SelectWidget"; +import { type Option } from "../../form/widgets/SelectWidget"; import { type Level } from "@tiptap/extension-heading"; const headingLevels: Level[] = [1, 2, 3, 4, 5, 6]; diff --git a/src/components/richTextEditor/toolbar/ItalicButton.tsx b/applications/browser-extension/src/components/richTextEditor/toolbar/ItalicButton.tsx similarity index 100% rename from src/components/richTextEditor/toolbar/ItalicButton.tsx rename to applications/browser-extension/src/components/richTextEditor/toolbar/ItalicButton.tsx diff --git a/src/components/richTextEditor/toolbar/Toolbar.tsx b/applications/browser-extension/src/components/richTextEditor/toolbar/Toolbar.tsx similarity index 79% rename from src/components/richTextEditor/toolbar/Toolbar.tsx rename to applications/browser-extension/src/components/richTextEditor/toolbar/Toolbar.tsx index cf6877044f..d85ab91b37 100644 --- a/src/components/richTextEditor/toolbar/Toolbar.tsx +++ b/applications/browser-extension/src/components/richTextEditor/toolbar/Toolbar.tsx @@ -17,12 +17,12 @@ import React from "react"; import { ButtonGroup, ButtonToolbar } from "react-bootstrap"; -import styles from "@/components/richTextEditor/RichTextEditor.module.scss"; -import BoldButton from "@/components/richTextEditor/toolbar/BoldButton"; -import ItalicButton from "@/components/richTextEditor/toolbar/ItalicButton"; +import styles from "../RichTextEditor.module.scss"; +import BoldButton from "./BoldButton"; +import ItalicButton from "./ItalicButton"; // Required for font-awesome styles to be available in IsolatedComponents import "@fortawesome/fontawesome-svg-core/styles.css"; -import HeadingLevelDropdown from "@/components/richTextEditor/toolbar/HeadingLevelDropdown"; +import HeadingLevelDropdown from "./HeadingLevelDropdown"; const Toolbar: React.FunctionComponent = () => ( . */ -@import "@/themes/colors.scss"; +@import "@/themes/colors"; $background: rgb(252, 252, 252); $border: rgba(0, 0, 0, 0.3); diff --git a/src/components/selectionToolPopover/SelectionToolPopover.stories.tsx b/applications/browser-extension/src/components/selectionToolPopover/SelectionToolPopover.stories.tsx similarity index 93% rename from src/components/selectionToolPopover/SelectionToolPopover.stories.tsx rename to applications/browser-extension/src/components/selectionToolPopover/SelectionToolPopover.stories.tsx index 4f19e9014d..986f8561b8 100644 --- a/src/components/selectionToolPopover/SelectionToolPopover.stories.tsx +++ b/applications/browser-extension/src/components/selectionToolPopover/SelectionToolPopover.stories.tsx @@ -17,7 +17,7 @@ import React from "react"; import { type ComponentStory, type ComponentMeta } from "@storybook/react"; -import SelectionToolPopover from "@/components/selectionToolPopover/SelectionToolPopover"; +import SelectionToolPopover from "./SelectionToolPopover"; export default { title: "Components/SelectionToolPopover", diff --git a/src/components/selectionToolPopover/SelectionToolPopover.tsx b/applications/browser-extension/src/components/selectionToolPopover/SelectionToolPopover.tsx similarity index 96% rename from src/components/selectionToolPopover/SelectionToolPopover.tsx rename to applications/browser-extension/src/components/selectionToolPopover/SelectionToolPopover.tsx index 5a28ed0fe9..bf3f444541 100644 --- a/src/components/selectionToolPopover/SelectionToolPopover.tsx +++ b/applications/browser-extension/src/components/selectionToolPopover/SelectionToolPopover.tsx @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -import "@/vendors/bootstrapWithoutRem.css"; +import "../../vendors/bootstrapWithoutRem.css"; import "bootstrap-switch-button-react/src/style.css"; import styles from "./SelectionToolPopover.module.scss"; @@ -22,9 +22,9 @@ import React, { type ChangeEvent, useEffect, useState } from "react"; import Draggable from "react-draggable"; import SwitchButtonWidget, { type CheckBoxLike, -} from "@/components/form/widgets/switchButton/SwitchButtonWidget"; +} from "../form/widgets/switchButton/SwitchButtonWidget"; import { Button, FormLabel } from "react-bootstrap"; -import pluralize from "@/utils/pluralize"; +import pluralize from "../../utils/pluralize"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faGripHorizontal } from "@fortawesome/free-solid-svg-icons"; diff --git a/src/components/selectionToolPopover/showSelectionToolPopover.tsx b/applications/browser-extension/src/components/selectionToolPopover/showSelectionToolPopover.tsx similarity index 85% rename from src/components/selectionToolPopover/showSelectionToolPopover.tsx rename to applications/browser-extension/src/components/selectionToolPopover/showSelectionToolPopover.tsx index f3cfedbfca..a76b2548a6 100644 --- a/src/components/selectionToolPopover/showSelectionToolPopover.tsx +++ b/applications/browser-extension/src/components/selectionToolPopover/showSelectionToolPopover.tsx @@ -17,8 +17,8 @@ import React from "react"; import { render } from "react-dom"; -import IsolatedComponent from "@/components/IsolatedComponent"; -import type Component from "@/components/selectionToolPopover/SelectionToolPopover"; +import IsolatedComponent from "../IsolatedComponent"; +import type Component from "./SelectionToolPopover"; export default function showSelectionToolPopover({ rootElement, @@ -32,7 +32,7 @@ export default function showSelectionToolPopover({ lazy={async () => import( /* webpackChunkName: "isolated/SelectionToolPopover" */ - "@/components/selectionToolPopover/SelectionToolPopover" + "./SelectionToolPopover" ) } factory={(SelectionToolPopover) => } diff --git a/src/components/tabLayout/EditorTabLayout.module.scss b/applications/browser-extension/src/components/tabLayout/EditorTabLayout.module.scss similarity index 100% rename from src/components/tabLayout/EditorTabLayout.module.scss rename to applications/browser-extension/src/components/tabLayout/EditorTabLayout.module.scss diff --git a/src/components/tabLayout/EditorTabLayout.test.tsx b/applications/browser-extension/src/components/tabLayout/EditorTabLayout.test.tsx similarity index 95% rename from src/components/tabLayout/EditorTabLayout.test.tsx rename to applications/browser-extension/src/components/tabLayout/EditorTabLayout.test.tsx index 0fc0a72e22..44fd56685c 100644 --- a/src/components/tabLayout/EditorTabLayout.test.tsx +++ b/applications/browser-extension/src/components/tabLayout/EditorTabLayout.test.tsx @@ -19,9 +19,9 @@ import React from "react"; import EditorTabLayout, { type ActionButton, type TabItem, -} from "@/components/tabLayout/EditorTabLayout"; +} from "./EditorTabLayout"; import { faHistory, faSave, faTrash } from "@fortawesome/free-solid-svg-icons"; -import { render } from "@/pageEditor/testHelpers"; +import { render } from "../../pageEditor/testHelpers"; function getTabItem(name: string, badgeCount?: number): TabItem { if (badgeCount) { diff --git a/src/components/tabLayout/EditorTabLayout.tsx b/applications/browser-extension/src/components/tabLayout/EditorTabLayout.tsx similarity index 96% rename from src/components/tabLayout/EditorTabLayout.tsx rename to applications/browser-extension/src/components/tabLayout/EditorTabLayout.tsx index 2ca264d527..04eed900d7 100644 --- a/src/components/tabLayout/EditorTabLayout.tsx +++ b/applications/browser-extension/src/components/tabLayout/EditorTabLayout.tsx @@ -21,9 +21,9 @@ import { Badge, Button, ButtonGroup, Nav, Tab } from "react-bootstrap"; import { type ButtonVariant, type Variant } from "react-bootstrap/types"; import { type IconProp } from "@fortawesome/fontawesome-svg-core"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { freeze } from "@/utils/objectUtils"; -import type { FeatureFlag } from "@/auth/featureFlags"; -import useFlags from "@/hooks/useFlags"; +import { freeze } from "../../utils/objectUtils"; +import type { FeatureFlag } from "../../auth/featureFlags"; +import useFlags from "../../hooks/useFlags"; export interface TabItem { name: string; diff --git a/src/components/tabLayout/__snapshots__/EditorTabLayout.test.tsx.snap b/applications/browser-extension/src/components/tabLayout/__snapshots__/EditorTabLayout.test.tsx.snap similarity index 100% rename from src/components/tabLayout/__snapshots__/EditorTabLayout.test.tsx.snap rename to applications/browser-extension/src/components/tabLayout/__snapshots__/EditorTabLayout.test.tsx.snap diff --git a/src/components/teamTrials/TeamTrialBanner.test.tsx b/applications/browser-extension/src/components/teamTrials/TeamTrialBanner.test.tsx similarity index 93% rename from src/components/teamTrials/TeamTrialBanner.test.tsx rename to applications/browser-extension/src/components/teamTrials/TeamTrialBanner.test.tsx index 08fd455eb4..fdef5fed12 100644 --- a/src/components/teamTrials/TeamTrialBanner.test.tsx +++ b/applications/browser-extension/src/components/teamTrials/TeamTrialBanner.test.tsx @@ -16,12 +16,12 @@ */ import React from "react"; -import TeamTrialBanner from "@/components/teamTrials/TeamTrialBanner"; -import { render, screen, waitFor } from "@/extensionConsole/testHelpers"; -import { organizationResponseFactory } from "@/testUtils/factories/organizationFactories"; -import { type Timestamp } from "@/types/stringTypes"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { appApiMock } from "@/testUtils/appApiMock"; +import TeamTrialBanner from "./TeamTrialBanner"; +import { render, screen, waitFor } from "../../extensionConsole/testHelpers"; +import { organizationResponseFactory } from "../../testUtils/factories/organizationFactories"; +import { type Timestamp } from "../../types/stringTypes"; +import { API_PATHS } from "../../data/service/urlPaths"; +import { appApiMock } from "../../testUtils/appApiMock"; describe("TeamTrialBanner", () => { const today = new Date().getDate(); diff --git a/src/components/teamTrials/TeamTrialBanner.tsx b/applications/browser-extension/src/components/teamTrials/TeamTrialBanner.tsx similarity index 88% rename from src/components/teamTrials/TeamTrialBanner.tsx rename to applications/browser-extension/src/components/teamTrials/TeamTrialBanner.tsx index a72a597980..1d7b9e9cc7 100644 --- a/src/components/teamTrials/TeamTrialBanner.tsx +++ b/applications/browser-extension/src/components/teamTrials/TeamTrialBanner.tsx @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import Banner from "@/components/banner/Banner"; -import TrialCallToActionLink from "@/components/teamTrials/TrialCallToActionLink"; +import Banner from "../banner/Banner"; +import TrialCallToActionLink from "./TrialCallToActionLink"; import useTeamTrialStatus, { TeamTrialStatus, -} from "@/components/teamTrials/useTeamTrialStatus"; +} from "./useTeamTrialStatus"; import React from "react"; import { Collapse } from "react-bootstrap"; diff --git a/src/components/teamTrials/TrialAwareButton.test.tsx b/applications/browser-extension/src/components/teamTrials/TrialAwareButton.test.tsx similarity index 93% rename from src/components/teamTrials/TrialAwareButton.test.tsx rename to applications/browser-extension/src/components/teamTrials/TrialAwareButton.test.tsx index b325d60a1a..6540b9d2ad 100644 --- a/src/components/teamTrials/TrialAwareButton.test.tsx +++ b/applications/browser-extension/src/components/teamTrials/TrialAwareButton.test.tsx @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { render, screen, waitFor } from "@/extensionConsole/testHelpers"; -import { TrialAwareButton } from "@/components/teamTrials/TrialAwareButton"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { registryIdFactory } from "@/testUtils/factories/stringFactories"; +import { render, screen, waitFor } from "../../extensionConsole/testHelpers"; +import { TrialAwareButton } from "./TrialAwareButton"; +import { appApiMock } from "../../testUtils/appApiMock"; +import { registryIdFactory } from "../../testUtils/factories/stringFactories"; import React from "react"; import { faPlus } from "@fortawesome/free-solid-svg-icons"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { organizationResponseFactory } from "@/testUtils/factories/organizationFactories"; -import { type Timestamp } from "@/types/stringTypes"; +import { API_PATHS } from "../../data/service/urlPaths"; +import { organizationResponseFactory } from "../../testUtils/factories/organizationFactories"; +import { type Timestamp } from "../../types/stringTypes"; describe("TrialAwareButton", () => { beforeEach(() => { diff --git a/src/components/teamTrials/TrialAwareButton.tsx b/applications/browser-extension/src/components/teamTrials/TrialAwareButton.tsx similarity index 91% rename from src/components/teamTrials/TrialAwareButton.tsx rename to applications/browser-extension/src/components/teamTrials/TrialAwareButton.tsx index c6f3ad1b86..acc191ea1a 100644 --- a/src/components/teamTrials/TrialAwareButton.tsx +++ b/applications/browser-extension/src/components/teamTrials/TrialAwareButton.tsx @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import TrialCallToActionLink from "@/components/teamTrials/TrialCallToActionLink"; -import useGetAllTeamScopes from "@/components/teamTrials/useGetAllTeamScopes"; +import TrialCallToActionLink from "./TrialCallToActionLink"; +import useGetAllTeamScopes from "./useGetAllTeamScopes"; import useTeamTrialStatus, { TeamTrialStatus, -} from "@/components/teamTrials/useTeamTrialStatus"; -import { type RegistryId } from "@/types/registryTypes"; +} from "./useTeamTrialStatus"; +import { type RegistryId } from "../../types/registryTypes"; import { type IconProp } from "@fortawesome/fontawesome-svg-core"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import React, { useState } from "react"; diff --git a/src/components/teamTrials/TrialCallToActionLink.tsx b/applications/browser-extension/src/components/teamTrials/TrialCallToActionLink.tsx similarity index 100% rename from src/components/teamTrials/TrialCallToActionLink.tsx rename to applications/browser-extension/src/components/teamTrials/TrialCallToActionLink.tsx diff --git a/src/components/teamTrials/useGetAllTeamScopes.ts b/applications/browser-extension/src/components/teamTrials/useGetAllTeamScopes.ts similarity index 94% rename from src/components/teamTrials/useGetAllTeamScopes.ts rename to applications/browser-extension/src/components/teamTrials/useGetAllTeamScopes.ts index 28869d6d07..6eb82333b2 100644 --- a/src/components/teamTrials/useGetAllTeamScopes.ts +++ b/applications/browser-extension/src/components/teamTrials/useGetAllTeamScopes.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { useGetOrganizationsQuery } from "@/data/service/api"; +import { useGetOrganizationsQuery } from "../../data/service/api"; import { useMemo } from "react"; function useGetAllTeamScopes() { diff --git a/src/components/teamTrials/useTeamTrialStatus.ts b/applications/browser-extension/src/components/teamTrials/useTeamTrialStatus.ts similarity index 95% rename from src/components/teamTrials/useTeamTrialStatus.ts rename to applications/browser-extension/src/components/teamTrials/useTeamTrialStatus.ts index 1390e4c39d..3abfc98a5c 100644 --- a/src/components/teamTrials/useTeamTrialStatus.ts +++ b/applications/browser-extension/src/components/teamTrials/useTeamTrialStatus.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { useGetOrganizationsQuery } from "@/data/service/api"; +import { useGetOrganizationsQuery } from "../../data/service/api"; import { type ValueOf } from "type-fest"; export const TeamTrialStatus = { diff --git a/src/components/walkthroughModal/WalkthroughModal.module.scss b/applications/browser-extension/src/components/walkthroughModal/WalkthroughModal.module.scss similarity index 100% rename from src/components/walkthroughModal/WalkthroughModal.module.scss rename to applications/browser-extension/src/components/walkthroughModal/WalkthroughModal.module.scss diff --git a/src/components/walkthroughModal/WalkthroughModalApp.tsx b/applications/browser-extension/src/components/walkthroughModal/WalkthroughModalApp.tsx similarity index 88% rename from src/components/walkthroughModal/WalkthroughModalApp.tsx rename to applications/browser-extension/src/components/walkthroughModal/WalkthroughModalApp.tsx index afb8533cb8..f58fb39eda 100644 --- a/src/components/walkthroughModal/WalkthroughModalApp.tsx +++ b/applications/browser-extension/src/components/walkthroughModal/WalkthroughModalApp.tsx @@ -19,23 +19,23 @@ import styles from "./WalkthroughModal.module.scss"; import { Button, Carousel, Col, Container, Modal, Row } from "react-bootstrap"; import React, { useEffect, useState } from "react"; -import { closeWalkthroughModal } from "@/contentScript/messenger/api"; -import { type Target } from "@/types/messengerTypes"; -import { Events } from "@/telemetry/events"; -import inspectContextMenuImage from "@img/inspect-context-menu.png"; -import devtoolsShortcutWindowsImage from "@img/devtools-shortcut-windows.svg"; -import devtoolsShortcutMacImage from "@img/devtools-shortcut-mac.svg"; -import devtoolsDockingContextMenu from "@img/devtools-docking-context-menu.png"; -import devtoolsToolbarScreenshot from "@img/devtools-pixiebrix-toolbar-screenshot.png"; -import devtoolsPixieBrixToolbarTab from "@img/devtools-pixiebrix-toolbar-tab.png"; -import devtoolsPixieBrixToolbarTabHidden from "@img/devtools-pixiebrix-toolbar-hidden.png"; -import devtoolsDockBottomIcon from "@img/devtools-dock-bottom-icon.svg"; +import { closeWalkthroughModal } from "../../contentScript/messenger/api"; +import { type Target } from "../../types/messengerTypes"; +import { Events } from "../../telemetry/events"; +import inspectContextMenuImage from "../../../img/inspect-context-menu.png"; +import devtoolsShortcutWindowsImage from "../../../img/devtools-shortcut-windows.svg"; +import devtoolsShortcutMacImage from "../../../img/devtools-shortcut-mac.svg"; +import devtoolsDockingContextMenu from "../../../img/devtools-docking-context-menu.png"; +import devtoolsToolbarScreenshot from "../../../img/devtools-pixiebrix-toolbar-screenshot.png"; +import devtoolsPixieBrixToolbarTab from "../../../img/devtools-pixiebrix-toolbar-tab.png"; +import devtoolsPixieBrixToolbarTabHidden from "../../../img/devtools-pixiebrix-toolbar-hidden.png"; +import devtoolsDockBottomIcon from "../../../img/devtools-dock-bottom-icon.svg"; import cx from "classnames"; -import { isMac } from "@/utils/browserUtils"; +import { isMac } from "../../utils/browserUtils"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faEllipsisV } from "@fortawesome/free-solid-svg-icons"; -import reportEvent from "@/telemetry/reportEvent"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import reportEvent from "../../telemetry/reportEvent"; +import { assertNotNullish } from "../../utils/nullishUtils"; type WalkthroughModalStep = { title: string; diff --git a/src/components/walkthroughModal/showWalkthroughModal.ts b/applications/browser-extension/src/components/walkthroughModal/showWalkthroughModal.ts similarity index 81% rename from src/components/walkthroughModal/showWalkthroughModal.ts rename to applications/browser-extension/src/components/walkthroughModal/showWalkthroughModal.ts index a1d78ccd02..4caea4bcfd 100644 --- a/src/components/walkthroughModal/showWalkthroughModal.ts +++ b/applications/browser-extension/src/components/walkthroughModal/showWalkthroughModal.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { expectContext } from "@/utils/expectContext"; +import { expectContext } from "../../utils/expectContext"; import { getThisFrame } from "webext-messenger"; -import { registerWalkthroughModal } from "@/contentScript/walkthroughModalProtocol"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { showModal } from "@/contentScript/modalDom"; +import { registerWalkthroughModal } from "../../contentScript/walkthroughModalProtocol"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; +import { showModal } from "../../contentScript/modalDom"; const showWalkthroughModal = async () => { expectContext("contentScript"); diff --git a/src/contentScript/activationConstants.ts b/applications/browser-extension/src/contentScript/activationConstants.ts similarity index 100% rename from src/contentScript/activationConstants.ts rename to applications/browser-extension/src/contentScript/activationConstants.ts diff --git a/src/contentScript/audio.ts b/applications/browser-extension/src/contentScript/audio.ts similarity index 100% rename from src/contentScript/audio.ts rename to applications/browser-extension/src/contentScript/audio.ts diff --git a/src/contentScript/contentScript.scss b/applications/browser-extension/src/contentScript/contentScript.scss similarity index 100% rename from src/contentScript/contentScript.scss rename to applications/browser-extension/src/contentScript/contentScript.scss diff --git a/src/contentScript/contentScript.ts b/applications/browser-extension/src/contentScript/contentScript.ts similarity index 94% rename from src/contentScript/contentScript.ts rename to applications/browser-extension/src/contentScript/contentScript.ts index ff9d81e50b..4d549b7e78 100644 --- a/src/contentScript/contentScript.ts +++ b/applications/browser-extension/src/contentScript/contentScript.ts @@ -20,15 +20,12 @@ // which is behind a guarded dynamic import. import "./contentScript.scss"; -import { addContentScriptIndicator } from "@/development/visualInjection"; +import { addContentScriptIndicator } from "../development/visualInjection"; import { uuidv4 } from "@/types/helpers"; -import { - getContentScriptState, - setContentScriptState, -} from "@/contentScript/ready"; +import { getContentScriptState, setContentScriptState } from "./ready"; import { onContextInvalidated } from "webext-events"; -import { logPromiseDuration } from "@/utils/promiseUtils"; -import { initRuntimeLogging } from "@/development/runtimeLogging"; +import { logPromiseDuration } from "../utils/promiseUtils"; +import { initRuntimeLogging } from "../development/runtimeLogging"; import { type Runtime } from "webextension-polyfill"; // eslint-disable-next-line prefer-destructuring -- process.env substitution diff --git a/src/contentScript/contentScriptCore.ts b/applications/browser-extension/src/contentScript/contentScriptCore.ts similarity index 100% rename from src/contentScript/contentScriptCore.ts rename to applications/browser-extension/src/contentScript/contentScriptCore.ts diff --git a/src/contentScript/contentScriptPlatform.test.ts b/applications/browser-extension/src/contentScript/contentScriptPlatform.test.ts similarity index 84% rename from src/contentScript/contentScriptPlatform.test.ts rename to applications/browser-extension/src/contentScript/contentScriptPlatform.test.ts index 86409f3221..fd614ffe24 100644 --- a/src/contentScript/contentScriptPlatform.test.ts +++ b/applications/browser-extension/src/contentScript/contentScriptPlatform.test.ts @@ -15,26 +15,26 @@ * along with this program. If not, see . */ -import contentScriptPlatform from "@/contentScript/contentScriptPlatform"; -import { setPlatform } from "@/platform/platformContext"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { TEST_deleteFeatureFlagsCache } from "@/auth/featureFlagStorage"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { deferLogin } from "@/contentScript/integrations/deferredLoginController"; +import contentScriptPlatform from "./contentScriptPlatform"; +import { setPlatform } from "../platform/platformContext"; +import { sanitizedIntegrationConfigFactory } from "../testUtils/factories/integrationFactories"; +import { TEST_deleteFeatureFlagsCache } from "../auth/featureFlagStorage"; +import { appApiMock } from "../testUtils/appApiMock"; +import { InteractiveLoginRequiredError } from "../errors/authErrors"; +import { waitForEffect } from "../testUtils/testHelpers"; +import { deferLogin } from "./integrations/deferredLoginController"; import pDefer from "p-defer"; import { clearModComponentDebugLogs, performConfiguredRequestInBackground, traces, -} from "@/background/messenger/api"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { modComponentFactory } from "@/testUtils/factories/modComponentFactories"; +} from "../background/messenger/api"; +import { API_PATHS } from "../data/service/urlPaths"; +import { modComponentFactory } from "../testUtils/factories/modComponentFactories"; -jest.mock("@/contentScript/integrations/deferredLoginController"); +jest.mock("./integrations/deferredLoginController"); -jest.mock("@/background/messenger/api", () => ({ +jest.mock("../background/messenger/api", () => ({ performConfiguredRequestInBackground: jest.fn().mockResolvedValue({}), clearModComponentDebugLogs: jest.fn(), traces: { diff --git a/src/contentScript/contentScriptPlatform.ts b/applications/browser-extension/src/contentScript/contentScriptPlatform.ts similarity index 81% rename from src/contentScript/contentScriptPlatform.ts rename to applications/browser-extension/src/contentScript/contentScriptPlatform.ts index 9165c62296..e229ec721a 100644 --- a/src/contentScript/contentScriptPlatform.ts +++ b/applications/browser-extension/src/contentScript/contentScriptPlatform.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { type PlatformProtocol } from "@/platform/platformProtocol"; -import { hideNotification, showNotification } from "@/utils/notify"; +import { type PlatformProtocol } from "../platform/platformProtocol"; +import { hideNotification, showNotification } from "../utils/notify"; import { clearModComponentDebugLogs, ensureContextMenu, @@ -26,43 +26,40 @@ import { tabCapture, traces, uninstallContextMenu, -} from "@/background/messenger/api"; -import { - getState, - setState, -} from "@/contentScript/stateController/stateController"; -import quickBarRegistry from "@/components/quickBar/quickBarRegistry"; -import { expectContext } from "@/utils/expectContext"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { getReferenceForElement } from "@/contentScript/elementReference"; -import { ephemeralForm } from "@/contentScript/ephemeralForm"; -import { ephemeralPanel } from "@/contentScript/ephemeralPanel"; +} from "../background/messenger/api"; +import { getState, setState } from "./stateController/stateController"; +import quickBarRegistry from "../components/quickBar/quickBarRegistry"; +import { expectContext } from "../utils/expectContext"; +import type { PlatformCapability } from "../platform/capabilities"; +import { getReferenceForElement } from "./elementReference"; +import { ephemeralForm } from "./ephemeralForm"; +import { ephemeralPanel } from "./ephemeralPanel"; import type { ElementReference } from "@/types/runtimeTypes"; import { renderHandlebarsTemplate, renderNunjucksTemplate, runUserJs, validateNunjucksTemplate, -} from "@/sandbox/messenger/api"; +} from "../sandbox/messenger/api"; import type { JsonObject } from "type-fest"; -import { BusinessError } from "@/errors/businessErrors"; -import { registerHandler } from "@/contentScript/contextMenus"; -import { writeToClipboard } from "@/utils/clipboardUtils"; -import { snippetRegistry } from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuController"; -import BackgroundLogger from "@/telemetry/BackgroundLogger"; -import * as sidebarController from "@/contentScript/sidebarController"; +import { BusinessError } from "../errors/businessErrors"; +import { registerHandler } from "./contextMenus"; +import { writeToClipboard } from "../utils/clipboardUtils"; +import { snippetRegistry } from "./snippetShortcutMenu/snippetShortcutMenuController"; +import BackgroundLogger from "../telemetry/BackgroundLogger"; +import * as sidebarController from "./sidebarController"; import type { UUID } from "@/types/stringTypes"; -import { PlatformBase } from "@/platform/platformBase"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { PlatformBase } from "../platform/platformBase"; +import type { SanitizedIntegrationConfig } from "../integrations/integrationTypes"; import type { NetworkRequestConfig } from "@/types/networkTypes"; import type { RemoteResponse } from "@/types/contract"; -import { hasSpecificErrorCause } from "@/errors/errorHelpers"; -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; -import { deferLogin } from "@/contentScript/integrations/deferredLoginController"; -import { selectionMenuActionRegistry } from "@/contentScript/textSelectionMenu/selectionMenuController"; -import { getExtensionVersion } from "@/utils/extensionUtils"; -import { registerModVariables } from "@/contentScript/stateController/modVariablePolicyController"; -import type { ContentScriptPlatformProtocol } from "@/contentScript/platform/contentScriptPlatformProtocol"; +import { hasSpecificErrorCause } from "../errors/errorHelpers"; +import { InteractiveLoginRequiredError } from "../errors/authErrors"; +import { deferLogin } from "./integrations/deferredLoginController"; +import { selectionMenuActionRegistry } from "./textSelectionMenu/selectionMenuController"; +import { getExtensionVersion } from "../utils/extensionUtils"; +import { registerModVariables } from "./stateController/modVariablePolicyController"; +import type { ContentScriptPlatformProtocol } from "./platform/contentScriptPlatformProtocol"; /** * @file Platform definition for mods running in a content script @@ -79,7 +76,7 @@ async function userSelectElementRefs(): Promise { // The picker uses `bootstrap-switch-button`, which does a `window` check on load and breaks // the MV3 background worker. Lazy-loading it keeps the background worker from breaking. const { userSelectElement } = await import( - /* webpackChunkName: "editorContentScript" */ "@/contentScript/pageEditor/elementPicker" + /* webpackChunkName: "editorContentScript" */ "./pageEditor/elementPicker" ); const { elements } = await userSelectElement(); diff --git a/src/contentScript/context.ts b/applications/browser-extension/src/contentScript/context.ts similarity index 100% rename from src/contentScript/context.ts rename to applications/browser-extension/src/contentScript/context.ts diff --git a/src/contentScript/contextMenus.ts b/applications/browser-extension/src/contentScript/contextMenus.ts similarity index 96% rename from src/contentScript/contextMenus.ts rename to applications/browser-extension/src/contentScript/contextMenus.ts index 53acc8fd6e..7a91f7419f 100644 --- a/src/contentScript/contextMenus.ts +++ b/applications/browser-extension/src/contentScript/contextMenus.ts @@ -17,8 +17,8 @@ import { type Menus } from "webextension-polyfill"; import { type UUID } from "@/types/stringTypes"; -import notify from "@/utils/notify"; -import { getReloadOnNextNavigate } from "@/contentScript/ready"; +import notify from "../utils/notify"; +import { getReloadOnNextNavigate } from "./ready"; type MenuHandler = (args: Menus.OnClickData) => Promise; diff --git a/src/contentScript/elementReference.test.ts b/applications/browser-extension/src/contentScript/elementReference.test.ts similarity index 95% rename from src/contentScript/elementReference.test.ts rename to applications/browser-extension/src/contentScript/elementReference.test.ts index d2f29989be..faba3829eb 100644 --- a/src/contentScript/elementReference.test.ts +++ b/applications/browser-extension/src/contentScript/elementReference.test.ts @@ -19,9 +19,9 @@ import { getElementForReference, getReferenceForElement, getSelectorForElement, -} from "@/contentScript/elementReference"; +} from "./elementReference"; import { uuidv4 } from "@/types/helpers"; -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "../errors/businessErrors"; import { type ElementReference } from "@/types/runtimeTypes"; describe("elementReference", () => { diff --git a/src/contentScript/elementReference.ts b/applications/browser-extension/src/contentScript/elementReference.ts similarity index 97% rename from src/contentScript/elementReference.ts rename to applications/browser-extension/src/contentScript/elementReference.ts index 25c1da5d11..913e8ce1a4 100644 --- a/src/contentScript/elementReference.ts +++ b/applications/browser-extension/src/contentScript/elementReference.ts @@ -16,7 +16,7 @@ */ import { uuidv4 } from "@/types/helpers"; -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "../errors/businessErrors"; import { type ElementReference } from "@/types/runtimeTypes"; type ElementOrDocument = HTMLElement | Document; diff --git a/src/contentScript/ephemeralForm.ts b/applications/browser-extension/src/contentScript/ephemeralForm.ts similarity index 90% rename from src/contentScript/ephemeralForm.ts rename to applications/browser-extension/src/contentScript/ephemeralForm.ts index 1c73b5dc7d..bff0332539 100644 --- a/src/contentScript/ephemeralForm.ts +++ b/applications/browser-extension/src/contentScript/ephemeralForm.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import type { FormDefinition } from "@/platform/forms/formTypes"; -import { cancelForm, registerForm } from "@/platform/forms/formController"; +import type { FormDefinition } from "../platform/forms/formTypes"; +import { cancelForm, registerForm } from "../platform/forms/formController"; import { hideSidebarForm, showSidebar, showSidebarForm, sidePanelOnClose, -} from "@/contentScript/sidebarController"; +} from "./sidebarController"; import { uuidv4 } from "@/types/helpers"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { BusinessError } from "@/errors/businessErrors"; +import { isLoadedInIframe } from "../utils/iframeUtils"; +import { BusinessError } from "../errors/businessErrors"; import { getThisFrame } from "webext-messenger"; -import { expectContext } from "@/utils/expectContext"; -import { showModal } from "@/contentScript/modalDom"; +import { expectContext } from "../utils/expectContext"; +import { showModal } from "./modalDom"; import type { Target } from "@/types/messengerTypes"; import type { ModComponentRef } from "@/types/modComponentTypes"; diff --git a/src/contentScript/ephemeralPanel.ts b/applications/browser-extension/src/contentScript/ephemeralPanel.ts similarity index 91% rename from src/contentScript/ephemeralPanel.ts rename to applications/browser-extension/src/contentScript/ephemeralPanel.ts index 8e95579cd8..27ef3532c0 100644 --- a/src/contentScript/ephemeralPanel.ts +++ b/applications/browser-extension/src/contentScript/ephemeralPanel.ts @@ -24,30 +24,30 @@ import { stopWaitingForTemporaryPanels, updatePanelDefinition, waitForTemporaryPanel, -} from "@/platform/panels/panelController"; +} from "../platform/panels/panelController"; import type { TemporaryPanelEntry } from "@/types/sidebarTypes"; -import { BusinessError, CancelError } from "@/errors/businessErrors"; +import { BusinessError, CancelError } from "../errors/businessErrors"; import { once } from "lodash"; -import { isSpecificError } from "@/errors/errorHelpers"; -import { AbortPanelAction, ClosePanelAction } from "@/bricks/errors"; +import { isSpecificError } from "../errors/errorHelpers"; +import { AbortPanelAction, ClosePanelAction } from "../bricks/errors"; import { hideTemporarySidebarPanel, showSidebar, showTemporarySidebarPanel, sidePanelOnClose, updateTemporarySidebarPanel, -} from "@/contentScript/sidebarController"; -import { updateTemporaryOverlayPanel } from "@/contentScript/ephemeralPanelController"; +} from "./sidebarController"; +import { updateTemporaryOverlayPanel } from "./ephemeralPanelController"; import { RefreshTriggers, type TemporaryPanelDefinition, -} from "@/platform/panels/panelTypes"; +} from "../platform/panels/panelTypes"; import type { Location } from "@/types/starterBrickTypes"; import { getThisFrame } from "webext-messenger"; -import { expectContext } from "@/utils/expectContext"; -import { showModal } from "@/contentScript/modalDom"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { STATE_CHANGE_JS_EVENT_TYPE } from "@/platform/state/stateTypes"; +import { expectContext } from "../utils/expectContext"; +import { showModal } from "./modalDom"; +import { isLoadedInIframe } from "../utils/iframeUtils"; +import { STATE_CHANGE_JS_EVENT_TYPE } from "../platform/state/stateTypes"; export async function createFrameSource( nonce: string, @@ -166,7 +166,7 @@ export async function ephemeralPanel({ const { showPopover } = await import( /* webpackChunkName: "popoverDom" */ - "@/contentScript/popoverDom" + "./popoverDom" ); const popover = showPopover({ diff --git a/src/contentScript/ephemeralPanelController.tsx b/applications/browser-extension/src/contentScript/ephemeralPanelController.tsx similarity index 91% rename from src/contentScript/ephemeralPanelController.tsx rename to applications/browser-extension/src/contentScript/ephemeralPanelController.tsx index 892bb1753c..131c4fdb9c 100644 --- a/src/contentScript/ephemeralPanelController.tsx +++ b/applications/browser-extension/src/contentScript/ephemeralPanelController.tsx @@ -16,8 +16,8 @@ */ import { type TemporaryPanelEntry } from "@/types/sidebarTypes"; -import { expectContext } from "@/utils/expectContext"; -import panelInThisTab from "@/bricks/transformers/temporaryInfo/messenger/api"; +import { expectContext } from "../utils/expectContext"; +import panelInThisTab from "../bricks/transformers/temporaryInfo/messenger/api"; import { type UUID } from "@/types/stringTypes"; import { type Except } from "type-fest"; import { getTimedSequence } from "@/types/helpers"; diff --git a/src/contentScript/executor.ts b/applications/browser-extension/src/contentScript/executor.ts similarity index 88% rename from src/contentScript/executor.ts rename to applications/browser-extension/src/contentScript/executor.ts index f8e8e7b441..3a65029eca 100644 --- a/src/contentScript/executor.ts +++ b/applications/browser-extension/src/contentScript/executor.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; -import { type RunBrickRequest } from "@/contentScript/messenger/runBrickTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import contentScriptPlatform from "@/contentScript/contentScriptPlatform"; +import brickRegistry from "../bricks/registry"; +import { type RunBrickRequest } from "./messenger/runBrickTypes"; +import { BusinessError } from "../errors/businessErrors"; +import contentScriptPlatform from "./contentScriptPlatform"; /** * Handle a remote brick run request from another tab/frame. diff --git a/src/contentScript/focusCaptureDialog.scss b/applications/browser-extension/src/contentScript/focusCaptureDialog.scss similarity index 100% rename from src/contentScript/focusCaptureDialog.scss rename to applications/browser-extension/src/contentScript/focusCaptureDialog.scss diff --git a/src/contentScript/focusCaptureDialog.ts b/applications/browser-extension/src/contentScript/focusCaptureDialog.ts similarity index 96% rename from src/contentScript/focusCaptureDialog.ts rename to applications/browser-extension/src/contentScript/focusCaptureDialog.ts index 1da1a97485..e69afe6718 100644 --- a/src/contentScript/focusCaptureDialog.ts +++ b/applications/browser-extension/src/contentScript/focusCaptureDialog.ts @@ -20,8 +20,8 @@ import { onContextInvalidated } from "webext-events"; import { type AbortSignalAsOptions, memoizeUntilSettled, -} from "@/utils/promiseUtils"; -import cssText from "@/contentScript/focusCaptureDialog.scss?loadAsText"; +} from "../utils/promiseUtils"; +import cssText from "./focusCaptureDialog.scss?loadAsText"; type FocusCaptureDialogOptions = { message: string; diff --git a/src/contentScript/integrations/LoginBanners.scss b/applications/browser-extension/src/contentScript/integrations/LoginBanners.scss similarity index 100% rename from src/contentScript/integrations/LoginBanners.scss rename to applications/browser-extension/src/contentScript/integrations/LoginBanners.scss diff --git a/src/contentScript/integrations/LoginBanners.test.tsx b/applications/browser-extension/src/contentScript/integrations/LoginBanners.test.tsx similarity index 93% rename from src/contentScript/integrations/LoginBanners.test.tsx rename to applications/browser-extension/src/contentScript/integrations/LoginBanners.test.tsx index c842055a2e..1faeab47f5 100644 --- a/src/contentScript/integrations/LoginBanners.test.tsx +++ b/applications/browser-extension/src/contentScript/integrations/LoginBanners.test.tsx @@ -17,8 +17,8 @@ import React from "react"; import { render, screen } from "@testing-library/react"; -import LoginBanners from "@/contentScript/integrations/LoginBanners"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; +import LoginBanners from "./LoginBanners"; +import { sanitizedIntegrationConfigFactory } from "../../testUtils/factories/integrationFactories"; import userEvent from "@testing-library/user-event"; // I couldn't get shadow-dom-testing-library working diff --git a/src/contentScript/integrations/LoginBanners.tsx b/applications/browser-extension/src/contentScript/integrations/LoginBanners.tsx similarity index 81% rename from src/contentScript/integrations/LoginBanners.tsx rename to applications/browser-extension/src/contentScript/integrations/LoginBanners.tsx index c16a97990b..2f3b4797b4 100644 --- a/src/contentScript/integrations/LoginBanners.tsx +++ b/applications/browser-extension/src/contentScript/integrations/LoginBanners.tsx @@ -16,17 +16,17 @@ */ import React from "react"; -import AsyncButton from "@/components/AsyncButton"; -import EmotionShadowRoot, { styleReset } from "@/components/EmotionShadowRoot"; +import AsyncButton from "../../components/AsyncButton"; +import EmotionShadowRoot, { styleReset } from "../../components/EmotionShadowRoot"; import { Alert } from "react-bootstrap"; -import bootstrapUrl from "@/vendors/bootstrapWithoutRem.css?loadAsUrl"; +import bootstrapUrl from "../../vendors/bootstrapWithoutRem.css?loadAsUrl"; import stylesUrl from "./LoginBanners.scss?loadAsUrl"; -import { Stylesheets } from "@/components/Stylesheets"; -import type { DeferredLogin } from "@/contentScript/integrations/deferredLoginTypes"; -import { launchInteractiveOAuthFlow } from "@/background/messenger/api"; -import { type UUID } from "@/types/stringTypes"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import notify from "@/utils/notify"; +import { Stylesheets } from "../../components/Stylesheets"; +import type { DeferredLogin } from "./deferredLoginTypes"; +import { launchInteractiveOAuthFlow } from "../../background/messenger/api"; +import { type UUID } from "../../types/stringTypes"; +import { getErrorMessage } from "../../errors/errorHelpers"; +import notify from "../../utils/notify"; const LoginBanner: React.FC void }> = ({ integration, diff --git a/src/contentScript/integrations/bannerDomController.tsx b/applications/browser-extension/src/contentScript/integrations/bannerDomController.tsx similarity index 93% rename from src/contentScript/integrations/bannerDomController.tsx rename to applications/browser-extension/src/contentScript/integrations/bannerDomController.tsx index 341f9fd47c..49e4b775cc 100644 --- a/src/contentScript/integrations/bannerDomController.tsx +++ b/applications/browser-extension/src/contentScript/integrations/bannerDomController.tsx @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import type { UUID } from "@/types/stringTypes"; +import type { UUID } from "../../types/stringTypes"; import { render, unmountComponentAtNode } from "react-dom"; import React from "react"; -import LoginBanners from "@/contentScript/integrations/LoginBanners"; -import type { DeferredLogin } from "@/contentScript/integrations/deferredLoginTypes"; -import { MAX_Z_INDEX } from "@/domConstants"; +import LoginBanners from "./LoginBanners"; +import type { DeferredLogin } from "./deferredLoginTypes"; +import { MAX_Z_INDEX } from "../../domConstants"; let bannerContainer: HTMLDivElement | null = null; let dismissLogin: ((configId: UUID) => void) | null = null; diff --git a/src/contentScript/integrations/deferredLoginController.test.tsx b/applications/browser-extension/src/contentScript/integrations/deferredLoginController.test.tsx similarity index 84% rename from src/contentScript/integrations/deferredLoginController.test.tsx rename to applications/browser-extension/src/contentScript/integrations/deferredLoginController.test.tsx index 72dcb5c5c7..4860811f20 100644 --- a/src/contentScript/integrations/deferredLoginController.test.tsx +++ b/applications/browser-extension/src/contentScript/integrations/deferredLoginController.test.tsx @@ -21,14 +21,14 @@ import { showBannerFromConfig, clearDeferredLogins, dismissDeferredLogin, -} from "@/contentScript/integrations/deferredLoginController"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { RequestSupersededError } from "@/errors/businessErrors"; -import { showLoginBanner } from "@/contentScript/messenger/api"; -import type { Target } from "@/types/messengerTypes"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import integrationRegistry from "@/integrations/registry"; -import { waitForEffect } from "@/testUtils/testHelpers"; +} from "./deferredLoginController"; +import { sanitizedIntegrationConfigFactory } from "../../testUtils/factories/integrationFactories"; +import { RequestSupersededError } from "../../errors/businessErrors"; +import { showLoginBanner } from "../messenger/api"; +import type { Target } from "../../types/messengerTypes"; +import type { SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import integrationRegistry from "../../integrations/registry"; +import { waitForEffect } from "../../testUtils/testHelpers"; // I couldn't get shadow-dom-testing-library working jest.mock("react-shadow/emotion", () => ({ @@ -40,7 +40,7 @@ jest.mock("react-shadow/emotion", () => ({ }, })); -jest.mock("@/contentScript/messenger/api", () => ({ +jest.mock("../messenger/api", () => ({ showLoginBanner: jest.fn(), })); diff --git a/src/contentScript/integrations/deferredLoginController.ts b/applications/browser-extension/src/contentScript/integrations/deferredLoginController.ts similarity index 88% rename from src/contentScript/integrations/deferredLoginController.ts rename to applications/browser-extension/src/contentScript/integrations/deferredLoginController.ts index ae602a4b68..a65481a69d 100644 --- a/src/contentScript/integrations/deferredLoginController.ts +++ b/applications/browser-extension/src/contentScript/integrations/deferredLoginController.ts @@ -15,21 +15,21 @@ * along with this program. If not, see . */ -import { expectContext } from "@/utils/expectContext"; -import { oauth2Storage } from "@/auth/authConstants"; -import type { UUID } from "@/types/stringTypes"; +import { expectContext } from "../../utils/expectContext"; +import { oauth2Storage } from "../../auth/authConstants"; +import type { UUID } from "../../types/stringTypes"; import pDefer, { type DeferredPromise } from "p-defer"; -import { CancelError, RequestSupersededError } from "@/errors/businessErrors"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { CancelError, RequestSupersededError } from "../../errors/businessErrors"; +import type { SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; import { hideAllLoginBanners, hideLoginBanner, showLoginBanner, -} from "@/contentScript/integrations/bannerDomController"; -import integrationRegistry from "@/integrations/registry"; +} from "./bannerDomController"; +import integrationRegistry from "../../integrations/registry"; import { onContextInvalidated } from "webext-events"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { showLoginBanner as messengerApiShowLoginBanner } from "@/contentScript/messenger/api"; +import { isLoadedInIframe } from "../../utils/iframeUtils"; +import { showLoginBanner as messengerApiShowLoginBanner } from "../messenger/api"; import { getTopLevelFrame } from "webext-messenger"; /** diff --git a/src/contentScript/integrations/deferredLoginTypes.ts b/applications/browser-extension/src/contentScript/integrations/deferredLoginTypes.ts similarity index 96% rename from src/contentScript/integrations/deferredLoginTypes.ts rename to applications/browser-extension/src/contentScript/integrations/deferredLoginTypes.ts index 99bfd2887e..c644820af0 100644 --- a/src/contentScript/integrations/deferredLoginTypes.ts +++ b/applications/browser-extension/src/contentScript/integrations/deferredLoginTypes.ts @@ -18,7 +18,7 @@ import type { Integration, SanitizedIntegrationConfig, -} from "@/integrations/integrationTypes"; +} from "../../integrations/integrationTypes"; /** * An interactive login that's being deferred until the user initiates the login. diff --git a/src/contentScript/lifecycle.test.ts b/applications/browser-extension/src/contentScript/lifecycle.test.ts similarity index 90% rename from src/contentScript/lifecycle.test.ts rename to applications/browser-extension/src/contentScript/lifecycle.test.ts index 3b4dbde273..3a6692769f 100644 --- a/src/contentScript/lifecycle.test.ts +++ b/applications/browser-extension/src/contentScript/lifecycle.test.ts @@ -16,27 +16,27 @@ */ import { define } from "cooky-cutter"; -import { type StarterBrickDefinitionLike } from "@/starterBricks/types"; +import { type StarterBrickDefinitionLike } from "../starterBricks/types"; import { fromJS, type TriggerConfig, type TriggerDefinition, -} from "@/starterBricks/trigger/triggerStarterBrick"; +} from "../starterBricks/trigger/triggerStarterBrick"; import { validateRegistryId } from "@/types/helpers"; import { type Metadata, DefinitionKinds } from "@/types/registryTypes"; import { type ActivatedModComponent } from "@/types/modComponentTypes"; -import { type BrickPipeline } from "@/bricks/types"; -import { RootReader, tick } from "@/starterBricks/testHelpers"; -import brickRegistry from "@/bricks/registry"; -import { hydrateModComponentInnerDefinitions } from "@/registry/hydrateInnerDefinitions"; +import { type BrickPipeline } from "../bricks/types"; +import { RootReader, tick } from "../starterBricks/testHelpers"; +import brickRegistry from "../bricks/registry"; +import { hydrateModComponentInnerDefinitions } from "../registry/hydrateInnerDefinitions"; import { timestampFactory, uuidSequence, -} from "@/testUtils/factories/stringFactories"; -import { type getModComponentState } from "@/store/modComponents/modComponentStorage"; -import { getPlatform } from "@/platform/platformContext"; +} from "../testUtils/factories/stringFactories"; +import { type getModComponentState } from "../store/modComponents/modComponentStorage"; +import { getPlatform } from "../platform/platformContext"; import { StarterBrickTypes } from "@/types/starterBrickTypes"; -import { modMetadataFactory } from "@/testUtils/factories/modComponentFactories"; +import { modMetadataFactory } from "../testUtils/factories/modComponentFactories"; import { RunReason } from "@/types/runtimeTypes"; let starterBrickRegistry: any; @@ -92,16 +92,16 @@ const activatedModComponentFactory = define< describe("lifecycle", () => { beforeEach(() => { jest.isolateModules(() => { - jest.mock("@/store/modComponents/modComponentStorage", () => ({ + jest.mock("../store/modComponents/modComponentStorage", () => ({ getModComponentState: jest .fn() .mockRejectedValue(new Error("Mock not implemented")), })); - lifecycleModule = require("@/contentScript/lifecycle"); - starterBrickRegistry = require("@/starterBricks/registry").default; + lifecycleModule = require("./lifecycle"); + starterBrickRegistry = require("../starterBricks/registry").default; getModComponentStateMock = - require("@/store/modComponents/modComponentStorage").getModComponentState; + require("../store/modComponents/modComponentStorage").getModComponentState; }); window.document.body.innerHTML = ""; diff --git a/src/contentScript/lifecycle.ts b/applications/browser-extension/src/contentScript/lifecycle.ts similarity index 94% rename from src/contentScript/lifecycle.ts rename to applications/browser-extension/src/contentScript/lifecycle.ts index a99d538080..d9a42138da 100644 --- a/src/contentScript/lifecycle.ts +++ b/applications/browser-extension/src/contentScript/lifecycle.ts @@ -15,19 +15,19 @@ * along with this program. If not, see . */ -import { getModComponentState } from "@/store/modComponents/modComponentStorage"; -import starterBrickRegistry from "@/starterBricks/registry"; -import { updateNavigationId } from "@/contentScript/context"; -import * as sidebar from "@/contentScript/sidebarController"; -import { NAVIGATION_RULES } from "@/contrib/navigationRules"; -import { testMatchPatterns } from "@/bricks/available"; -import reportError from "@/telemetry/reportError"; +import { getModComponentState } from "../store/modComponents/modComponentStorage"; +import starterBrickRegistry from "../starterBricks/registry"; +import { updateNavigationId } from "./context"; +import * as sidebar from "./sidebarController"; +import { NAVIGATION_RULES } from "../contrib/navigationRules"; +import { testMatchPatterns } from "../bricks/available"; +import reportError from "../telemetry/reportError"; import { compact, debounce, groupBy, intersection, uniq } from "lodash"; import oneEvent from "one-event"; -import { hydrateModComponentInnerDefinitions } from "@/registry/hydrateInnerDefinitions"; -import { traces } from "@/background/messenger/api"; -import { isDeploymentActive } from "@/utils/deploymentUtils"; -import { PromiseCancelled } from "@/errors/genericErrors"; +import { hydrateModComponentInnerDefinitions } from "../registry/hydrateInnerDefinitions"; +import { traces } from "../background/messenger/api"; +import { isDeploymentActive } from "../utils/deploymentUtils"; +import { PromiseCancelled } from "../errors/genericErrors"; import { getThisFrame } from "webext-messenger"; import { type StarterBrick, @@ -37,25 +37,22 @@ import { type UUID } from "@/types/stringTypes"; import { type RegistryId } from "@/types/registryTypes"; import { RunReason } from "@/types/runtimeTypes"; import { type HydratedModComponent } from "@/types/modComponentTypes"; -import { type SidebarStarterBrickABC } from "@/starterBricks/sidebar/sidebarStarterBrick"; -import { - getReloadOnNextNavigate, - setReloadOnNextNavigate, -} from "@/contentScript/ready"; +import { type SidebarStarterBrickABC } from "../starterBricks/sidebar/sidebarStarterBrick"; +import { getReloadOnNextNavigate, setReloadOnNextNavigate } from "./ready"; import { allSettled, logPromiseDuration, pollUntilTruthy, -} from "@/utils/promiseUtils"; -import { $safeFind } from "@/utils/domUtils"; +} from "../utils/promiseUtils"; +import { $safeFind } from "../utils/domUtils"; import { onContextInvalidated } from "webext-events"; -import { ContextMenuStarterBrickABC } from "@/starterBricks/contextMenu/contextMenuStarterBrick"; +import { ContextMenuStarterBrickABC } from "../starterBricks/contextMenu/contextMenuStarterBrick"; import { ReusableAbortController } from "abort-utils"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { notifyNavigationComplete } from "@/contentScript/sidebarController"; +import { isLoadedInIframe } from "../utils/iframeUtils"; +import { notifyNavigationComplete } from "./sidebarController"; import pDefer from "p-defer"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { selectActivatedModComponents } from "@/store/modComponents/modComponentSelectors"; +import { assertNotNullish } from "../utils/nullishUtils"; +import { selectActivatedModComponents } from "../store/modComponents/modComponentSelectors"; /** * True if handling the initial frame load. diff --git a/src/contentScript/loadActivationEnhancements.ts b/applications/browser-extension/src/contentScript/loadActivationEnhancements.ts similarity index 89% rename from src/contentScript/loadActivationEnhancements.ts rename to applications/browser-extension/src/contentScript/loadActivationEnhancements.ts index bcd72347d0..290e415d89 100644 --- a/src/contentScript/loadActivationEnhancements.ts +++ b/applications/browser-extension/src/contentScript/loadActivationEnhancements.ts @@ -20,8 +20,8 @@ // which is behind a guarded dynamic import. // https://github.com/pixiebrix/webext-messenger/issues/88 -import { initRuntimeLogging } from "@/development/runtimeLogging"; -import { loadActivationEnhancements } from "@/contentScript/loadActivationEnhancementsCore"; +import { initRuntimeLogging } from "../development/runtimeLogging"; +import { loadActivationEnhancements } from "./loadActivationEnhancementsCore"; // eslint-disable-next-line prefer-destructuring -- process.env substitution const DEBUG = process.env.DEBUG; diff --git a/src/contentScript/loadActivationEnhancementsCore.test.ts b/applications/browser-extension/src/contentScript/loadActivationEnhancementsCore.test.ts similarity index 88% rename from src/contentScript/loadActivationEnhancementsCore.test.ts rename to applications/browser-extension/src/contentScript/loadActivationEnhancementsCore.test.ts index 9df19ed2b0..0ba8bb2dcf 100644 --- a/src/contentScript/loadActivationEnhancementsCore.test.ts +++ b/applications/browser-extension/src/contentScript/loadActivationEnhancementsCore.test.ts @@ -15,41 +15,41 @@ * along with this program. If not, see . */ -import { showModActivationInSidebar } from "@/contentScript/sidebarController"; -import { initSidebarActivation } from "@/contentScript/sidebarActivation"; -import { getActivatedModIds } from "@/store/modComponents/modComponentStorage"; -import { getDocument } from "@/starterBricks/testHelpers"; +import { showModActivationInSidebar } from "./sidebarController"; +import { initSidebarActivation } from "./sidebarActivation"; +import { getActivatedModIds } from "../store/modComponents/modComponentStorage"; +import { getDocument } from "../starterBricks/testHelpers"; import { validateRegistryId } from "@/types/helpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { getActivatingMods } from "@/background/messenger/external/_implementation"; -import { modComponentFactory } from "@/testUtils/factories/modComponentFactories"; +import { waitForEffect } from "../testUtils/testHelpers"; +import { getActivatingMods } from "../background/messenger/external/_implementation"; +import { modComponentFactory } from "../testUtils/factories/modComponentFactories"; import { loadActivationEnhancements, TEST_unloadActivationEnhancements, -} from "@/contentScript/loadActivationEnhancementsCore"; -import { getContentScriptState } from "@/contentScript/ready"; -import { isLinked } from "@/auth/authStorage"; +} from "./loadActivationEnhancementsCore"; +import { getContentScriptState } from "./ready"; +import { isLinked } from "../auth/authStorage"; import { array } from "cooky-cutter"; -import { MARKETPLACE_URL } from "@/urlConstants"; +import { MARKETPLACE_URL } from "../urlConstants"; import { type RegistryId } from "@/types/registryTypes"; -jest.mock("@/contentScript/sidebarController", () => ({ +jest.mock("./sidebarController", () => ({ ...jest.requireActual("@/contentScript/sidebarController"), showSidebar: jest.fn(), showModActivationInSidebar: jest.fn(), })); -jest.mock("@/auth/authStorage", () => ({ +jest.mock("../auth/authStorage", () => ({ isLinked: jest.fn().mockResolvedValue(true), addListener: jest.fn(), })); const isLinkedMock = jest.mocked(isLinked); -jest.mock("@/contentScript/ready"); -jest.mock("@/store/modComponents/modComponentStorage"); -jest.mock("@/background/messenger/external/_implementation"); -jest.mock("@/sidebar/store"); +jest.mock("./ready"); +jest.mock("../store/modComponents/modComponentStorage"); +jest.mock("../background/messenger/external/_implementation"); +jest.mock("../sidebar/store"); const showSidebarMock = jest.mocked(showModActivationInSidebar); const getActivatedModIdsMock = jest.mocked(getActivatedModIds); diff --git a/src/contentScript/loadActivationEnhancementsCore.ts b/applications/browser-extension/src/contentScript/loadActivationEnhancementsCore.ts similarity index 91% rename from src/contentScript/loadActivationEnhancementsCore.ts rename to applications/browser-extension/src/contentScript/loadActivationEnhancementsCore.ts index 571c6e2789..c1bf684332 100644 --- a/src/contentScript/loadActivationEnhancementsCore.ts +++ b/applications/browser-extension/src/contentScript/loadActivationEnhancementsCore.ts @@ -16,15 +16,15 @@ */ import { isEmpty, startsWith } from "lodash"; -import { DEFAULT_SERVICE_URL, MARKETPLACE_URL } from "@/urlConstants"; -import { getActivatedModIds } from "@/store/modComponents/modComponentStorage"; -import { pollUntilTruthy } from "@/utils/promiseUtils"; -import { getContentScriptState } from "@/contentScript/ready"; -import { getRegistryIdsFromActivateUrlSearchParams } from "@/activation/activationLinkUtils"; +import { DEFAULT_SERVICE_URL, MARKETPLACE_URL } from "../urlConstants"; +import { getActivatedModIds } from "../store/modComponents/modComponentStorage"; +import { pollUntilTruthy } from "../utils/promiseUtils"; +import { getContentScriptState } from "./ready"; +import { getRegistryIdsFromActivateUrlSearchParams } from "../activation/activationLinkUtils"; import { type ACTIVATE_EVENT_DETAIL, ACTIVATE_EVENT_TYPE, -} from "@/contentScript/activationConstants"; +} from "./activationConstants"; let enhancementsLoaded = false; diff --git a/src/contentScript/messenger/api.ts b/applications/browser-extension/src/contentScript/messenger/api.ts similarity index 98% rename from src/contentScript/messenger/api.ts rename to applications/browser-extension/src/contentScript/messenger/api.ts index 9ecff393d7..6f1882617b 100644 --- a/src/contentScript/messenger/api.ts +++ b/applications/browser-extension/src/contentScript/messenger/api.ts @@ -17,7 +17,7 @@ /* Do not use `registerMethod` in this file */ import { getMethod, getNotifier } from "webext-messenger"; -import { forEachTab } from "@/utils/extensionUtils"; +import { forEachTab } from "../../utils/extensionUtils"; const queueReloadFrameMods = getNotifier("QUEUE_RELOAD_FRAME_MODS"); diff --git a/src/contentScript/messenger/registration.ts b/applications/browser-extension/src/contentScript/messenger/registration.ts similarity index 75% rename from src/contentScript/messenger/registration.ts rename to applications/browser-extension/src/contentScript/messenger/registration.ts index 887e60fbea..7e4734239a 100644 --- a/src/contentScript/messenger/registration.ts +++ b/applications/browser-extension/src/contentScript/messenger/registration.ts @@ -23,47 +23,47 @@ import { updateSidebar, removeModComponents as removeSidebars, getReservedPanelEntries, -} from "@/contentScript/sidebarController"; -import { handleMenuAction } from "@/contentScript/contextMenus"; +} from "../sidebarController"; +import { handleMenuAction } from "../contextMenus"; import { getFormDefinition, resolveForm, cancelForm, -} from "@/platform/forms/formController"; -import { checkAvailable } from "@/bricks/available"; -import notify from "@/utils/notify"; +} from "../../platform/forms/formController"; +import { checkAvailable } from "../../bricks/available"; +import notify from "../../utils/notify"; import { getState, setState, -} from "@/contentScript/stateController/stateController"; +} from "../stateController/stateController"; import { cancelTemporaryPanels, getPanelDefinition, resolveTemporaryPanel, stopWaitingForTemporaryPanels, -} from "@/platform/panels/panelController"; -import { closeWalkthroughModal } from "@/contentScript/walkthroughModalProtocol"; -import showWalkthroughModal from "@/components/walkthroughModal/showWalkthroughModal"; +} from "../../platform/panels/panelController"; +import { closeWalkthroughModal } from "../walkthroughModalProtocol"; +import showWalkthroughModal from "../../components/walkthroughModal/showWalkthroughModal"; import { registerMethods } from "webext-messenger"; -import { toggleQuickBar } from "@/components/quickBar/QuickBarApp"; -import { cancelSelect } from "@/contentScript/pageEditor/elementPicker"; -import { reloadActivationEnhancements } from "@/contentScript/loadActivationEnhancementsCore"; -import { getAttributeExamples } from "@/contentScript/pageEditor/elementInformation"; -import selectElement from "@/contentScript/pageEditor/selectElement"; -import { insertButton } from "@/contentScript/pageEditor/insertButton"; +import { toggleQuickBar } from "../../components/quickBar/QuickBarApp"; +import { cancelSelect } from "../pageEditor/elementPicker"; +import { reloadActivationEnhancements } from "../loadActivationEnhancementsCore"; +import { getAttributeExamples } from "../pageEditor/elementInformation"; +import selectElement from "../pageEditor/selectElement"; +import { insertButton } from "../pageEditor/insertButton"; import { disableOverlay, enableOverlay, -} from "@/contentScript/pageEditor/draft/overlay"; -import { runMapArgs } from "@/contentScript/pipelineProtocol/runMapArgs"; -import { getCopilotHostData } from "@/contrib/automationanywhere/SetCopilotDataEffect"; -import { showBannerFromConfig } from "@/contentScript/integrations/deferredLoginController"; -import { runBrickPreview } from "@/contentScript/pageEditor/runBrickPreview"; -import { runBrick } from "@/contentScript/executor"; -import { runHeadlessPipeline } from "@/contentScript/pipelineProtocol/runHeadlessPipeline"; -import { runRendererBrick } from "@/contentScript/pageEditor/runRendererBrick"; -import { runRendererPipeline } from "@/contentScript/pipelineProtocol/runRendererPipeline"; -import { runStarterBrickReaderPreview } from "@/contentScript/pageEditor/draft/runStarterBrickReaderPreview"; +} from "../pageEditor/draft/overlay"; +import { runMapArgs } from "../pipelineProtocol/runMapArgs"; +import { getCopilotHostData } from "../../contrib/automationanywhere/SetCopilotDataEffect"; +import { showBannerFromConfig } from "../integrations/deferredLoginController"; +import { runBrickPreview } from "../pageEditor/runBrickPreview"; +import { runBrick } from "../executor"; +import { runHeadlessPipeline } from "../pipelineProtocol/runHeadlessPipeline"; +import { runRendererBrick } from "../pageEditor/runRendererBrick"; +import { runRendererPipeline } from "../pipelineProtocol/runRendererPipeline"; +import { runStarterBrickReaderPreview } from "../pageEditor/draft/runStarterBrickReaderPreview"; import { activatePrerenderedTab, ensureStarterBricksInstalled, @@ -72,10 +72,10 @@ import { reloadFrameMods, removeActivatedModComponent, removeDraftModComponents, -} from "@/contentScript/lifecycle"; -import { updateDraftModComponent } from "@/contentScript/pageEditor/draft/updateDraftModComponent"; -import { resetTab } from "@/contentScript/pageEditor/resetTab"; -import { emitAudioEvent } from "@/contentScript/audio"; +} from "../lifecycle"; +import { updateDraftModComponent } from "../pageEditor/draft/updateDraftModComponent"; +import { resetTab } from "../pageEditor/resetTab"; +import { emitAudioEvent } from "../audio"; declare global { interface MessengerMethods { diff --git a/src/contentScript/messenger/runBrickTypes.ts b/applications/browser-extension/src/contentScript/messenger/runBrickTypes.ts similarity index 82% rename from src/contentScript/messenger/runBrickTypes.ts rename to applications/browser-extension/src/contentScript/messenger/runBrickTypes.ts index c4969a723e..e0b1e79ea8 100644 --- a/src/contentScript/messenger/runBrickTypes.ts +++ b/applications/browser-extension/src/contentScript/messenger/runBrickTypes.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type MessageContext } from "@/types/loggerTypes"; -import { type RegistryId } from "@/types/registryTypes"; -import { type BrickArgs, type RunMetadata } from "@/types/runtimeTypes"; -import { type Availability } from "@/types/availabilityTypes"; +import { type MessageContext } from "../../types/loggerTypes"; +import { type RegistryId } from "../../types/registryTypes"; +import { type BrickArgs, type RunMetadata } from "../../types/runtimeTypes"; +import { type Availability } from "../../types/availabilityTypes"; /** * @see BrickOptions diff --git a/src/contentScript/modalDom.tsx b/applications/browser-extension/src/contentScript/modalDom.tsx similarity index 93% rename from src/contentScript/modalDom.tsx rename to applications/browser-extension/src/contentScript/modalDom.tsx index 3428fbb9af..1f6e10a83b 100644 --- a/src/contentScript/modalDom.tsx +++ b/applications/browser-extension/src/contentScript/modalDom.tsx @@ -16,10 +16,10 @@ */ import React from "react"; -import { expectContext } from "@/utils/expectContext"; -import { renderWidget } from "@/utils/reactUtils"; -import useScrollLock from "@/hooks/useScrollLock"; -import useAbortSignal from "@/hooks/useAbortSignal"; +import { expectContext } from "../utils/expectContext"; +import { renderWidget } from "../utils/reactUtils"; +import useScrollLock from "../hooks/useScrollLock"; +import useAbortSignal from "../hooks/useAbortSignal"; // This cannot be moved to globals.d.ts because it's a module augmentation // https://stackoverflow.com/a/42085876/288906 diff --git a/src/contentScript/pageEditor/beautify.ts b/applications/browser-extension/src/contentScript/pageEditor/beautify.ts similarity index 100% rename from src/contentScript/pageEditor/beautify.ts rename to applications/browser-extension/src/contentScript/pageEditor/beautify.ts diff --git a/src/contentScript/pageEditor/draft/overlay.ts b/applications/browser-extension/src/contentScript/pageEditor/draft/overlay.ts similarity index 87% rename from src/contentScript/pageEditor/draft/overlay.ts rename to applications/browser-extension/src/contentScript/pageEditor/draft/overlay.ts index 56f10f57c6..54225a7a93 100644 --- a/src/contentScript/pageEditor/draft/overlay.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/draft/overlay.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { $safeFind } from "@/utils/domUtils"; -import { expectContext } from "@/utils/expectContext"; -import Overlay from "@/vendors/Overlay"; +import { $safeFind } from "../../../utils/domUtils"; +import { expectContext } from "../../../utils/expectContext"; +import Overlay from "../../../vendors/Overlay"; let _overlay: Overlay | null = null; diff --git a/src/contentScript/pageEditor/draft/runStarterBrickReaderPreview.ts b/applications/browser-extension/src/contentScript/pageEditor/draft/runStarterBrickReaderPreview.ts similarity index 100% rename from src/contentScript/pageEditor/draft/runStarterBrickReaderPreview.ts rename to applications/browser-extension/src/contentScript/pageEditor/draft/runStarterBrickReaderPreview.ts diff --git a/src/contentScript/pageEditor/draft/updateDraftModComponent.ts b/applications/browser-extension/src/contentScript/pageEditor/draft/updateDraftModComponent.ts similarity index 100% rename from src/contentScript/pageEditor/draft/updateDraftModComponent.ts rename to applications/browser-extension/src/contentScript/pageEditor/draft/updateDraftModComponent.ts diff --git a/src/contentScript/pageEditor/elementInformation.test.ts b/applications/browser-extension/src/contentScript/pageEditor/elementInformation.test.ts similarity index 94% rename from src/contentScript/pageEditor/elementInformation.test.ts rename to applications/browser-extension/src/contentScript/pageEditor/elementInformation.test.ts index 4eb123feb0..caeb349f38 100644 --- a/src/contentScript/pageEditor/elementInformation.test.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/elementInformation.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { getAttributeExamples } from "@/contentScript/pageEditor/elementInformation"; +import { getAttributeExamples } from "./elementInformation"; describe("getAttributeExamples", () => { it("gets attributes", () => { diff --git a/src/contentScript/pageEditor/elementInformation.ts b/applications/browser-extension/src/contentScript/pageEditor/elementInformation.ts similarity index 92% rename from src/contentScript/pageEditor/elementInformation.ts rename to applications/browser-extension/src/contentScript/pageEditor/elementInformation.ts index f4f6f60a7d..5a6a654e3b 100644 --- a/src/contentScript/pageEditor/elementInformation.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/elementInformation.ts @@ -16,9 +16,9 @@ */ import { uniqBy } from "lodash"; -import { type AttributeExample } from "@/contentScript/pageEditor/types"; +import { type AttributeExample } from "./types"; -import { $safeFind } from "@/utils/domUtils"; +import { $safeFind } from "../../utils/domUtils"; /** * Returns attributes available an _any_ of the elements matching the selector. Returns the first example per attribute. diff --git a/src/contentScript/pageEditor/elementPicker.test.ts b/applications/browser-extension/src/contentScript/pageEditor/elementPicker.test.ts similarity index 87% rename from src/contentScript/pageEditor/elementPicker.test.ts rename to applications/browser-extension/src/contentScript/pageEditor/elementPicker.test.ts index 11a5d85de9..024b0afad9 100644 --- a/src/contentScript/pageEditor/elementPicker.test.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/elementPicker.test.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { userSelectElement } from "@/contentScript/pageEditor/elementPicker"; -import { BusinessError } from "@/errors/businessErrors"; -import showSelectionToolPopover from "@/components/selectionToolPopover/showSelectionToolPopover"; +import { userSelectElement } from "./elementPicker"; +import { BusinessError } from "../../errors/businessErrors"; +import showSelectionToolPopover from "../../components/selectionToolPopover/showSelectionToolPopover"; // Mock because the React vs. JSDOM event handling and dom manipulation isn't playing nicely together -jest.mock("@/components/selectionToolPopover/showSelectionToolPopover"); +jest.mock("../../components/selectionToolPopover/showSelectionToolPopover"); const showSelectionToolPopoverMock = jest.mocked(showSelectionToolPopover); diff --git a/src/contentScript/pageEditor/elementPicker.ts b/applications/browser-extension/src/contentScript/pageEditor/elementPicker.ts similarity index 95% rename from src/contentScript/pageEditor/elementPicker.ts rename to applications/browser-extension/src/contentScript/pageEditor/elementPicker.ts index 57d2168f3b..d3adf2487e 100644 --- a/src/contentScript/pageEditor/elementPicker.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/elementPicker.ts @@ -16,15 +16,15 @@ * along with this program. If not, see . */ -import Overlay from "@/vendors/Overlay"; +import Overlay from "../../vendors/Overlay"; import ReactDOM from "react-dom"; -import { expandedCssSelector } from "@/utils/inference/selectorInference"; +import { expandedCssSelector } from "../../utils/inference/selectorInference"; import { compact, difference, uniq } from "lodash"; -import type { SelectionHandlerType } from "@/components/selectionToolPopover/SelectionToolPopover"; -import { BusinessError, CancelError } from "@/errors/businessErrors"; -import { FLOATING_ACTION_BUTTON_CONTAINER_ID } from "@/components/floatingActions/floatingActionsConstants"; +import type { SelectionHandlerType } from "../../components/selectionToolPopover/SelectionToolPopover"; +import { BusinessError, CancelError } from "../../errors/businessErrors"; +import { FLOATING_ACTION_BUTTON_CONTAINER_ID } from "../../components/floatingActions/floatingActionsConstants"; import { onContextInvalidated } from "webext-events"; -import showSelectionToolPopover from "@/components/selectionToolPopover/showSelectionToolPopover"; +import showSelectionToolPopover from "../../components/selectionToolPopover/showSelectionToolPopover"; /** * Primary overlay that moved with the user's mouse/selection. diff --git a/src/contentScript/pageEditor/insertButton.tsx b/applications/browser-extension/src/contentScript/pageEditor/insertButton.tsx similarity index 87% rename from src/contentScript/pageEditor/insertButton.tsx rename to applications/browser-extension/src/contentScript/pageEditor/insertButton.tsx index 52364aaa17..e4afabf027 100644 --- a/src/contentScript/pageEditor/insertButton.tsx +++ b/applications/browser-extension/src/contentScript/pageEditor/insertButton.tsx @@ -17,14 +17,14 @@ // https://github.com/facebook/react/blob/7559722a865e89992f75ff38c1015a865660c3cd/packages/react-devtools-shared/src/backend/views/Highlighter/index.js -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../types/helpers"; import { userSelectElement } from "./elementPicker"; -import * as pageScript from "@/pageScript/messenger/api"; -import { findContainer } from "@/utils/inference/selectorInference"; -import { PRIVATE_ATTRIBUTES_SELECTOR } from "@/domConstants"; -import { type ButtonSelectionResult } from "@/contentScript/pageEditor/types"; -import { inferButtonHTML } from "@/utils/inference/markupInference"; -import { StarterBrickTypes } from "@/types/starterBrickTypes"; +import * as pageScript from "../../pageScript/messenger/api"; +import { findContainer } from "../../utils/inference/selectorInference"; +import { PRIVATE_ATTRIBUTES_SELECTOR } from "../../domConstants"; +import { type ButtonSelectionResult } from "./types"; +import { inferButtonHTML } from "../../utils/inference/markupInference"; +import { StarterBrickTypes } from "../../types/starterBrickTypes"; const DEFAULT_ACTION_CAPTION = "Action"; diff --git a/src/contentScript/pageEditor/resetTab.ts b/applications/browser-extension/src/contentScript/pageEditor/resetTab.ts similarity index 88% rename from src/contentScript/pageEditor/resetTab.ts rename to applications/browser-extension/src/contentScript/pageEditor/resetTab.ts index cffee23644..54950c6117 100644 --- a/src/contentScript/pageEditor/resetTab.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/resetTab.ts @@ -18,8 +18,8 @@ import { reloadFrameMods, removeDraftModComponents, -} from "@/contentScript/lifecycle"; -import { stopInspectingNativeHandler } from "@/contentScript/pageEditor/elementPicker"; +} from "../lifecycle"; +import { stopInspectingNativeHandler } from "./elementPicker"; export async function resetTab(): Promise { stopInspectingNativeHandler(); diff --git a/src/contentScript/pageEditor/runBrickPreview.ts b/applications/browser-extension/src/contentScript/pageEditor/runBrickPreview.ts similarity index 86% rename from src/contentScript/pageEditor/runBrickPreview.ts rename to applications/browser-extension/src/contentScript/pageEditor/runBrickPreview.ts index f9311370bc..04b3ee8c9d 100644 --- a/src/contentScript/pageEditor/runBrickPreview.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/runBrickPreview.ts @@ -19,16 +19,16 @@ import { brickReducer, type IntermediateState, type ReduceOptions, -} from "@/runtime/reducePipeline"; +} from "../../runtime/reducePipeline"; import { cloneDeep } from "lodash"; -import ConsoleLogger from "@/utils/ConsoleLogger"; -import { type SerializableResponse } from "@/types/messengerTypes"; -import apiVersionOptions from "@/runtime/apiVersionOptions"; -import extendModVariableContext from "@/runtime/extendModVariableContext"; -import { $safeFind } from "@/utils/domUtils"; -import { BusinessError } from "@/errors/businessErrors"; -import { type RunBrickArgs } from "@/contentScript/pageEditor/types"; -import { type ModComponentRef } from "@/types/modComponentTypes"; +import ConsoleLogger from "../../utils/ConsoleLogger"; +import { type SerializableResponse } from "../../types/messengerTypes"; +import apiVersionOptions from "../../runtime/apiVersionOptions"; +import extendModVariableContext from "../../runtime/extendModVariableContext"; +import { $safeFind } from "../../utils/domUtils"; +import { BusinessError } from "../../errors/businessErrors"; +import { type RunBrickArgs } from "./types"; +import { type ModComponentRef } from "../../types/modComponentTypes"; /** * Run a single brick (e.g., for generating output previews) diff --git a/src/contentScript/pageEditor/runRendererBrick.ts b/applications/browser-extension/src/contentScript/pageEditor/runRendererBrick.ts similarity index 81% rename from src/contentScript/pageEditor/runRendererBrick.ts rename to applications/browser-extension/src/contentScript/pageEditor/runRendererBrick.ts index 38e577d6c8..1f84bf41b0 100644 --- a/src/contentScript/pageEditor/runRendererBrick.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/runRendererBrick.ts @@ -17,18 +17,18 @@ import { serializeError } from "serialize-error"; -import { CancelError, NoRendererError } from "@/errors/businessErrors"; -import { uuidv4 } from "@/types/helpers"; -import { type PanelPayload } from "@/types/sidebarTypes"; -import { HeadlessModeError } from "@/bricks/errors"; -import { showTemporarySidebarPanel } from "@/contentScript/sidebarController"; -import { waitForTemporaryPanel } from "@/platform/panels/panelController"; -import { type UUID } from "@/types/stringTypes"; -import { createFrameSource } from "@/contentScript/ephemeralPanel"; -import { showModal } from "@/contentScript/modalDom"; -import { runBrickPreview } from "@/contentScript/pageEditor/runBrickPreview"; -import { type RunBrickArgs } from "@/contentScript/pageEditor/types"; -import { type ModComponentRef } from "@/types/modComponentTypes"; +import { CancelError, NoRendererError } from "../../errors/businessErrors"; +import { uuidv4 } from "../../types/helpers"; +import { type PanelPayload } from "../../types/sidebarTypes"; +import { HeadlessModeError } from "../../bricks/errors"; +import { showTemporarySidebarPanel } from "../sidebarController"; +import { waitForTemporaryPanel } from "../../platform/panels/panelController"; +import { type UUID } from "../../types/stringTypes"; +import { createFrameSource } from "../ephemeralPanel"; +import { showModal } from "../modalDom"; +import { runBrickPreview } from "./runBrickPreview"; +import { type RunBrickArgs } from "./types"; +import { type ModComponentRef } from "../../types/modComponentTypes"; type Location = "modal" | "panel"; diff --git a/src/contentScript/pageEditor/selectElement.test.ts b/applications/browser-extension/src/contentScript/pageEditor/selectElement.test.ts similarity index 96% rename from src/contentScript/pageEditor/selectElement.test.ts rename to applications/browser-extension/src/contentScript/pageEditor/selectElement.test.ts index 0f000fe838..d9d8f0fb7c 100644 --- a/src/contentScript/pageEditor/selectElement.test.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/selectElement.test.ts @@ -16,10 +16,10 @@ */ import selectElement from "./selectElement"; -import showSelectionToolPopover from "@/components/selectionToolPopover/showSelectionToolPopover"; +import showSelectionToolPopover from "../../components/selectionToolPopover/showSelectionToolPopover"; // Mock because the React vs. JSDOM event handling and dom manipulation isn't playing nicely together -jest.mock("@/components/selectionToolPopover/showSelectionToolPopover"); +jest.mock("../../components/selectionToolPopover/showSelectionToolPopover"); const showSelectionToolPopoverMock = jest.mocked(showSelectionToolPopover); diff --git a/src/contentScript/pageEditor/selectElement.ts b/applications/browser-extension/src/contentScript/pageEditor/selectElement.ts similarity index 87% rename from src/contentScript/pageEditor/selectElement.ts rename to applications/browser-extension/src/contentScript/pageEditor/selectElement.ts index 30c937f257..aee26e1f4b 100644 --- a/src/contentScript/pageEditor/selectElement.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/selectElement.ts @@ -18,13 +18,13 @@ import { findContainer, inferMultiElementSelector, -} from "@/utils/inference/selectorInference"; -import * as pageScript from "@/pageScript/messenger/api"; -import { type SelectMode } from "@/contentScript/pageEditor/types"; -import { NoElementsFoundError } from "@/errors/businessErrors"; -import { $safeFind, findSingleElement } from "@/utils/domUtils"; -import inferSingleElementSelector from "@/utils/inference/inferSingleElementSelector"; -import { type ElementInfo } from "@/utils/inference/selectorTypes"; +} from "../../utils/inference/selectorInference"; +import * as pageScript from "../../pageScript/messenger/api"; +import { type SelectMode } from "./types"; +import { NoElementsFoundError } from "../../errors/businessErrors"; +import { $safeFind, findSingleElement } from "../../utils/domUtils"; +import inferSingleElementSelector from "../../utils/inference/inferSingleElementSelector"; +import { type ElementInfo } from "../../utils/inference/selectorTypes"; import { userSelectElement } from "./elementPicker"; export default async function selectElement({ diff --git a/src/contentScript/pageEditor/types.ts b/applications/browser-extension/src/contentScript/pageEditor/types.ts similarity index 81% rename from src/contentScript/pageEditor/types.ts rename to applications/browser-extension/src/contentScript/pageEditor/types.ts index a12445f13a..2ec05602eb 100644 --- a/src/contentScript/pageEditor/types.ts +++ b/applications/browser-extension/src/contentScript/pageEditor/types.ts @@ -18,18 +18,18 @@ import { type StarterBrickDefinitionLike, type StarterBrickDefinitionProp, -} from "@/starterBricks/types"; -import { type StarterBrickType } from "@/types/starterBrickTypes"; +} from "../../starterBricks/types"; +import { type StarterBrickType } from "../../types/starterBrickTypes"; import { type Except } from "type-fest"; import { type ButtonDefinition, type ButtonStarterBrickConfig, -} from "@/starterBricks/button/buttonStarterBrickTypes"; -import { type ElementInfo } from "@/utils/inference/selectorTypes"; -import { type ModComponentBase } from "@/types/modComponentTypes"; -import { type UUID } from "@/types/stringTypes"; -import { type ApiVersion, type BrickArgsContext } from "@/types/runtimeTypes"; -import { type BrickConfig } from "@/bricks/types"; +} from "../../starterBricks/button/buttonStarterBrickTypes"; +import { type ElementInfo } from "../../utils/inference/selectorTypes"; +import { type ModComponentBase } from "../../types/modComponentTypes"; +import { type UUID } from "../../types/stringTypes"; +import { type ApiVersion, type BrickArgsContext } from "../../types/runtimeTypes"; +import { type BrickConfig } from "../../bricks/types"; export interface DraftModComponent< TStarterBrickDefinitionProp extends diff --git a/src/contentScript/partnerIntegrations.ts b/applications/browser-extension/src/contentScript/partnerIntegrations.ts similarity index 94% rename from src/contentScript/partnerIntegrations.ts rename to applications/browser-extension/src/contentScript/partnerIntegrations.ts index 14e3393e9a..a499c09276 100644 --- a/src/contentScript/partnerIntegrations.ts +++ b/applications/browser-extension/src/contentScript/partnerIntegrations.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { getPartnerPrincipals } from "@/background/messenger/api"; +import { getPartnerPrincipals } from "../background/messenger/api"; const INTEGRATION_ATTR = "data-pb-integration-userid"; diff --git a/src/contentScript/performanceMonitoring.test.ts b/applications/browser-extension/src/contentScript/performanceMonitoring.test.ts similarity index 92% rename from src/contentScript/performanceMonitoring.test.ts rename to applications/browser-extension/src/contentScript/performanceMonitoring.test.ts index e4db1171a4..1e233c5407 100644 --- a/src/contentScript/performanceMonitoring.test.ts +++ b/applications/browser-extension/src/contentScript/performanceMonitoring.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { getDiagnostics } from "@/contentScript/performanceMonitoring"; +import { getDiagnostics } from "./performanceMonitoring"; describe("getDiagnostics", () => { it("gets disabled diagnostics", async () => { diff --git a/src/contentScript/performanceMonitoring.ts b/applications/browser-extension/src/contentScript/performanceMonitoring.ts similarity index 93% rename from src/contentScript/performanceMonitoring.ts rename to applications/browser-extension/src/contentScript/performanceMonitoring.ts index 3313536497..63d29f342f 100644 --- a/src/contentScript/performanceMonitoring.ts +++ b/applications/browser-extension/src/contentScript/performanceMonitoring.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { ping } from "@/background/messenger/api"; -import { isContextInvalidatedError } from "@/errors/contextInvalidated"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { getSettingsState } from "@/store/settings/settingsStorage"; +import { ping } from "../background/messenger/api"; +import { isContextInvalidatedError } from "../errors/contextInvalidated"; +import { isLoadedInIframe } from "../utils/iframeUtils"; +import { getSettingsState } from "../store/settings/settingsStorage"; const PING_INTERVAL_MS = 5 * 1000; const PING_WARNING_THRESHOLD_MS = 150; diff --git a/src/contentScript/pipelineProtocol/runHeadlessPipeline.ts b/applications/browser-extension/src/contentScript/pipelineProtocol/runHeadlessPipeline.ts similarity index 85% rename from src/contentScript/pipelineProtocol/runHeadlessPipeline.ts rename to applications/browser-extension/src/contentScript/pipelineProtocol/runHeadlessPipeline.ts index e30e776e04..23d821fabc 100644 --- a/src/contentScript/pipelineProtocol/runHeadlessPipeline.ts +++ b/applications/browser-extension/src/contentScript/pipelineProtocol/runHeadlessPipeline.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type RunPipelineParams } from "@/contentScript/pipelineProtocol/types"; -import { getPlatform } from "@/platform/platformContext"; -import { reducePipeline } from "@/runtime/reducePipeline"; -import { type IntegrationContext } from "@/types/runtimeTypes"; -import { expectContext } from "@/utils/expectContext"; +import { type RunPipelineParams } from "./types"; +import { getPlatform } from "../../platform/platformContext"; +import { reducePipeline } from "../../runtime/reducePipeline"; +import { type IntegrationContext } from "../../types/runtimeTypes"; +import { expectContext } from "../../utils/expectContext"; /** * Run a pipeline in headless mode. diff --git a/src/contentScript/pipelineProtocol/runMapArgs.ts b/applications/browser-extension/src/contentScript/pipelineProtocol/runMapArgs.ts similarity index 88% rename from src/contentScript/pipelineProtocol/runMapArgs.ts rename to applications/browser-extension/src/contentScript/pipelineProtocol/runMapArgs.ts index b5734f18c3..fb080dd822 100644 --- a/src/contentScript/pipelineProtocol/runMapArgs.ts +++ b/applications/browser-extension/src/contentScript/pipelineProtocol/runMapArgs.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type Args, mapArgs, type MapOptions } from "@/runtime/mapArgs"; +import { type Args, mapArgs, type MapOptions } from "../../runtime/mapArgs"; import { type Except } from "type-fest"; -import extendModVariableContext from "@/runtime/extendModVariableContext"; -import { expectContext } from "@/utils/expectContext"; -import { type ModComponentRef } from "@/types/modComponentTypes"; +import extendModVariableContext from "../../runtime/extendModVariableContext"; +import { expectContext } from "../../utils/expectContext"; +import { type ModComponentRef } from "../../types/modComponentTypes"; /** * Run `mapArgs` in the contentScript. diff --git a/src/contentScript/pipelineProtocol/runRendererPipeline.ts b/applications/browser-extension/src/contentScript/pipelineProtocol/runRendererPipeline.ts similarity index 81% rename from src/contentScript/pipelineProtocol/runRendererPipeline.ts rename to applications/browser-extension/src/contentScript/pipelineProtocol/runRendererPipeline.ts index 788dcf148a..3cd376dcf0 100644 --- a/src/contentScript/pipelineProtocol/runRendererPipeline.ts +++ b/applications/browser-extension/src/contentScript/pipelineProtocol/runRendererPipeline.ts @@ -1,11 +1,11 @@ -import { reducePipeline } from "@/runtime/reducePipeline"; -import { expectContext } from "@/utils/expectContext"; -import { HeadlessModeError } from "@/bricks/errors"; -import { BusinessError } from "@/errors/businessErrors"; -import { type IntegrationContext } from "@/types/runtimeTypes"; -import { type RendererRunPayload } from "@/types/rendererTypes"; -import { getPlatform } from "@/platform/platformContext"; -import { type RunPipelineParams } from "@/contentScript/pipelineProtocol/types"; +import { reducePipeline } from "../../runtime/reducePipeline"; +import { expectContext } from "../../utils/expectContext"; +import { HeadlessModeError } from "../../bricks/errors"; +import { BusinessError } from "../../errors/businessErrors"; +import { type IntegrationContext } from "../../types/runtimeTypes"; +import { type RendererRunPayload } from "../../types/rendererTypes"; +import { getPlatform } from "../../platform/platformContext"; +import { type RunPipelineParams } from "./types"; /** * Run a BrickPipeline in the contentScript, passing back the information required to run the renderer diff --git a/src/contentScript/pipelineProtocol/types.ts b/applications/browser-extension/src/contentScript/pipelineProtocol/types.ts similarity index 73% rename from src/contentScript/pipelineProtocol/types.ts rename to applications/browser-extension/src/contentScript/pipelineProtocol/types.ts index 02125efab1..fa0446d608 100644 --- a/src/contentScript/pipelineProtocol/types.ts +++ b/applications/browser-extension/src/contentScript/pipelineProtocol/types.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type BrickPipeline } from "@/bricks/types"; -import { type ApiVersionOptions } from "@/runtime/apiVersionOptions"; -import { type UUID } from "@/types/stringTypes"; -import { type MessageContext } from "@/types/loggerTypes"; -import { type RunMetadata, type BrickArgsContext } from "@/types/runtimeTypes"; +import { type BrickPipeline } from "../../bricks/types"; +import { type ApiVersionOptions } from "../../runtime/apiVersionOptions"; +import { type UUID } from "../../types/stringTypes"; +import { type MessageContext } from "../../types/loggerTypes"; +import { type RunMetadata, type BrickArgsContext } from "../../types/runtimeTypes"; export type RunPipelineParams = { nonce: UUID; diff --git a/src/contentScript/platform/contentScriptPlatformProtocol.ts b/applications/browser-extension/src/contentScript/platform/contentScriptPlatformProtocol.ts similarity index 83% rename from src/contentScript/platform/contentScriptPlatformProtocol.ts rename to applications/browser-extension/src/contentScript/platform/contentScriptPlatformProtocol.ts index c07185b3f9..9de52ca325 100644 --- a/src/contentScript/platform/contentScriptPlatformProtocol.ts +++ b/applications/browser-extension/src/contentScript/platform/contentScriptPlatformProtocol.ts @@ -1,5 +1,5 @@ -import type { PlatformProtocol } from "@/platform/platformProtocol"; -import type { ElementReference } from "@/types/runtimeTypes"; +import type { PlatformProtocol } from "../../platform/platformProtocol"; +import type { ElementReference } from "../../types/runtimeTypes"; /** * @file Extended platform protocol for content scripts. diff --git a/src/contentScript/popover.scss b/applications/browser-extension/src/contentScript/popover.scss similarity index 100% rename from src/contentScript/popover.scss rename to applications/browser-extension/src/contentScript/popover.scss diff --git a/src/contentScript/popoverDom.ts b/applications/browser-extension/src/contentScript/popoverDom.ts similarity index 95% rename from src/contentScript/popoverDom.ts rename to applications/browser-extension/src/contentScript/popoverDom.ts index 5ec09dc009..83f396e418 100644 --- a/src/contentScript/popoverDom.ts +++ b/applications/browser-extension/src/contentScript/popoverDom.ts @@ -19,13 +19,13 @@ import { createPopper, type Instance as PopperInstance } from "@popperjs/core"; import { type IFrameComponent, iframeResizer } from "iframe-resizer"; import { trimEnd } from "lodash"; import popoverStyleUrl from "./popover.scss?loadAsUrl"; -import injectStylesheet from "@/utils/injectStylesheet"; +import injectStylesheet from "../utils/injectStylesheet"; import { uuidv4, validateUUID } from "@/types/helpers"; -import { setTemporaryOverlayPanel } from "@/contentScript/ephemeralPanelController"; +import { setTemporaryOverlayPanel } from "./ephemeralPanelController"; import { html } from "code-tag"; -import { setAnimationFrameInterval } from "@/utils/domUtils"; -import { ensureTooltipsContainer } from "@/contentScript/tooltipDom"; -import { expectContext } from "@/utils/expectContext"; +import { setAnimationFrameInterval } from "../utils/domUtils"; +import { ensureTooltipsContainer } from "./tooltipDom"; +import { expectContext } from "../utils/expectContext"; // https://popper.js.org/docs/v2/constructors/ export type Placement = diff --git a/src/contentScript/ready.ts b/applications/browser-extension/src/contentScript/ready.ts similarity index 97% rename from src/contentScript/ready.ts rename to applications/browser-extension/src/contentScript/ready.ts index f2c2f0e4a2..d142bef77e 100644 --- a/src/contentScript/ready.ts +++ b/applications/browser-extension/src/contentScript/ready.ts @@ -31,8 +31,8 @@ */ import { type Target } from "@/types/messengerTypes"; -import { forbidContext } from "@/utils/expectContext"; -import { isRemoteProcedureCallRequest } from "@/utils/legacyMessengerUtils"; +import { forbidContext } from "../utils/expectContext"; +import { isRemoteProcedureCallRequest } from "../utils/legacyMessengerUtils"; const CONTENT_SCRIPT_STATE_SYMBOL = Symbol.for("content-script-state"); diff --git a/src/contentScript/setExtensionIdInApp.ts b/applications/browser-extension/src/contentScript/setExtensionIdInApp.ts similarity index 100% rename from src/contentScript/setExtensionIdInApp.ts rename to applications/browser-extension/src/contentScript/setExtensionIdInApp.ts diff --git a/src/contentScript/sidebarActivation.ts b/applications/browser-extension/src/contentScript/sidebarActivation.ts similarity index 84% rename from src/contentScript/sidebarActivation.ts rename to applications/browser-extension/src/contentScript/sidebarActivation.ts index b09815d3f8..e0bea633fc 100644 --- a/src/contentScript/sidebarActivation.ts +++ b/applications/browser-extension/src/contentScript/sidebarActivation.ts @@ -20,27 +20,27 @@ import { showModActivationInSidebar, showSidebar, sidePanelOnClose, -} from "@/contentScript/sidebarController"; -import { isLinked } from "@/auth/authStorage"; +} from "./sidebarController"; +import { isLinked } from "../auth/authStorage"; import { getActivatingMods, setActivatingMods, -} from "@/background/messenger/external/_implementation"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { getActivatedModIds } from "@/store/modComponents/modComponentStorage"; -import { DEFAULT_SERVICE_URL } from "@/urlConstants"; -import { allSettled } from "@/utils/promiseUtils"; +} from "../background/messenger/external/_implementation"; +import reportEvent from "../telemetry/reportEvent"; +import { Events } from "../telemetry/events"; +import { isLoadedInIframe } from "../utils/iframeUtils"; +import { getActivatedModIds } from "../store/modComponents/modComponentStorage"; +import { DEFAULT_SERVICE_URL } from "../urlConstants"; +import { allSettled } from "../utils/promiseUtils"; import type { ModActivationConfig } from "@/types/modTypes"; import { getNextUrlFromActivateUrl, parseModActivationUrlSearchParams, -} from "@/activation/activationLinkUtils"; +} from "../activation/activationLinkUtils"; import { type ACTIVATE_EVENT_DETAIL, ACTIVATE_EVENT_TYPE, -} from "@/contentScript/activationConstants"; +} from "./activationConstants"; let listener: EventListener | null; diff --git a/src/contentScript/sidebarController.tsx b/applications/browser-extension/src/contentScript/sidebarController.tsx similarity index 95% rename from src/contentScript/sidebarController.tsx rename to applications/browser-extension/src/contentScript/sidebarController.tsx index ee9a04242f..ebe575e7b6 100644 --- a/src/contentScript/sidebarController.tsx +++ b/applications/browser-extension/src/contentScript/sidebarController.tsx @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import { expectContext } from "@/utils/expectContext"; -import sidebarInThisTab from "@/sidebar/messenger/api"; -import * as contentScriptApi from "@/contentScript/messenger/api"; +import reportEvent from "../telemetry/reportEvent"; +import { Events } from "../telemetry/events"; +import { expectContext } from "../utils/expectContext"; +import sidebarInThisTab from "../sidebar/messenger/api"; +import * as contentScriptApi from "./messenger/api"; import { isEmpty, throttle } from "lodash"; import { signalFromEvent } from "abort-utils"; -import { SimpleEventTarget } from "@/utils/SimpleEventTarget"; +import { SimpleEventTarget } from "../utils/SimpleEventTarget"; import { type Except } from "type-fest"; import { type RunArgs, RunReason } from "@/types/runtimeTypes"; import { type UUID } from "@/types/stringTypes"; @@ -36,20 +36,20 @@ import type { PanelPayload, TemporaryPanelEntry, } from "@/types/sidebarTypes"; -import { getTemporaryPanelSidebarEntries } from "@/platform/panels/panelController"; -import { getFormPanelSidebarEntries } from "@/platform/forms/formController"; -import { memoizeUntilSettled } from "@/utils/promiseUtils"; +import { getTemporaryPanelSidebarEntries } from "../platform/panels/panelController"; +import { getFormPanelSidebarEntries } from "../platform/forms/formController"; +import { memoizeUntilSettled } from "../utils/promiseUtils"; import { getTimedSequence } from "@/types/helpers"; -import { focusCaptureDialog } from "@/contentScript/focusCaptureDialog"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { showMySidePanel } from "@/background/messenger/api"; +import { focusCaptureDialog } from "./focusCaptureDialog"; +import { isLoadedInIframe } from "../utils/iframeUtils"; +import { showMySidePanel } from "../background/messenger/api"; import { getTopLevelFrame, messenger } from "webext-messenger"; import { getSidebarTargetForCurrentTab, isUserGestureRequiredError, -} from "@/utils/sidePanelUtils"; +} from "../utils/sidePanelUtils"; import pRetry from "p-retry"; -import { hideNotification, showNotification } from "@/utils/notify"; +import { hideNotification, showNotification } from "../utils/notify"; /** * Event listeners triggered when the sidebar shows and is ready to receive messages. diff --git a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.scss b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.scss similarity index 100% rename from src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.scss rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.scss diff --git a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx similarity index 90% rename from src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx index 31b76cf559..9c4384cfbb 100644 --- a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.stories.tsx @@ -17,12 +17,12 @@ import type { ComponentMeta, ComponentStory } from "@storybook/react"; import React, { useLayoutEffect, useRef, useState } from "react"; -import { uuidv4 } from "@/types/helpers"; +import { uuidv4 } from "../../types/helpers"; import { action } from "@storybook/addon-actions"; -import SnippetShortcutMenu from "@/contentScript/snippetShortcutMenu/SnippetShortcutMenu"; -import SnippetRegistry from "@/contentScript/snippetShortcutMenu/snippetShortcutRegistry"; -import { sleep } from "@/utils/timeUtils"; -import type { Nullishable } from "@/utils/nullishUtils"; +import SnippetShortcutMenu from "./SnippetShortcutMenu"; +import SnippetRegistry from "./snippetShortcutRegistry"; +import { sleep } from "../../utils/timeUtils"; +import type { Nullishable } from "../../utils/nullishUtils"; export default { title: "Enhancements/SnippetShortcutMenu", diff --git a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx similarity index 87% rename from src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx index 0f98100967..9405320828 100644 --- a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.test.tsx @@ -1,8 +1,8 @@ import React, { type ComponentPropsWithoutRef } from "react"; import { render, screen } from "@testing-library/react"; -import SnippetShortcutMenu from "@/contentScript/snippetShortcutMenu/SnippetShortcutMenu"; -import SnippetRegistry from "@/contentScript/snippetShortcutMenu/snippetShortcutRegistry"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; +import SnippetShortcutMenu from "./SnippetShortcutMenu"; +import SnippetRegistry from "./snippetShortcutRegistry"; +import { autoUUIDSequence } from "../../testUtils/factories/stringFactories"; // I couldn't get shadow-dom-testing-library working jest.mock("react-shadow/emotion", () => ({ diff --git a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx similarity index 90% rename from src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx index 0a26bf431e..0ffbdb3cea 100644 --- a/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/SnippetShortcutMenu.tsx @@ -22,9 +22,9 @@ import React, { useReducer, useRef, } from "react"; -import useSnippetShortcutRegistry from "@/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry"; -import { type TextEditorElement } from "@/types/inputTypes"; -import useKeyboardQuery from "@/contentScript/snippetShortcutMenu/useKeyboardQuery"; +import useSnippetShortcutRegistry from "./useSnippetShortcutRegistry"; +import { type TextEditorElement } from "../../types/inputTypes"; +import useKeyboardQuery from "./useKeyboardQuery"; import cx from "classnames"; import stylesUrl from "./SnippetShortcutMenu.scss?loadAsUrl"; import { @@ -32,26 +32,26 @@ import { snippetShortcutMenuSlice, type MenuState, selectSelectedSnippetShortcut, -} from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice"; -import { getElementText } from "@/utils/editorUtils"; +} from "./snippetShortcutMenuSlice"; +import { getElementText } from "../../utils/editorUtils"; import { isEmpty } from "lodash"; -import reportEvent from "@/telemetry/reportEvent"; -import { Events } from "@/telemetry/events"; -import EmotionShadowRoot from "@/components/EmotionShadowRoot"; -import { Stylesheets } from "@/components/Stylesheets"; -import useIsMounted from "@/hooks/useIsMounted"; +import reportEvent from "../../telemetry/reportEvent"; +import { Events } from "../../telemetry/events"; +import EmotionShadowRoot from "../../components/EmotionShadowRoot"; +import { Stylesheets } from "../../components/Stylesheets"; +import useIsMounted from "../../hooks/useIsMounted"; import { normalizePreview, replaceAtCommandKey, -} from "@/contentScript/snippetShortcutMenu/snippetShortcutUtils"; -import type { SnippetShortcut } from "@/platform/platformTypes/snippetShortcutMenuProtocol"; +} from "./snippetShortcutUtils"; +import type { SnippetShortcut } from "../../platform/platformTypes/snippetShortcutMenuProtocol"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCaretDown, faCaretUp, faExclamationCircle, } from "@fortawesome/free-solid-svg-icons"; -import type SnippetRegistry from "@/contentScript/snippetShortcutMenu/snippetShortcutRegistry"; +import type SnippetRegistry from "./snippetShortcutRegistry"; type MenuActionCallbacks = { onHide: () => void; diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx similarity index 93% rename from src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx index 4fc2e30b12..c6a1785dde 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.test.tsx @@ -18,12 +18,12 @@ import React from "react"; import { screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import { uuidv4 } from "@/types/helpers"; -import { rectFactory } from "@/testUtils/factories/domFactories"; +import { uuidv4 } from "../../types/helpers"; +import { rectFactory } from "../../testUtils/factories/domFactories"; import { initSnippetShortcutMenuController, snippetRegistry, -} from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuController"; +} from "./snippetShortcutMenuController"; // I couldn't get shadow-dom-testing-library working jest.mock("react-shadow/emotion", () => ({ diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx similarity index 94% rename from src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx index ce3e36b5b2..1491a256cc 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuController.tsx @@ -16,8 +16,8 @@ */ import { once } from "lodash"; -import type { Nullishable } from "@/utils/nullishUtils"; -import { tooltipFactory } from "@/contentScript/tooltipDom"; +import type { Nullishable } from "../../utils/nullishUtils"; +import { tooltipFactory } from "../tooltipDom"; import { render, unmountComponentAtNode } from "react-dom"; import { autoUpdate, @@ -28,9 +28,9 @@ import { shift, type VirtualElement, } from "@floating-ui/dom"; -import { getCaretCoordinates } from "@/utils/textAreaUtils"; +import { getCaretCoordinates } from "../../utils/textAreaUtils"; import React, { StrictMode } from "react"; -import SnippetShortcutMenu from "@/contentScript/snippetShortcutMenu/SnippetShortcutMenu"; +import SnippetShortcutMenu from "./SnippetShortcutMenu"; import { onContextInvalidated } from "webext-events"; import { isContentEditableElement, @@ -39,13 +39,13 @@ import { isTextControlElement, type SelectableTextEditorElement, type TextEditorElement, -} from "@/types/inputTypes"; -import { expectContext } from "@/utils/expectContext"; +} from "../../types/inputTypes"; +import { expectContext } from "../../utils/expectContext"; import { ReusableAbortController } from "abort-utils"; -import { getSelectionRange, waitAnimationFrame } from "@/utils/domUtils"; -import { prefersReducedMotion } from "@/utils/a11yUtils"; -import SnippetRegistry from "@/contentScript/snippetShortcutMenu/snippetShortcutRegistry"; -import { SNIPPET_SHORTCUT_MENU_READY_ATTRIBUTE } from "@/domConstants"; +import { getSelectionRange, waitAnimationFrame } from "../../utils/domUtils"; +import { prefersReducedMotion } from "../../utils/a11yUtils"; +import SnippetRegistry from "./snippetShortcutRegistry"; +import { SNIPPET_SHORTCUT_MENU_READY_ATTRIBUTE } from "../../domConstants"; const COMMAND_KEY = "\\"; diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts similarity index 83% rename from src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts index d9c7b2e35e..1314b5041d 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { snippetShortcutMenuSlice } from "@/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice"; -import { type SnippetShortcut } from "@/platform/platformTypes/snippetShortcutMenuProtocol"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; +import { snippetShortcutMenuSlice } from "./snippetShortcutMenuSlice"; +import { type SnippetShortcut } from "../../platform/platformTypes/snippetShortcutMenuProtocol"; +import { autoUUIDSequence } from "../../testUtils/factories/stringFactories"; describe("snippetShortcutMenuSlice", () => { it.each(["test", "TeSt"])("case matches query: %s", (query) => { diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts similarity index 94% rename from src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts index da49105a42..256f63b93a 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutMenuSlice.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import type { Nullishable } from "@/utils/nullishUtils"; +import type { Nullishable } from "../../utils/nullishUtils"; import { createSlice, type PayloadAction } from "@reduxjs/toolkit"; import { sortBy } from "lodash"; -import type { AsyncState } from "@/types/sliceTypes"; +import type { AsyncState } from "../../types/sliceTypes"; import { errorToAsyncState, loadingAsyncStateFactory, valueToAsyncState, -} from "@/utils/asyncStateUtils"; +} from "../../utils/asyncStateUtils"; -import type { SnippetShortcut } from "@/platform/platformTypes/snippetShortcutMenuProtocol"; +import type { SnippetShortcut } from "../../platform/platformTypes/snippetShortcutMenuProtocol"; export type MenuState = { /** diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts similarity index 90% rename from src/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts index fc7ecaae34..03520b8fcb 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutRegistry.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import type { UUID } from "@/types/stringTypes"; -import { SimpleEventTarget } from "@/utils/SimpleEventTarget"; +import type { UUID } from "../../types/stringTypes"; +import { SimpleEventTarget } from "../../utils/SimpleEventTarget"; import { remove } from "lodash"; -import type { SnippetShortcut } from "@/platform/platformTypes/snippetShortcutMenuProtocol"; +import type { SnippetShortcut } from "../../platform/platformTypes/snippetShortcutMenuProtocol"; /** * Registry for shortcut snippets diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts similarity index 95% rename from src/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts index 308fc6b704..240c591b14 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.test.ts @@ -18,7 +18,7 @@ import { normalizePreview, replaceAtCommandKey, -} from "@/contentScript/snippetShortcutMenu/snippetShortcutUtils"; +} from "./snippetShortcutUtils"; // `jsdom` doesn't implement execCommand document.execCommand = jest.fn().mockReturnValue(true); diff --git a/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts similarity index 92% rename from src/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts index b5fdfbf443..d4a905efb5 100644 --- a/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/snippetShortcutUtils.ts @@ -19,11 +19,11 @@ import { isNativeField, isSelectableTextControlElement, type SelectableTextEditorElement, -} from "@/types/inputTypes"; -import { getSelectionRange, waitAnimationFrame } from "@/utils/domUtils"; -import { expectContext } from "@/utils/expectContext"; -import { insertAtCursorWithCustomEditorSupport } from "@/contentScript/textEditorDom"; -import type { Nullishable } from "@/utils/nullishUtils"; +} from "../../types/inputTypes"; +import { getSelectionRange, waitAnimationFrame } from "../../utils/domUtils"; +import { expectContext } from "../../utils/expectContext"; +import { insertAtCursorWithCustomEditorSupport } from "../textEditorDom"; +import type { Nullishable } from "../../utils/nullishUtils"; /** * Replaces the text at the current command + query with the given text diff --git a/src/contentScript/snippetShortcutMenu/useKeyboardQuery.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/useKeyboardQuery.ts similarity index 97% rename from src/contentScript/snippetShortcutMenu/useKeyboardQuery.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/useKeyboardQuery.ts index 42c5a97cc5..c3e697f981 100644 --- a/src/contentScript/snippetShortcutMenu/useKeyboardQuery.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/useKeyboardQuery.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import type { Nullishable } from "@/utils/nullishUtils"; +import type { Nullishable } from "../../utils/nullishUtils"; import { type TextEditorElement, isSelectableTextControlElement, isContentEditableElement, -} from "@/types/inputTypes"; +} from "../../types/inputTypes"; import { useEffect, useRef, useState } from "react"; -import { getSelectionRange } from "@/utils/domUtils"; +import { getSelectionRange } from "../../utils/domUtils"; /** * Set of keys that clear the query/hide the popover. diff --git a/src/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts b/applications/browser-extension/src/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts similarity index 88% rename from src/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts rename to applications/browser-extension/src/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts index f35f80292c..4f421bcdec 100644 --- a/src/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts +++ b/applications/browser-extension/src/contentScript/snippetShortcutMenu/useSnippetShortcutRegistry.ts @@ -17,8 +17,8 @@ import { useSyncExternalStore } from "use-sync-external-store/shim"; import { useCallback } from "react"; -import type { SnippetShortcut } from "@/platform/platformTypes/snippetShortcutMenuProtocol"; -import type SnippetRegistry from "@/contentScript/snippetShortcutMenu/snippetShortcutRegistry"; +import type { SnippetShortcut } from "../../platform/platformTypes/snippetShortcutMenuProtocol"; +import type SnippetRegistry from "./snippetShortcutRegistry"; /** * React hook to sync React with the shortcut snippet registry. diff --git a/src/contentScript/stateController/modVariablePolicyController.ts b/applications/browser-extension/src/contentScript/stateController/modVariablePolicyController.ts similarity index 88% rename from src/contentScript/stateController/modVariablePolicyController.ts rename to applications/browser-extension/src/contentScript/stateController/modVariablePolicyController.ts index 71f93ad48f..4cb6955a74 100644 --- a/src/contentScript/stateController/modVariablePolicyController.ts +++ b/applications/browser-extension/src/contentScript/stateController/modVariablePolicyController.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import type { RegistryId } from "@/types/registryTypes"; -import type { ModVariablesDefinition } from "@/types/modDefinitionTypes"; +import type { RegistryId } from "../../types/registryTypes"; +import type { ModVariablesDefinition } from "../../types/modDefinitionTypes"; import { StateNamespaces, SyncPolicies, type SyncPolicy, -} from "@/platform/state/stateTypes"; -import { BusinessError } from "@/errors/businessErrors"; +} from "../../platform/state/stateTypes"; +import { BusinessError } from "../../errors/businessErrors"; import { isEmpty, pickBy } from "lodash"; -import { tryParseSessionStorageKey } from "@/platform/state/stateHelpers"; -import type { Nullishable } from "@/utils/nullishUtils"; -import { emptyModVariablesDefinitionFactory } from "@/utils/modUtils"; +import { tryParseSessionStorageKey } from "../../platform/state/stateHelpers"; +import type { Nullishable } from "../../utils/nullishUtils"; +import { emptyModVariablesDefinitionFactory } from "../../utils/modUtils"; import type { Storage } from "webextension-polyfill"; -import { dispatchStateChangeEvent } from "@/contentScript/stateController/stateEventHelpers"; +import { dispatchStateChangeEvent } from "./stateEventHelpers"; const SCHEMA_POLICY_PROP = "x-sync-policy"; diff --git a/src/contentScript/stateController/stateController.test.ts b/applications/browser-extension/src/contentScript/stateController/stateController.test.ts similarity index 94% rename from src/contentScript/stateController/stateController.test.ts rename to applications/browser-extension/src/contentScript/stateController/stateController.test.ts index c2ebf1c34c..9990859f39 100644 --- a/src/contentScript/stateController/stateController.test.ts +++ b/applications/browser-extension/src/contentScript/stateController/stateController.test.ts @@ -19,16 +19,16 @@ import { setState, getState, TEST_resetStateController, -} from "@/contentScript/stateController/stateController"; -import { modComponentRefFactory } from "@/testUtils/factories/modComponentFactories"; +} from "./stateController"; +import { modComponentRefFactory } from "../../testUtils/factories/modComponentFactories"; import { MergeStrategies, STATE_CHANGE_JS_EVENT_TYPE, StateNamespaces, -} from "@/platform/state/stateTypes"; +} from "../../platform/state/stateTypes"; import type { JSONSchema7Definition } from "json-schema"; -import { registerModVariables } from "@/contentScript/stateController/modVariablePolicyController"; -import { getSessionStorageKey } from "@/platform/state/stateHelpers"; +import { registerModVariables } from "./modVariablePolicyController"; +import { getSessionStorageKey } from "../../platform/state/stateHelpers"; import { getThisFrame } from "webext-messenger"; beforeEach(async () => { diff --git a/src/contentScript/stateController/stateController.ts b/applications/browser-extension/src/contentScript/stateController/stateController.ts similarity index 91% rename from src/contentScript/stateController/stateController.ts rename to applications/browser-extension/src/contentScript/stateController/stateController.ts index e3de9cef02..4ca901f3a5 100644 --- a/src/contentScript/stateController/stateController.ts +++ b/applications/browser-extension/src/contentScript/stateController/stateController.ts @@ -15,27 +15,27 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { type RegistryId } from "@/types/registryTypes"; +import { type UUID } from "../../types/stringTypes"; +import { type RegistryId } from "../../types/registryTypes"; import { cloneDeep, isEmpty, isEqual, merge, omit, pick } from "lodash"; -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "../../errors/businessErrors"; import { type Except, type JsonObject } from "type-fest"; -import { assertPlatformCapability } from "@/platform/platformContext"; -import { assertNotNullish } from "@/utils/nullishUtils"; -import { type ModComponentRef } from "@/types/modComponentTypes"; +import { assertPlatformCapability } from "../../platform/platformContext"; +import { assertNotNullish } from "../../utils/nullishUtils"; +import { type ModComponentRef } from "../../types/modComponentTypes"; import { MergeStrategies, type MergeStrategy, type StateNamespace, StateNamespaces, -} from "@/platform/state/stateTypes"; +} from "../../platform/state/stateTypes"; import { getThisFrame } from "webext-messenger"; -import { getSessionStorageKey } from "@/platform/state/stateHelpers"; +import { getSessionStorageKey } from "../../platform/state/stateHelpers"; import { getSyncedVariableNames, modSyncPolicies, -} from "@/contentScript/stateController/modVariablePolicyController"; -import { dispatchStateChangeEvent } from "@/contentScript/stateController/stateEventHelpers"; +} from "./modVariablePolicyController"; +import { dispatchStateChangeEvent } from "./stateEventHelpers"; /** * Map from mod component id to its private state. diff --git a/src/contentScript/stateController/stateEventHelpers.ts b/applications/browser-extension/src/contentScript/stateController/stateEventHelpers.ts similarity index 96% rename from src/contentScript/stateController/stateEventHelpers.ts rename to applications/browser-extension/src/contentScript/stateController/stateEventHelpers.ts index cc178cb177..9cd388fbd4 100644 --- a/src/contentScript/stateController/stateEventHelpers.ts +++ b/applications/browser-extension/src/contentScript/stateController/stateEventHelpers.ts @@ -18,7 +18,7 @@ import { STATE_CHANGE_JS_EVENT_TYPE, type StateChangeEventDetail, -} from "@/platform/state/stateTypes"; +} from "../../platform/state/stateTypes"; /** * Dispatch a state change event to the document. diff --git a/src/contentScript/textEditorDom.ts b/applications/browser-extension/src/contentScript/textEditorDom.ts similarity index 89% rename from src/contentScript/textEditorDom.ts rename to applications/browser-extension/src/contentScript/textEditorDom.ts index b7e3048480..b2449f1a12 100644 --- a/src/contentScript/textEditorDom.ts +++ b/applications/browser-extension/src/contentScript/textEditorDom.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import * as ckeditorDom from "@/contrib/ckeditor/ckeditorDom"; -import * as pageScript from "@/pageScript/messenger/api"; -import { getSelectorForElement } from "@/contentScript/elementReference"; -import { expectContext } from "@/utils/expectContext"; -import focusController from "@/utils/focusController"; +import * as ckeditorDom from "../contrib/ckeditor/ckeditorDom"; +import * as pageScript from "../pageScript/messenger/api"; +import { getSelectorForElement } from "./elementReference"; +import { expectContext } from "../utils/expectContext"; +import focusController from "../utils/focusController"; import { insertIntoDraftJs, isDraftJsField, -} from "@/contrib/draftjs/draftJsDom"; +} from "../contrib/draftjs/draftJsDom"; /** * @file Text Editor DOM utilities that might call the pageScript. diff --git a/src/contentScript/textSelectionMenu/ActionRegistry.test.ts b/applications/browser-extension/src/contentScript/textSelectionMenu/ActionRegistry.test.ts similarity index 93% rename from src/contentScript/textSelectionMenu/ActionRegistry.test.ts rename to applications/browser-extension/src/contentScript/textSelectionMenu/ActionRegistry.test.ts index 31d0b3a5f6..244a03e20e 100644 --- a/src/contentScript/textSelectionMenu/ActionRegistry.test.ts +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/ActionRegistry.test.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import ActionRegistry from "@/contentScript/textSelectionMenu/ActionRegistry"; -import { uuidv4 } from "@/types/helpers"; +import ActionRegistry from "./ActionRegistry"; +import { uuidv4 } from "../../types/helpers"; describe("actionRegistry", () => { it("sets emoji from title", () => { diff --git a/src/contentScript/textSelectionMenu/ActionRegistry.ts b/applications/browser-extension/src/contentScript/textSelectionMenu/ActionRegistry.ts similarity index 86% rename from src/contentScript/textSelectionMenu/ActionRegistry.ts rename to applications/browser-extension/src/contentScript/textSelectionMenu/ActionRegistry.ts index 74114e1078..efc9cca13f 100644 --- a/src/contentScript/textSelectionMenu/ActionRegistry.ts +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/ActionRegistry.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import type { UUID } from "@/types/stringTypes"; -import type { IconConfig } from "@/types/iconTypes"; -import { splitStartingEmoji } from "@/utils/stringUtils"; -import { SimpleEventTarget } from "@/utils/SimpleEventTarget"; -import type { Nullishable } from "@/utils/nullishUtils"; +import type { UUID } from "../../types/stringTypes"; +import type { IconConfig } from "../../types/iconTypes"; +import { splitStartingEmoji } from "../../utils/stringUtils"; +import { SimpleEventTarget } from "../../utils/SimpleEventTarget"; +import type { Nullishable } from "../../utils/nullishUtils"; import type { TextSelectionMenuProtocol, TextSelectionAction, -} from "@/platform/platformTypes/textSelectionMenuProtocol"; +} from "../../platform/platformTypes/textSelectionMenuProtocol"; /** * A registered text selection action. diff --git a/src/contentScript/textSelectionMenu/SelectionMenu.scss b/applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.scss similarity index 97% rename from src/contentScript/textSelectionMenu/SelectionMenu.scss rename to applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.scss index 6e25c865d7..6eb5143fbb 100644 --- a/src/contentScript/textSelectionMenu/SelectionMenu.scss +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.scss @@ -17,7 +17,7 @@ // Browsers also add base styling for [popover] attribute. E.g., Chrome adds a system border. -@import "@/themes/colors.scss"; +@import "@/themes/colors"; .toolbar { background-color: $S0; diff --git a/src/contentScript/textSelectionMenu/SelectionMenu.stories.tsx b/applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.stories.tsx similarity index 90% rename from src/contentScript/textSelectionMenu/SelectionMenu.stories.tsx rename to applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.stories.tsx index 97faa1b813..6d7406f5ea 100644 --- a/src/contentScript/textSelectionMenu/SelectionMenu.stories.tsx +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.stories.tsx @@ -17,9 +17,9 @@ import type { ComponentMeta, ComponentStory } from "@storybook/react"; import React from "react"; -import SelectionMenu from "@/contentScript/textSelectionMenu/SelectionMenu"; -import ActionRegistry from "@/contentScript/textSelectionMenu/ActionRegistry"; -import { uuidv4 } from "@/types/helpers"; +import SelectionMenu from "./SelectionMenu"; +import ActionRegistry from "./ActionRegistry"; +import { uuidv4 } from "../../types/helpers"; import { action } from "@storybook/addon-actions"; export default { diff --git a/src/contentScript/textSelectionMenu/SelectionMenu.tsx b/applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.tsx similarity index 84% rename from src/contentScript/textSelectionMenu/SelectionMenu.tsx rename to applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.tsx index f7607edfdf..21132affc5 100644 --- a/src/contentScript/textSelectionMenu/SelectionMenu.tsx +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/SelectionMenu.tsx @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import "@/contentScript/textSelectionMenu/SelectionMenu.scss"; +import "./SelectionMenu.scss"; import React from "react"; -import Icon from "@/icons/Icon"; -import { splitStartingEmoji } from "@/utils/stringUtils"; +import Icon from "../../icons/Icon"; +import { splitStartingEmoji } from "../../utils/stringUtils"; import { truncate } from "lodash"; -import useDocumentSelection from "@/hooks/useDocumentSelection"; -import type { Nullishable } from "@/utils/nullishUtils"; -import { getSelection } from "@/utils/selectionController"; -import { type RegisteredAction } from "@/contentScript/textSelectionMenu/ActionRegistry"; -import type ActionRegistry from "@/contentScript/textSelectionMenu/ActionRegistry"; -import useActionRegistry from "@/contentScript/textSelectionMenu/useActionRegistry"; +import useDocumentSelection from "../../hooks/useDocumentSelection"; +import type { Nullishable } from "../../utils/nullishUtils"; +import { getSelection } from "../../utils/selectionController"; +import { type RegisteredAction } from "./ActionRegistry"; +import type ActionRegistry from "./ActionRegistry"; +import useActionRegistry from "./useActionRegistry"; const ICON_SIZE_PX = 16; diff --git a/src/contentScript/textSelectionMenu/selectionMenuController.test.ts b/applications/browser-extension/src/contentScript/textSelectionMenu/selectionMenuController.test.ts similarity index 82% rename from src/contentScript/textSelectionMenu/selectionMenuController.test.ts rename to applications/browser-extension/src/contentScript/textSelectionMenu/selectionMenuController.test.ts index 9790c89cf9..756954545b 100644 --- a/src/contentScript/textSelectionMenu/selectionMenuController.test.ts +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/selectionMenuController.test.ts @@ -1,9 +1,9 @@ import { screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import { uuidv4 } from "@/types/helpers"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import { rectFactory } from "@/testUtils/factories/domFactories"; -import type * as controllerModule from "@/contentScript/textSelectionMenu/selectionMenuController"; +import { uuidv4 } from "../../types/helpers"; +import { waitForEffect } from "../../testUtils/testHelpers"; +import { rectFactory } from "../../testUtils/factories/domFactories"; +import type * as controllerModule from "./selectionMenuController"; document.body.innerHTML = '
Here\'s some text
'; @@ -27,7 +27,7 @@ describe("selectionMenuController", () => { beforeEach(async () => { jest.resetModules(); module = await import( - "@/contentScript/textSelectionMenu/selectionMenuController" + "./selectionMenuController" ); }); diff --git a/src/contentScript/textSelectionMenu/selectionMenuController.tsx b/applications/browser-extension/src/contentScript/textSelectionMenu/selectionMenuController.tsx similarity index 93% rename from src/contentScript/textSelectionMenu/selectionMenuController.tsx rename to applications/browser-extension/src/contentScript/textSelectionMenu/selectionMenuController.tsx index 87fb13bb1d..05baa7fe37 100644 --- a/src/contentScript/textSelectionMenu/selectionMenuController.tsx +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/selectionMenuController.tsx @@ -16,10 +16,10 @@ */ import { debounce, once } from "lodash"; -import type { Nullishable } from "@/utils/nullishUtils"; +import type { Nullishable } from "../../utils/nullishUtils"; import { render, unmountComponentAtNode } from "react-dom"; import React, { StrictMode } from "react"; -import { tooltipFactory } from "@/contentScript/tooltipDom"; +import { tooltipFactory } from "../tooltipDom"; import { autoUpdate, computePosition, @@ -29,17 +29,17 @@ import { shift, type VirtualElement, } from "@floating-ui/dom"; -import { getCaretCoordinates } from "@/utils/textAreaUtils"; -import { expectContext } from "@/utils/expectContext"; +import { getCaretCoordinates } from "../../utils/textAreaUtils"; +import { expectContext } from "../../utils/expectContext"; import { onContextInvalidated } from "webext-events"; -import { isNativeField } from "@/types/inputTypes"; +import { isNativeField } from "../../types/inputTypes"; import { onAbort, ReusableAbortController } from "abort-utils"; -import { prefersReducedMotion } from "@/utils/a11yUtils"; -import { getSelectionRange } from "@/utils/domUtils"; -import { snapWithin } from "@/utils/mathUtils"; -import ActionRegistry from "@/contentScript/textSelectionMenu/ActionRegistry"; -import { SELECTION_MENU_READY_ATTRIBUTE } from "@/domConstants"; -import IsolatedComponent from "@/components/IsolatedComponent"; +import { prefersReducedMotion } from "../../utils/a11yUtils"; +import { getSelectionRange } from "../../utils/domUtils"; +import { snapWithin } from "../../utils/mathUtils"; +import ActionRegistry from "./ActionRegistry"; +import { SELECTION_MENU_READY_ATTRIBUTE } from "../../domConstants"; +import IsolatedComponent from "../../components/IsolatedComponent"; const MIN_SELECTION_LENGTH_CHARS = 3; @@ -171,7 +171,7 @@ function createSelectionMenu(): HTMLElement { lazy={async () => import( /* webpackChunkName: "isolated/SelectionMenu" */ - "@/contentScript/textSelectionMenu/SelectionMenu" + "./SelectionMenu" ) } factory={(SelectionMenu) => ( diff --git a/src/contentScript/textSelectionMenu/useActionRegistry.ts b/applications/browser-extension/src/contentScript/textSelectionMenu/useActionRegistry.ts similarity index 87% rename from src/contentScript/textSelectionMenu/useActionRegistry.ts rename to applications/browser-extension/src/contentScript/textSelectionMenu/useActionRegistry.ts index 0b8fb5db94..49c7a07e58 100644 --- a/src/contentScript/textSelectionMenu/useActionRegistry.ts +++ b/applications/browser-extension/src/contentScript/textSelectionMenu/useActionRegistry.ts @@ -17,9 +17,9 @@ import { useSyncExternalStore } from "use-sync-external-store/shim"; import { useCallback } from "react"; -import type { UUID } from "@/types/stringTypes"; -import { type RegisteredAction } from "@/contentScript/textSelectionMenu/ActionRegistry"; -import type ActionRegistry from "@/contentScript/textSelectionMenu/ActionRegistry"; +import type { UUID } from "../../types/stringTypes"; +import { type RegisteredAction } from "./ActionRegistry"; +import type ActionRegistry from "./ActionRegistry"; /** * React hook to receive action updates from the toolbar registry. diff --git a/src/contentScript/tooltipDom.ts b/applications/browser-extension/src/contentScript/tooltipDom.ts similarity index 99% rename from src/contentScript/tooltipDom.ts rename to applications/browser-extension/src/contentScript/tooltipDom.ts index ad621858db..817a763c08 100644 --- a/src/contentScript/tooltipDom.ts +++ b/applications/browser-extension/src/contentScript/tooltipDom.ts @@ -18,7 +18,7 @@ import { MAX_Z_INDEX, PIXIEBRIX_TOOLTIPS_CONTAINER_CLASS, -} from "@/domConstants"; +} from "../domConstants"; import { onContextInvalidated } from "webext-events"; /** diff --git a/src/contentScript/walkthroughModalProtocol.tsx b/applications/browser-extension/src/contentScript/walkthroughModalProtocol.tsx similarity index 100% rename from src/contentScript/walkthroughModalProtocol.tsx rename to applications/browser-extension/src/contentScript/walkthroughModalProtocol.tsx diff --git a/src/contrib/automationanywhere/ApiTaskOptions.tsx b/applications/browser-extension/src/contrib/automationanywhere/ApiTaskOptions.tsx similarity index 76% rename from src/contrib/automationanywhere/ApiTaskOptions.tsx rename to applications/browser-extension/src/contrib/automationanywhere/ApiTaskOptions.tsx index 8fe1af22ab..434cd31f70 100644 --- a/src/contrib/automationanywhere/ApiTaskOptions.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/ApiTaskOptions.tsx @@ -16,24 +16,24 @@ */ import React from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; +import { type BrickOptionProps } from "../../components/fields/schemaFields/genericOptionsFactory"; import { partial } from "lodash"; -import { joinName } from "@/utils/formUtils"; -import RequireIntegrationConfig from "@/integrations/components/RequireIntegrationConfig"; -import { RUN_API_TASK_INPUT_SCHEMA } from "@/contrib/automationanywhere/RunApiTask"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type Schema } from "@/types/schemaTypes"; +import { joinName } from "../../utils/formUtils"; +import RequireIntegrationConfig from "../../integrations/components/RequireIntegrationConfig"; +import { RUN_API_TASK_INPUT_SCHEMA } from "./RunApiTask"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { type Schema } from "../../types/schemaTypes"; import { useField } from "formik"; -import { type WorkspaceType } from "@/contrib/automationanywhere/contract"; -import { type AsyncSelectStatusMessage } from "@/components/form/widgets/AsyncRemoteSelectWidget"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import RemoteFileInputArguments from "@/contrib/automationanywhere/RemoteFileInputArguments"; -import useWorkspaceTypeOptionsFactoryArgs from "@/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs"; -import WorkspaceTypeField from "@/contrib/automationanywhere/WorkspaceTypeField"; -import FolderIdConfigAlert from "@/contrib/automationanywhere/FolderIdConfigAlert"; -import AwaitResultField from "@/contrib/automationanywhere/AwaitResultField"; -import RemoteFileSelectField from "@/contrib/automationanywhere/RemoteFileSelectField"; -import { cachedSearchApiTasks } from "@/contrib/automationanywhere/aaApi"; +import { type WorkspaceType } from "./contract"; +import { type AsyncSelectStatusMessage } from "../../components/form/widgets/AsyncRemoteSelectWidget"; +import SchemaField from "../../components/fields/schemaFields/SchemaField"; +import RemoteFileInputArguments from "./RemoteFileInputArguments"; +import useWorkspaceTypeOptionsFactoryArgs from "./useWorkspaceTypeOptionsFactoryArgs"; +import WorkspaceTypeField from "./WorkspaceTypeField"; +import FolderIdConfigAlert from "./FolderIdConfigAlert"; +import AwaitResultField from "./AwaitResultField"; +import RemoteFileSelectField from "./RemoteFileSelectField"; +import { cachedSearchApiTasks } from "./aaApi"; const TasksLoadingMessage: AsyncSelectStatusMessage = () => ( Searching tasks... diff --git a/src/contrib/automationanywhere/AwaitResultField.tsx b/applications/browser-extension/src/contrib/automationanywhere/AwaitResultField.tsx similarity index 81% rename from src/contrib/automationanywhere/AwaitResultField.tsx rename to applications/browser-extension/src/contrib/automationanywhere/AwaitResultField.tsx index 7c254b2a3e..1bbf1b7444 100644 --- a/src/contrib/automationanywhere/AwaitResultField.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/AwaitResultField.tsx @@ -16,11 +16,11 @@ */ import React from "react"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import BooleanWidget from "@/components/fields/schemaFields/widgets/BooleanWidget"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { ENTERPRISE_EDITION_COMMON_PROPERTIES } from "@/contrib/automationanywhere/RunBot"; -import type { Schema } from "@/types/schemaTypes"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; +import BooleanWidget from "../../components/fields/schemaFields/widgets/BooleanWidget"; +import SchemaField from "../../components/fields/schemaFields/SchemaField"; +import { ENTERPRISE_EDITION_COMMON_PROPERTIES } from "./RunBot"; +import type { Schema } from "../../types/schemaTypes"; import { useField } from "formik"; const AwaitResultField: React.FC<{ diff --git a/src/contrib/automationanywhere/BotOptions.test.tsx b/applications/browser-extension/src/contrib/automationanywhere/BotOptions.test.tsx similarity index 87% rename from src/contrib/automationanywhere/BotOptions.test.tsx rename to applications/browser-extension/src/contrib/automationanywhere/BotOptions.test.tsx index 26f01d5735..47f1fcc998 100644 --- a/src/contrib/automationanywhere/BotOptions.test.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/BotOptions.test.tsx @@ -16,33 +16,33 @@ */ import React from "react"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import { render, screen } from "@/pageEditor/testHelpers"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; +import { render, screen } from "../../pageEditor/testHelpers"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Formik } from "formik"; -import BotOptions from "@/contrib/automationanywhere/BotOptions"; -import useSanitizedIntegrationConfigFormikAdapter from "@/integrations/useSanitizedIntegrationConfigFormikAdapter"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type SanitizedConfig } from "@/integrations/integrationTypes"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; -import { menuItemFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; +import BotOptions from "./BotOptions"; +import useSanitizedIntegrationConfigFormikAdapter from "../../integrations/useSanitizedIntegrationConfigFormikAdapter"; +import registerDefaultWidgets from "../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { type SanitizedConfig } from "../../integrations/integrationTypes"; +import { useAuthOptions } from "../../hooks/useAuthOptions"; +import { valueToAsyncState } from "../../utils/asyncStateUtils"; +import { menuItemFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; import { integrationDependencyFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { CONTROL_ROOM_TOKEN_INTEGRATION_ID } from "@/integrations/constants"; -import { toExpression } from "@/utils/expressionUtils"; -import { RunBot } from "@/contrib/automationanywhere/RunBot"; +} from "../../testUtils/factories/integrationFactories"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import { CONTROL_ROOM_TOKEN_INTEGRATION_ID } from "../../integrations/constants"; +import { toExpression } from "../../utils/expressionUtils"; +import { RunBot } from "./RunBot"; const useSanitizedIntegrationConfigFormikAdapterMock = jest.mocked( useSanitizedIntegrationConfigFormikAdapter, ); -jest.mock("@/integrations/useSanitizedIntegrationConfigFormikAdapter"); -jest.mock("@/hooks/useAuthOptions"); -jest.mock("@/contentScript/messenger/api"); +jest.mock("../../integrations/useSanitizedIntegrationConfigFormikAdapter"); +jest.mock("../../hooks/useAuthOptions"); +jest.mock("../../contentScript/messenger/api"); function makeBaseState() { return menuItemFormStateFactory( diff --git a/src/contrib/automationanywhere/BotOptions.tsx b/applications/browser-extension/src/contrib/automationanywhere/BotOptions.tsx similarity index 79% rename from src/contrib/automationanywhere/BotOptions.tsx rename to applications/browser-extension/src/contrib/automationanywhere/BotOptions.tsx index a5551da989..d00a7e3532 100644 --- a/src/contrib/automationanywhere/BotOptions.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/BotOptions.tsx @@ -17,35 +17,35 @@ import React from "react"; import { partial } from "lodash"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; -import { COMMON_PROPERTIES } from "@/contrib/automationanywhere/RunBot"; -import { type Schema } from "@/types/schemaTypes"; +import { type BrickOptionProps } from "../../components/fields/schemaFields/genericOptionsFactory"; +import { COMMON_PROPERTIES } from "./RunBot"; +import { type Schema } from "../../types/schemaTypes"; import { useField } from "formik"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import RemoteSelectWidget from "@/components/form/widgets/RemoteSelectWidget"; -import RequireIntegrationConfig from "@/integrations/components/RequireIntegrationConfig"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; +import RemoteSelectWidget from "../../components/form/widgets/RemoteSelectWidget"; +import RequireIntegrationConfig from "../../integrations/components/RequireIntegrationConfig"; import { cachedFetchDevicePools, cachedFetchDevices, cachedFetchRunAsUsers, cachedSearchBots, -} from "@/contrib/automationanywhere/aaApi"; +} from "./aaApi"; import { type WorkspaceType } from "./contract"; -import { isCommunityControlRoom } from "@/contrib/automationanywhere/aaUtils"; -import BooleanWidget from "@/components/fields/schemaFields/widgets/BooleanWidget"; -import RemoteMultiSelectWidget from "@/components/form/widgets/RemoteMultiSelectWidget"; +import { isCommunityControlRoom } from "./aaUtils"; +import BooleanWidget from "../../components/fields/schemaFields/widgets/BooleanWidget"; +import RemoteMultiSelectWidget from "../../components/form/widgets/RemoteMultiSelectWidget"; import { Alert } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; -import { type AsyncSelectStatusMessage } from "@/components/form/widgets/AsyncRemoteSelectWidget"; -import { joinName } from "@/utils/formUtils"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import RemoteFileInputArguments from "@/contrib/automationanywhere/RemoteFileInputArguments"; -import useWorkspaceTypeOptionsFactoryArgs from "@/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs"; -import WorkspaceTypeField from "@/contrib/automationanywhere/WorkspaceTypeField"; -import FolderIdConfigAlert from "@/contrib/automationanywhere/FolderIdConfigAlert"; -import AwaitResultField from "@/contrib/automationanywhere/AwaitResultField"; -import RemoteFileSelectField from "@/contrib/automationanywhere/RemoteFileSelectField"; +import { type AsyncSelectStatusMessage } from "../../components/form/widgets/AsyncRemoteSelectWidget"; +import { joinName } from "../../utils/formUtils"; +import type { SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import RemoteFileInputArguments from "./RemoteFileInputArguments"; +import useWorkspaceTypeOptionsFactoryArgs from "./useWorkspaceTypeOptionsFactoryArgs"; +import WorkspaceTypeField from "./WorkspaceTypeField"; +import FolderIdConfigAlert from "./FolderIdConfigAlert"; +import AwaitResultField from "./AwaitResultField"; +import RemoteFileSelectField from "./RemoteFileSelectField"; const BotLoadingMessage: AsyncSelectStatusMessage = () => ( Searching bots... diff --git a/src/contrib/automationanywhere/FolderIdConfigAlert.tsx b/applications/browser-extension/src/contrib/automationanywhere/FolderIdConfigAlert.tsx similarity index 89% rename from src/contrib/automationanywhere/FolderIdConfigAlert.tsx rename to applications/browser-extension/src/contrib/automationanywhere/FolderIdConfigAlert.tsx index fdc1980742..83abfeee2e 100644 --- a/src/contrib/automationanywhere/FolderIdConfigAlert.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/FolderIdConfigAlert.tsx @@ -16,13 +16,13 @@ */ import React from "react"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import type { SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; import { isEmpty } from "lodash"; import { Alert } from "react-bootstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; -import useAsyncState from "@/hooks/useAsyncState"; -import { cachedFetchFolder } from "@/contrib/automationanywhere/aaApi"; +import useAsyncState from "../../hooks/useAsyncState"; +import { cachedFetchFolder } from "./aaApi"; const FolderIdConfigAlert: React.FC<{ controlRoomConfig: SanitizedIntegrationConfig; diff --git a/src/contrib/automationanywhere/RemoteFileInputArguments.tsx b/applications/browser-extension/src/contrib/automationanywhere/RemoteFileInputArguments.tsx similarity index 83% rename from src/contrib/automationanywhere/RemoteFileInputArguments.tsx rename to applications/browser-extension/src/contrib/automationanywhere/RemoteFileInputArguments.tsx index 029bff92a0..b0cfc4f6cd 100644 --- a/src/contrib/automationanywhere/RemoteFileInputArguments.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/RemoteFileInputArguments.tsx @@ -16,11 +16,11 @@ */ import React from "react"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; import { useField } from "formik"; -import useAsyncState from "@/hooks/useAsyncState"; -import { cachedFetchSchema } from "@/contrib/automationanywhere/aaApi"; -import RemoteSchemaObjectField from "@/components/fields/schemaFields/RemoteSchemaObjectField"; +import useAsyncState from "../../hooks/useAsyncState"; +import { cachedFetchSchema } from "./aaApi"; +import RemoteSchemaObjectField from "../../components/fields/schemaFields/RemoteSchemaObjectField"; const RemoteFileInputArguments: React.FC<{ fileIdFieldName: string; diff --git a/src/contrib/automationanywhere/RemoteFileSelectField.test.tsx b/applications/browser-extension/src/contrib/automationanywhere/RemoteFileSelectField.test.tsx similarity index 95% rename from src/contrib/automationanywhere/RemoteFileSelectField.test.tsx rename to applications/browser-extension/src/contrib/automationanywhere/RemoteFileSelectField.test.tsx index 309be0b004..078b2e56b3 100644 --- a/src/contrib/automationanywhere/RemoteFileSelectField.test.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/RemoteFileSelectField.test.tsx @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { render, screen, userEvent } from "@/pageEditor/testHelpers"; +import { sanitizedIntegrationConfigFactory } from "../../testUtils/factories/integrationFactories"; +import { render, screen, userEvent } from "../../pageEditor/testHelpers"; import { waitFor } from "@testing-library/react"; import selectEvent from "react-select-event"; import React from "react"; -import RemoteFileSelectField from "@/contrib/automationanywhere/RemoteFileSelectField"; -import { type WorkspaceType } from "@/contrib/automationanywhere/contract"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import RemoteFileSelectField from "./RemoteFileSelectField"; +import { type WorkspaceType } from "./contract"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; const bots1 = [ { diff --git a/src/contrib/automationanywhere/RemoteFileSelectField.tsx b/applications/browser-extension/src/contrib/automationanywhere/RemoteFileSelectField.tsx similarity index 87% rename from src/contrib/automationanywhere/RemoteFileSelectField.tsx rename to applications/browser-extension/src/contrib/automationanywhere/RemoteFileSelectField.tsx index ace1c05c23..88d2933244 100644 --- a/src/contrib/automationanywhere/RemoteFileSelectField.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/RemoteFileSelectField.tsx @@ -18,12 +18,12 @@ import React from "react"; import AsyncRemoteSelectWidget, { type AsyncRemoteSelectWidgetProps, -} from "@/components/form/widgets/AsyncRemoteSelectWidget"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { WorkspaceType } from "@/contrib/automationanywhere/contract"; +} from "../../components/form/widgets/AsyncRemoteSelectWidget"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import type { WorkspaceType } from "./contract"; import { partial } from "lodash"; -import type { Option } from "@/components/form/widgets/SelectWidget"; +import type { Option } from "../../components/form/widgets/SelectWidget"; type RemoteOptionsFactory = ( config: SanitizedIntegrationConfig, diff --git a/src/contrib/automationanywhere/RunApiTask.test.ts b/applications/browser-extension/src/contrib/automationanywhere/RunApiTask.test.ts similarity index 82% rename from src/contrib/automationanywhere/RunApiTask.test.ts rename to applications/browser-extension/src/contrib/automationanywhere/RunApiTask.test.ts index 4bbeca95bb..4303de75cc 100644 --- a/src/contrib/automationanywhere/RunApiTask.test.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/RunApiTask.test.ts @@ -15,33 +15,33 @@ * along with this program. If not, see . */ -import { setPlatform } from "@/platform/platformContext"; -import { platformMock } from "@/testUtils/platformMock"; -import { RunApiTask } from "@/contrib/automationanywhere/RunApiTask"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type Nullishable } from "@/utils/nullishUtils"; -import { performConfiguredRequest } from "@/background/requests"; +import { setPlatform } from "../../platform/platformContext"; +import { platformMock } from "../../testUtils/platformMock"; +import { RunApiTask } from "./RunApiTask"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { type Nullishable } from "../../utils/nullishUtils"; +import { performConfiguredRequest } from "../../background/requests"; import { remoteIntegrationConfigurationFactory, sanitizedIntegrationConfigFactory, secretsConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { appApiMock, onApiGet, onApiPost } from "@/testUtils/appApiMock"; -import { TEST_overrideFeatureFlags } from "@/auth/featureFlagStorage"; -import { fromJS } from "@/integrations/UserDefinedIntegration"; -import controlRoomOAuth2Service from "@contrib/integrations/automation-anywhere-oauth2.yaml"; -import integrationRegistry from "@/integrations/registry"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; -import { type UUID } from "@/types/stringTypes"; -import { setCachedAuthData } from "@/background/auth/authStorage"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; -import { sleep } from "@/utils/timeUtils"; -import { type NetworkRequestConfig } from "@/types/networkTypes"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../../testUtils/factories/integrationFactories"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { appApiMock, onApiGet, onApiPost } from "../../testUtils/appApiMock"; +import { TEST_overrideFeatureFlags } from "../../auth/featureFlagStorage"; +import { fromJS } from "../../integrations/UserDefinedIntegration"; +import controlRoomOAuth2Service from "../../../contrib/integrations/automation-anywhere-oauth2.yaml"; +import integrationRegistry from "../../integrations/registry"; +import { integrationConfigLocator } from "../../background/integrationConfigLocator"; +import { type UUID } from "../../types/stringTypes"; +import { setCachedAuthData } from "../../background/auth/authStorage"; +import { autoUUIDSequence } from "../../testUtils/factories/stringFactories"; +import { sleep } from "../../utils/timeUtils"; +import { type NetworkRequestConfig } from "../../types/networkTypes"; +import { API_PATHS } from "../../data/service/urlPaths"; -jest.mock("@/utils/timeUtils", () => { +jest.mock("../../utils/timeUtils", () => { const actual = jest.requireActual("@/utils/timeUtils"); return { diff --git a/src/contrib/automationanywhere/RunApiTask.ts b/applications/browser-extension/src/contrib/automationanywhere/RunApiTask.ts similarity index 88% rename from src/contrib/automationanywhere/RunApiTask.ts rename to applications/browser-extension/src/contrib/automationanywhere/RunApiTask.ts index 019d9b07a2..addc3efdef 100644 --- a/src/contrib/automationanywhere/RunApiTask.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/RunApiTask.ts @@ -15,22 +15,22 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { type Schema } from "../../types/schemaTypes"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, CONTROL_ROOM_TOKEN_INTEGRATION_ID, -} from "@/integrations/constants"; +} from "../../integrations/constants"; import { DEFAULT_MAX_WAIT_MILLIS, pollEnterpriseResult, runApiTask, -} from "@/contrib/automationanywhere/aaApi"; -import { type ApiTaskArgs } from "@/contrib/automationanywhere/aaTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { minimalSchemaFactory } from "@/utils/schemaUtils"; +} from "./aaApi"; +import { type ApiTaskArgs } from "./aaTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { minimalSchemaFactory } from "../../utils/schemaUtils"; import { type SetRequired } from "type-fest"; export const RUN_API_TASK_INPUT_SCHEMA: SetRequired = { diff --git a/src/contrib/automationanywhere/RunBot.test.ts b/applications/browser-extension/src/contrib/automationanywhere/RunBot.test.ts similarity index 95% rename from src/contrib/automationanywhere/RunBot.test.ts rename to applications/browser-extension/src/contrib/automationanywhere/RunBot.test.ts index 48b2240925..3f06a4c619 100644 --- a/src/contrib/automationanywhere/RunBot.test.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/RunBot.test.ts @@ -15,29 +15,29 @@ * along with this program. If not, see . */ -import { RunBot } from "@/contrib/automationanywhere/RunBot"; -import { unsafeAssumeValidArg } from "@/runtime/runtimeTypes"; -import { uuidv4 } from "@/types/helpers"; +import { RunBot } from "./RunBot"; +import { unsafeAssumeValidArg } from "../../runtime/runtimeTypes"; +import { uuidv4 } from "../../types/helpers"; import { getUserData, getCachedAuthData, performConfiguredRequestInBackground, -} from "@/background/messenger/api"; +} from "../../background/messenger/api"; import { type AuthData, type SanitizedIntegrationConfig, -} from "@/integrations/integrationTypes"; +} from "../../integrations/integrationTypes"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, CONTROL_ROOM_TOKEN_INTEGRATION_ID, -} from "@/integrations/constants"; -import { brickOptionsFactory } from "@/testUtils/factories/runtimeFactories"; -import { setPlatform } from "@/platform/platformContext"; -import { platformMock as platform } from "@/testUtils/platformMock"; -import type { Nullishable } from "@/utils/nullishUtils"; -import type { NetworkRequestConfig } from "@/types/networkTypes"; - -jest.mock("@/background/messenger/api", () => ({ +} from "../../integrations/constants"; +import { brickOptionsFactory } from "../../testUtils/factories/runtimeFactories"; +import { setPlatform } from "../../platform/platformContext"; +import { platformMock as platform } from "../../testUtils/platformMock"; +import type { Nullishable } from "../../utils/nullishUtils"; +import type { NetworkRequestConfig } from "../../types/networkTypes"; + +jest.mock("../../background/messenger/api", () => ({ getUserData: jest.fn().mockRejectedValue(new Error("Not mocked")), getCachedAuthData: jest.fn().mockRejectedValue(new Error("Not mocked")), performConfiguredRequestInBackground: jest.fn().mockResolvedValue({ diff --git a/src/contrib/automationanywhere/RunBot.ts b/applications/browser-extension/src/contrib/automationanywhere/RunBot.ts similarity index 90% rename from src/contrib/automationanywhere/RunBot.ts rename to applications/browser-extension/src/contrib/automationanywhere/RunBot.ts index 1d8ded88b0..b45fc69a2f 100644 --- a/src/contrib/automationanywhere/RunBot.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/RunBot.ts @@ -15,30 +15,30 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; -import { isCommunityControlRoom } from "@/contrib/automationanywhere/aaUtils"; +import { validateRegistryId } from "../../types/helpers"; +import { isCommunityControlRoom } from "./aaUtils"; import { DEFAULT_MAX_WAIT_MILLIS, pollEnterpriseResult, runCommunityBot, runEnterpriseBot, -} from "@/contrib/automationanywhere/aaApi"; +} from "./aaApi"; import { type BotArgs, type EnterpriseBotArgs, -} from "@/contrib/automationanywhere/aaTypes"; -import { BusinessError, PropError } from "@/errors/businessErrors"; +} from "./aaTypes"; +import { BusinessError, PropError } from "../../errors/businessErrors"; import { cloneDeep } from "lodash"; -import { getCachedAuthData, getUserData } from "@/background/messenger/api"; -import { type Schema, type SchemaProperties } from "@/types/schemaTypes"; -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; +import { getCachedAuthData, getUserData } from "../../background/messenger/api"; +import { type Schema, type SchemaProperties } from "../../types/schemaTypes"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; import { CONTROL_ROOM_OAUTH_INTEGRATION_ID, CONTROL_ROOM_TOKEN_INTEGRATION_ID, -} from "@/integrations/constants"; -import { urlsMatch } from "@/utils/urlUtils"; -import { minimalSchemaFactory } from "@/utils/schemaUtils"; +} from "../../integrations/constants"; +import { urlsMatch } from "../../utils/urlUtils"; +import { minimalSchemaFactory } from "../../utils/schemaUtils"; export const COMMON_PROPERTIES: SchemaProperties = { service: { diff --git a/src/contrib/automationanywhere/SetCopilotDataEffect.ts b/applications/browser-extension/src/contrib/automationanywhere/SetCopilotDataEffect.ts similarity index 85% rename from src/contrib/automationanywhere/SetCopilotDataEffect.ts rename to applications/browser-extension/src/contrib/automationanywhere/SetCopilotDataEffect.ts index e2a17cec15..493138d3b7 100644 --- a/src/contrib/automationanywhere/SetCopilotDataEffect.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/SetCopilotDataEffect.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; -import { type Schema } from "@/types/schemaTypes"; -import { type BrickArgs } from "@/types/runtimeTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { setPartnerCopilotData } from "@/background/messenger/api"; -import { isLoadedInIframe } from "@/utils/iframeUtils"; -import { BusinessError } from "@/errors/businessErrors"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { validateRegistryId } from "../../types/helpers"; +import { type Schema } from "../../types/schemaTypes"; +import { type BrickArgs } from "../../types/runtimeTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { setPartnerCopilotData } from "../../background/messenger/api"; +import { isLoadedInIframe } from "../../utils/iframeUtils"; +import { BusinessError } from "../../errors/businessErrors"; +import { propertiesToSchema } from "../../utils/schemaUtils"; type ProcessDataMap = Record; diff --git a/src/contrib/automationanywhere/WorkspaceTypeField.tsx b/applications/browser-extension/src/contrib/automationanywhere/WorkspaceTypeField.tsx similarity index 79% rename from src/contrib/automationanywhere/WorkspaceTypeField.tsx rename to applications/browser-extension/src/contrib/automationanywhere/WorkspaceTypeField.tsx index af329b1bab..b60788cbb1 100644 --- a/src/contrib/automationanywhere/WorkspaceTypeField.tsx +++ b/applications/browser-extension/src/contrib/automationanywhere/WorkspaceTypeField.tsx @@ -16,11 +16,11 @@ */ import React from "react"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { isCommunityControlRoom } from "@/contrib/automationanywhere/aaUtils"; -import SelectWidget from "@/components/form/widgets/SelectWidget"; -import { WORKSPACE_OPTIONS } from "@/contrib/automationanywhere/util"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; +import type { SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { isCommunityControlRoom } from "./aaUtils"; +import SelectWidget from "../../components/form/widgets/SelectWidget"; +import { WORKSPACE_OPTIONS } from "./util"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; const WorkspaceTypeField: React.FC<{ workspaceTypeFieldName: string; diff --git a/src/contrib/automationanywhere/__snapshots__/BotOptions.test.tsx.snap b/applications/browser-extension/src/contrib/automationanywhere/__snapshots__/BotOptions.test.tsx.snap similarity index 100% rename from src/contrib/automationanywhere/__snapshots__/BotOptions.test.tsx.snap rename to applications/browser-extension/src/contrib/automationanywhere/__snapshots__/BotOptions.test.tsx.snap diff --git a/src/contrib/automationanywhere/aaApi.test.ts b/applications/browser-extension/src/contrib/automationanywhere/aaApi.test.ts similarity index 82% rename from src/contrib/automationanywhere/aaApi.test.ts rename to applications/browser-extension/src/contrib/automationanywhere/aaApi.test.ts index 039858210d..cdaf179b87 100644 --- a/src/contrib/automationanywhere/aaApi.test.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/aaApi.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import { cachedSearchBots } from "@/contrib/automationanywhere/aaApi"; -import { type RemoteResponse } from "@/types/contract"; +import { cachedSearchBots } from "./aaApi"; +import { type RemoteResponse } from "../../types/contract"; import pDefer, { type DeferredPromise } from "p-defer"; -import { type SanitizedConfig } from "@/integrations/integrationTypes"; -import { CONTROL_ROOM_TOKEN_INTEGRATION_ID } from "@/integrations/constants"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { setPlatform } from "@/platform/platformContext"; -import { platformMock } from "@/testUtils/platformMock"; +import { type SanitizedConfig } from "../../integrations/integrationTypes"; +import { CONTROL_ROOM_TOKEN_INTEGRATION_ID } from "../../integrations/constants"; +import { sanitizedIntegrationConfigFactory } from "../../testUtils/factories/integrationFactories"; +import { setPlatform } from "../../platform/platformContext"; +import { platformMock } from "../../testUtils/platformMock"; beforeEach(() => { setPlatform(platformMock); diff --git a/src/contrib/automationanywhere/aaApi.ts b/applications/browser-extension/src/contrib/automationanywhere/aaApi.ts similarity index 95% rename from src/contrib/automationanywhere/aaApi.ts rename to applications/browser-extension/src/contrib/automationanywhere/aaApi.ts index 793d986d4b..67c7aec15c 100644 --- a/src/contrib/automationanywhere/aaApi.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/aaApi.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { type Logger } from "@/types/loggerTypes"; -import { type Option } from "@/components/form/widgets/SelectWidget"; +import { type Logger } from "../../types/loggerTypes"; +import { type Option } from "../../components/form/widgets/SelectWidget"; import { type Activity, type ApiTaskResponse, @@ -32,29 +32,29 @@ import { type ListResponse, type RunAsUser, type WorkspaceType, -} from "@/contrib/automationanywhere/contract"; -import { cachePromiseMethod } from "@/utils/cachePromise"; +} from "./contract"; +import { cachePromiseMethod } from "../../utils/cachePromise"; import { interfaceToInputSchema, mapBotInput, selectBotOutput, -} from "@/contrib/automationanywhere/aaUtils"; +} from "./aaUtils"; import { type ApiTaskArgs, type CommunityBotArgs, type EnterpriseBotArgs, -} from "@/contrib/automationanywhere/aaTypes"; -import { BusinessError } from "@/errors/businessErrors"; +} from "./aaTypes"; +import { BusinessError } from "../../errors/businessErrors"; import { castArray, cloneDeep, isEmpty, partial, sortBy } from "lodash"; -import type { NetworkRequestConfig } from "@/types/networkTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { pollUntilTruthy } from "@/utils/promiseUtils"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { sleep } from "@/utils/timeUtils"; +import type { NetworkRequestConfig } from "../../types/networkTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { pollUntilTruthy } from "../../utils/promiseUtils"; +import { isNullOrBlank } from "../../utils/stringUtils"; +import { sleep } from "../../utils/timeUtils"; // XXX: using the ambient platform object for now. In the future, we might want to wrap all these methods in a class // and pass the platform and integration config as a constructor argument -import { getPlatform } from "@/platform/platformContext"; +import { getPlatform } from "../../platform/platformContext"; import { type SetRequired } from "type-fest"; // https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/control-room/control-room-api/cloud-api-filter-request.html diff --git a/src/contrib/automationanywhere/aaFrameProtocol.ts b/applications/browser-extension/src/contrib/automationanywhere/aaFrameProtocol.ts similarity index 95% rename from src/contrib/automationanywhere/aaFrameProtocol.ts rename to applications/browser-extension/src/contrib/automationanywhere/aaFrameProtocol.ts index a8e99b41f6..237a828c09 100644 --- a/src/contrib/automationanywhere/aaFrameProtocol.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/aaFrameProtocol.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { expectContext } from "@/utils/expectContext"; -import { getConnectedTarget } from "@/sidebar/connectedTarget"; -import { getCopilotHostData } from "@/contentScript/messenger/api"; +import { expectContext } from "../../utils/expectContext"; +import { getConnectedTarget } from "../../sidebar/connectedTarget"; +import { getCopilotHostData } from "../../contentScript/messenger/api"; import { type ProcessDataMap, SET_COPILOT_DATA_MESSAGE_TYPE, -} from "@/contrib/automationanywhere/aaTypes"; +} from "./aaTypes"; import { type TopLevelFrame } from "webext-messenger"; /** diff --git a/src/contrib/automationanywhere/aaTypes.ts b/applications/browser-extension/src/contrib/automationanywhere/aaTypes.ts similarity index 95% rename from src/contrib/automationanywhere/aaTypes.ts rename to applications/browser-extension/src/contrib/automationanywhere/aaTypes.ts index 4a4232e353..fc298f2c29 100644 --- a/src/contrib/automationanywhere/aaTypes.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/aaTypes.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; /** * Runtime event type for setting Co-Pilot data diff --git a/src/contrib/automationanywhere/aaUtils.test.ts b/applications/browser-extension/src/contrib/automationanywhere/aaUtils.test.ts similarity index 98% rename from src/contrib/automationanywhere/aaUtils.test.ts rename to applications/browser-extension/src/contrib/automationanywhere/aaUtils.test.ts index f1b8be7649..ebfb2bf089 100644 --- a/src/contrib/automationanywhere/aaUtils.test.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/aaUtils.test.ts @@ -3,8 +3,8 @@ import { interfaceToInputSchema, isCommunityControlRoom, selectBotOutput, -} from "@/contrib/automationanywhere/aaUtils"; -import { type Execution } from "@/contrib/automationanywhere/contract"; +} from "./aaUtils"; +import { type Execution } from "./contract"; describe("isCommunityControlRoom", () => { test.each([ diff --git a/src/contrib/automationanywhere/aaUtils.ts b/applications/browser-extension/src/contrib/automationanywhere/aaUtils.ts similarity index 95% rename from src/contrib/automationanywhere/aaUtils.ts rename to applications/browser-extension/src/contrib/automationanywhere/aaUtils.ts index 46d62e816a..ebbcb166db 100644 --- a/src/contrib/automationanywhere/aaUtils.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/aaUtils.ts @@ -15,20 +15,20 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../types/schemaTypes"; import { type Execution, type Interface, type OutputValue, type TableValue, type Variable, -} from "@/contrib/automationanywhere/contract"; +} from "./contract"; import { type JSONSchema7Type } from "json-schema"; import { mapValues, zipWith } from "lodash"; import { type Primitive } from "type-fest"; -import { BusinessError } from "@/errors/businessErrors"; -import { boolean } from "@/utils/typeUtils"; -import { type Nullishable } from "@/utils/nullishUtils"; +import { BusinessError } from "../../errors/businessErrors"; +import { boolean } from "../../utils/typeUtils"; +import { type Nullishable } from "../../utils/nullishUtils"; const COMMUNITY_CONTROL_ROOM_REGEX = /^(https:\/\/)?community\d*\.\S+\.automationanywhere\.digital\/?$/; diff --git a/src/contrib/automationanywhere/contract.ts b/applications/browser-extension/src/contrib/automationanywhere/contract.ts similarity index 100% rename from src/contrib/automationanywhere/contract.ts rename to applications/browser-extension/src/contrib/automationanywhere/contract.ts diff --git a/src/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts b/applications/browser-extension/src/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts similarity index 93% rename from src/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts rename to applications/browser-extension/src/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts index b30ebbc6cd..ba41e92512 100644 --- a/src/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/useWorkspaceTypeOptionsFactoryArgs.ts @@ -17,10 +17,10 @@ import useAsyncEffect from "use-async-effect"; import { isCommunityControlRoom } from "./aaUtils"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; import { useField } from "formik"; -import type { WorkspaceType } from "@/contrib/automationanywhere/contract"; -import { cachedFetchBotFile } from "@/contrib/automationanywhere/aaApi"; +import type { WorkspaceType } from "./contract"; +import { cachedFetchBotFile } from "./aaApi"; import { useMemo } from "react"; export type WorkspaceTypeFactoryArgs = { diff --git a/src/contrib/automationanywhere/util.ts b/applications/browser-extension/src/contrib/automationanywhere/util.ts similarity index 85% rename from src/contrib/automationanywhere/util.ts rename to applications/browser-extension/src/contrib/automationanywhere/util.ts index 95f48b9319..bf032502f0 100644 --- a/src/contrib/automationanywhere/util.ts +++ b/applications/browser-extension/src/contrib/automationanywhere/util.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { type Option } from "@/components/form/widgets/SelectWidget"; -import { type WorkspaceType } from "@/contrib/automationanywhere/contract"; +import { type Option } from "../../components/form/widgets/SelectWidget"; +import { type WorkspaceType } from "./contract"; export const WORKSPACE_OPTIONS: Array> = [ { value: "public", label: "Public" }, diff --git a/src/contrib/ckeditor/ckeditor.test.ts b/applications/browser-extension/src/contrib/ckeditor/ckeditor.test.ts similarity index 89% rename from src/contrib/ckeditor/ckeditor.test.ts rename to applications/browser-extension/src/contrib/ckeditor/ckeditor.test.ts index 6776455891..2ade18ddec 100644 --- a/src/contrib/ckeditor/ckeditor.test.ts +++ b/applications/browser-extension/src/contrib/ckeditor/ckeditor.test.ts @@ -18,9 +18,9 @@ import { isCKEditorElement, setData, -} from "@/contrib/ckeditor/ckeditorProtocol"; -import { BusinessError } from "@/errors/businessErrors"; -import { hasCKEditorClass } from "@/contrib/ckeditor/ckeditorDom"; +} from "./ckeditorProtocol"; +import { BusinessError } from "../../errors/businessErrors"; +import { hasCKEditorClass } from "./ckeditorDom"; describe("CKEditor", () => { it("detects CKEditor instances", () => { diff --git a/src/contrib/ckeditor/ckeditorDom.ts b/applications/browser-extension/src/contrib/ckeditor/ckeditorDom.ts similarity index 100% rename from src/contrib/ckeditor/ckeditorDom.ts rename to applications/browser-extension/src/contrib/ckeditor/ckeditorDom.ts diff --git a/src/contrib/ckeditor/ckeditorProtocol.ts b/applications/browser-extension/src/contrib/ckeditor/ckeditorProtocol.ts similarity index 97% rename from src/contrib/ckeditor/ckeditorProtocol.ts rename to applications/browser-extension/src/contrib/ckeditor/ckeditorProtocol.ts index fd5ef80f29..7424dacdef 100644 --- a/src/contrib/ckeditor/ckeditorProtocol.ts +++ b/applications/browser-extension/src/contrib/ckeditor/ckeditorProtocol.ts @@ -17,8 +17,8 @@ /** @file CKEditor methods that call JS methods on the CKEditor instance */ -import { forbidContext } from "@/utils/expectContext"; -import { BusinessError } from "@/errors/businessErrors"; +import { forbidContext } from "../../utils/expectContext"; +import { BusinessError } from "../../errors/businessErrors"; /** * https://ckeditor.com/docs/ckeditor5/latest/api/module_engine_model_position-Position.html diff --git a/src/contrib/deepgram/deepgramTypes.ts b/applications/browser-extension/src/contrib/deepgram/deepgramTypes.ts similarity index 88% rename from src/contrib/deepgram/deepgramTypes.ts rename to applications/browser-extension/src/contrib/deepgram/deepgramTypes.ts index 761aefcb7c..c5a0f68951 100644 --- a/src/contrib/deepgram/deepgramTypes.ts +++ b/applications/browser-extension/src/contrib/deepgram/deepgramTypes.ts @@ -18,9 +18,9 @@ import type { IntegrationConfig, SecretsConfig, -} from "@/integrations/integrationTypes"; -import { assertNotNullish, type Nullishable } from "@/utils/nullishUtils"; -import { validateRegistryId } from "@/types/helpers"; +} from "../../integrations/integrationTypes"; +import { assertNotNullish, type Nullishable } from "../../utils/nullishUtils"; +import { validateRegistryId } from "../../types/helpers"; export const DEEPGRAM_INTEGRATION_ID = validateRegistryId("deepgram/api"); diff --git a/src/contrib/draftjs/draftJsDom.ts b/applications/browser-extension/src/contrib/draftjs/draftJsDom.ts similarity index 98% rename from src/contrib/draftjs/draftJsDom.ts rename to applications/browser-extension/src/contrib/draftjs/draftJsDom.ts index b2d58c9f6e..f738578c35 100644 --- a/src/contrib/draftjs/draftJsDom.ts +++ b/applications/browser-extension/src/contrib/draftjs/draftJsDom.ts @@ -21,7 +21,7 @@ * - See example for regression testing at {@link https://pbx.vercel.app/advanced-fields/} */ -import { sleep } from "@/utils/timeUtils"; +import { sleep } from "../../utils/timeUtils"; /** * Insert text into a Draft.js field at the cursor. diff --git a/src/contrib/editors.ts b/applications/browser-extension/src/contrib/editors.ts similarity index 50% rename from src/contrib/editors.ts rename to applications/browser-extension/src/contrib/editors.ts index bd72f13311..36964e4e89 100644 --- a/src/contrib/editors.ts +++ b/applications/browser-extension/src/contrib/editors.ts @@ -15,45 +15,45 @@ * along with this program. If not, see . */ -import optionsRegistry from "@/components/fields/optionsRegistry"; -import PushOptions from "@/contrib/zapier/PushOptions"; -import ProcessOptions from "@/contrib/uipath/ProcessOptions"; -import AppendSpreadsheetOptions from "@/contrib/google/sheets/ui/AppendSpreadsheetOptions"; -import { ZAPIER_ID } from "@/contrib/zapier/push"; -import { UIPATH_ID } from "@/contrib/uipath/process"; -import { GOOGLE_SHEETS_APPEND_ID } from "@/contrib/google/sheets/bricks/append"; -import BotOptions from "@/contrib/automationanywhere/BotOptions"; -import { RunBot } from "@/contrib/automationanywhere/RunBot"; +import optionsRegistry from "../components/fields/optionsRegistry"; +import PushOptions from "./zapier/PushOptions"; +import ProcessOptions from "./uipath/ProcessOptions"; +import AppendSpreadsheetOptions from "./google/sheets/ui/AppendSpreadsheetOptions"; +import { ZAPIER_ID } from "./zapier/push"; +import { UIPATH_ID } from "./uipath/process"; +import { GOOGLE_SHEETS_APPEND_ID } from "./google/sheets/bricks/append"; +import BotOptions from "./automationanywhere/BotOptions"; +import { RunBot } from "./automationanywhere/RunBot"; import FormModalOptions, { FORM_MODAL_ID, -} from "@/pageEditor/fields/FormModalOptions"; -import FormRendererOptions from "@/pageEditor/fields/FormRendererOptions"; -import { GOOGLE_SHEETS_LOOKUP_ID } from "@/contrib/google/sheets/bricks/lookup"; -import LookupSpreadsheetOptions from "@/contrib/google/sheets/ui/LookupSpreadsheetOptions"; +} from "../pageEditor/fields/FormModalOptions"; +import FormRendererOptions from "../pageEditor/fields/FormRendererOptions"; +import { GOOGLE_SHEETS_LOOKUP_ID } from "./google/sheets/bricks/lookup"; +import LookupSpreadsheetOptions from "./google/sheets/ui/LookupSpreadsheetOptions"; import DatabaseGetOptions, { DATABASE_GET_ID, -} from "@/pageEditor/fields/DatabaseGetOptions"; +} from "../pageEditor/fields/DatabaseGetOptions"; import DatabasePutOptions, { DATABASE_PUT_ID, -} from "@/pageEditor/fields/DatabasePutOptions"; -import DocumentOptions from "@/pageEditor/documentBuilder/edit/DocumentOptions"; +} from "../pageEditor/fields/DatabasePutOptions"; +import DocumentOptions from "../pageEditor/documentBuilder/edit/DocumentOptions"; import RemoteMethodOptions, { REMOTE_METHOD_ID, -} from "@/pageEditor/fields/RemoteMethodOptions"; -import { ALERT_EFFECT_ID } from "@/bricks/effects/alert"; -import AlertOptions from "@/pageEditor/fields/AlertOptions"; -import { JQueryReader } from "@/bricks/transformers/jquery/JQueryReader"; -import JQueryReaderOptions from "@/bricks/transformers/jquery/JQueryReaderOptions"; -import AssignModVariable from "@/bricks/effects/assignModVariable"; -import AssignModVariableOptions from "@/pageEditor/fields/AssignModVariableOptions"; -import IdentityTransformer from "@/bricks/transformers/IdentityTransformer"; -import IdentityTransformerOptions from "@/bricks/transformers/IdentityTransformerOptions"; -import CommentEffect from "@/bricks/effects/comment"; -import CommentOptions from "@/bricks/effects/CommentOptions"; -import { DocumentRenderer } from "@/bricks/renderers/document"; -import { CustomFormRenderer } from "@/bricks/renderers/customForm"; -import { RunApiTask } from "@/contrib/automationanywhere/RunApiTask"; -import ApiTaskOptions from "@/contrib/automationanywhere/ApiTaskOptions"; +} from "../pageEditor/fields/RemoteMethodOptions"; +import { ALERT_EFFECT_ID } from "../bricks/effects/alert"; +import AlertOptions from "../pageEditor/fields/AlertOptions"; +import { JQueryReader } from "../bricks/transformers/jquery/JQueryReader"; +import JQueryReaderOptions from "../bricks/transformers/jquery/JQueryReaderOptions"; +import AssignModVariable from "../bricks/effects/assignModVariable"; +import AssignModVariableOptions from "../pageEditor/fields/AssignModVariableOptions"; +import IdentityTransformer from "../bricks/transformers/IdentityTransformer"; +import IdentityTransformerOptions from "../bricks/transformers/IdentityTransformerOptions"; +import CommentEffect from "../bricks/effects/comment"; +import CommentOptions from "../bricks/effects/CommentOptions"; +import { DocumentRenderer } from "../bricks/renderers/document"; +import { CustomFormRenderer } from "../bricks/renderers/customForm"; +import { RunApiTask } from "./automationanywhere/RunApiTask"; +import ApiTaskOptions from "./automationanywhere/ApiTaskOptions"; /** * Custom BlockConfiguration pageEditor components. diff --git a/src/contrib/google/geocode.ts b/applications/browser-extension/src/contrib/google/geocode.ts similarity index 87% rename from src/contrib/google/geocode.ts rename to applications/browser-extension/src/contrib/google/geocode.ts index d10df243b5..ccc23ce701 100644 --- a/src/contrib/google/geocode.ts +++ b/applications/browser-extension/src/contrib/google/geocode.ts @@ -16,13 +16,13 @@ */ import { isEmpty } from "lodash"; -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type Schema } from "@/types/schemaTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import type { PlatformProtocol } from "@/platform/platformProtocol"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { type Schema } from "../../types/schemaTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import type { PlatformProtocol } from "../../platform/platformProtocol"; +import { propertiesToSchema } from "../../utils/schemaUtils"; interface GeocodedAddress { state?: string; diff --git a/src/contrib/google/sheets/bricks/append.test.ts b/applications/browser-extension/src/contrib/google/sheets/bricks/append.test.ts similarity index 94% rename from src/contrib/google/sheets/bricks/append.test.ts rename to applications/browser-extension/src/contrib/google/sheets/bricks/append.test.ts index 9e30c23d37..ef27a4da33 100644 --- a/src/contrib/google/sheets/bricks/append.test.ts +++ b/applications/browser-extension/src/contrib/google/sheets/bricks/append.test.ts @@ -25,19 +25,19 @@ import { normalizeShape, type RowValues, type Shape, -} from "@/contrib/google/sheets/bricks/append"; -import * as sheets from "@/contrib/google/sheets/core/sheetsApi"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; -import ConsoleLogger from "@/utils/ConsoleLogger"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import type { SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { Spreadsheet } from "@/contrib/google/sheets/core/types"; +} from "./append"; +import * as sheets from "../core/sheetsApi"; +import { sanitizedIntegrationConfigFactory } from "../../../../testUtils/factories/integrationFactories"; +import { uuidv4, validateRegistryId } from "../../../../types/helpers"; +import { uuidSequence } from "../../../../testUtils/factories/stringFactories"; +import ConsoleLogger from "../../../../utils/ConsoleLogger"; +import { type BrickArgs, type BrickOptions } from "../../../../types/runtimeTypes"; +import type { SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import type { Spreadsheet } from "../core/types"; import { produce } from "immer"; // XXX: sheetsApi should likely be mocked at the network level, not the module level -jest.mock("@/contrib/google/sheets/core/sheetsApi"); +jest.mock("../core/sheetsApi"); describe("Infer shape", () => { it("Infer entries shape", () => { diff --git a/src/contrib/google/sheets/bricks/append.ts b/applications/browser-extension/src/contrib/google/sheets/bricks/append.ts similarity index 93% rename from src/contrib/google/sheets/bricks/append.ts rename to applications/browser-extension/src/contrib/google/sheets/bricks/append.ts index 61aceb2c3a..288eea0f2b 100644 --- a/src/contrib/google/sheets/bricks/append.ts +++ b/applications/browser-extension/src/contrib/google/sheets/bricks/append.ts @@ -16,23 +16,23 @@ */ import { isEmpty, isEqual, unary, uniq } from "lodash"; -import { validateRegistryId } from "@/types/helpers"; -import { normalizeHeader } from "@/contrib/google/sheets/core/sheetsHelpers"; -import * as sheets from "@/contrib/google/sheets/core/sheetsApi"; -import { BusinessError, PropError } from "@/errors/businessErrors"; +import { validateRegistryId } from "../../../../types/helpers"; +import { normalizeHeader } from "../core/sheetsHelpers"; +import * as sheets from "../core/sheetsApi"; +import { BusinessError, PropError } from "../../../../errors/businessErrors"; import { GOOGLE_OAUTH2_PKCE_INTEGRATION_ID, SHEET_INTEGRATION_SCHEMA, -} from "@/contrib/google/sheets/core/schemas"; -import { type Schema } from "@/types/schemaTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type SpreadsheetTarget } from "@/contrib/google/sheets/core/sheetsApi"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { isObject } from "@/utils/objectUtils"; -import { propertiesToSchema } from "@/utils/schemaUtils"; -import { INTEGRATIONS_BASE_SCHEMA_URL } from "@/integrations/constants"; +} from "../core/schemas"; +import { type Schema } from "../../../../types/schemaTypes"; +import { EffectABC } from "../../../../types/bricks/effectTypes"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import { type BrickArgs, type BrickOptions } from "../../../../types/runtimeTypes"; +import { type SpreadsheetTarget } from "../core/sheetsApi"; +import { isNullOrBlank } from "../../../../utils/stringUtils"; +import { isObject } from "../../../../utils/objectUtils"; +import { propertiesToSchema } from "../../../../utils/schemaUtils"; +import { INTEGRATIONS_BASE_SCHEMA_URL } from "../../../../integrations/constants"; import { type SetRequired } from "type-fest"; type CellValue = string | number | null; diff --git a/src/contrib/google/sheets/bricks/lookup.test.ts b/applications/browser-extension/src/contrib/google/sheets/bricks/lookup.test.ts similarity index 91% rename from src/contrib/google/sheets/bricks/lookup.test.ts rename to applications/browser-extension/src/contrib/google/sheets/bricks/lookup.test.ts index b1c2a9035b..7a8d0a1457 100644 --- a/src/contrib/google/sheets/bricks/lookup.test.ts +++ b/applications/browser-extension/src/contrib/google/sheets/bricks/lookup.test.ts @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -import * as sheets from "@/contrib/google/sheets/core/sheetsApi"; -import { GoogleSheetsLookup } from "@/contrib/google/sheets/bricks/lookup"; -import { type ValueRange } from "@/contrib/google/sheets/core/types"; -import { BusinessError, PropError } from "@/errors/businessErrors"; -import { sanitizedIntegrationConfigFactory } from "@/testUtils/factories/integrationFactories"; +import * as sheets from "../core/sheetsApi"; +import { GoogleSheetsLookup } from "./lookup"; +import { type ValueRange } from "../core/types"; +import { BusinessError, PropError } from "../../../../errors/businessErrors"; +import { sanitizedIntegrationConfigFactory } from "../../../../testUtils/factories/integrationFactories"; // XXX: sheetsApi should likely be mocked at the network level, not the module level -jest.mock("@/contrib/google/sheets/core/sheetsApi"); +jest.mock("../core/sheetsApi"); const getAllRowsMock = jest.mocked(sheets.getAllRows); diff --git a/src/contrib/google/sheets/bricks/lookup.ts b/applications/browser-extension/src/contrib/google/sheets/bricks/lookup.ts similarity index 89% rename from src/contrib/google/sheets/bricks/lookup.ts rename to applications/browser-extension/src/contrib/google/sheets/bricks/lookup.ts index dad0c7f6c4..34715b9449 100644 --- a/src/contrib/google/sheets/bricks/lookup.ts +++ b/applications/browser-extension/src/contrib/google/sheets/bricks/lookup.ts @@ -15,24 +15,24 @@ * along with this program. If not, see . */ -import { validateRegistryId } from "@/types/helpers"; +import { validateRegistryId } from "../../../../types/helpers"; import { zip } from "lodash"; -import { BusinessError, PropError } from "@/errors/businessErrors"; +import { BusinessError, PropError } from "../../../../errors/businessErrors"; import { GOOGLE_OAUTH2_PKCE_INTEGRATION_ID, SHEET_INTEGRATION_SCHEMA, -} from "@/contrib/google/sheets/core/schemas"; -import { type Schema } from "@/types/schemaTypes"; -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; +} from "../core/schemas"; +import { type Schema } from "../../../../types/schemaTypes"; +import { TransformerABC } from "../../../../types/bricks/transformerTypes"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import { type BrickArgs, type BrickOptions } from "../../../../types/runtimeTypes"; import { getAllRows, type SpreadsheetTarget, -} from "@/contrib/google/sheets/core/sheetsApi"; -import { isNullOrBlank } from "@/utils/stringUtils"; +} from "../core/sheetsApi"; +import { isNullOrBlank } from "../../../../utils/stringUtils"; -import { INTEGRATIONS_BASE_SCHEMA_URL } from "@/integrations/constants"; +import { INTEGRATIONS_BASE_SCHEMA_URL } from "../../../../integrations/constants"; export const GOOGLE_SHEETS_LOOKUP_ID = validateRegistryId( "@pixiebrix/google/sheets-lookup", diff --git a/src/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts b/applications/browser-extension/src/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts similarity index 94% rename from src/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts rename to applications/browser-extension/src/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts index b1fa365ce4..bf546d817c 100644 --- a/src/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/getSheetIdIntegrationOutputKey.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Expression } from "@/types/runtimeTypes"; +import { type Expression } from "../../../../types/runtimeTypes"; export function getSheetIdIntegrationOutputKey( fieldValue: Expression, diff --git a/src/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts b/applications/browser-extension/src/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts similarity index 91% rename from src/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts rename to applications/browser-extension/src/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts index 4cad9dae77..8abdac5e03 100644 --- a/src/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/getSheetServiceOutputKey.test.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { getSheetIdIntegrationOutputKey } from "@/contrib/google/sheets/core/getSheetIdIntegrationOutputKey"; +import { getSheetIdIntegrationOutputKey } from "./getSheetIdIntegrationOutputKey"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../../utils/expressionUtils"; describe("getSheetServiceOutputKey", () => { test("abc", () => { diff --git a/src/contrib/google/sheets/core/handleGoogleRequestRejection.ts b/applications/browser-extension/src/contrib/google/sheets/core/handleGoogleRequestRejection.ts similarity index 84% rename from src/contrib/google/sheets/core/handleGoogleRequestRejection.ts rename to applications/browser-extension/src/contrib/google/sheets/core/handleGoogleRequestRejection.ts index f7cbaf99ec..666430bdfd 100644 --- a/src/contrib/google/sheets/core/handleGoogleRequestRejection.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/handleGoogleRequestRejection.ts @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { getErrorMessage, selectError } from "@/errors/errorHelpers"; -import { isObject } from "@/utils/objectUtils"; -import { deleteCachedAuthData } from "@/background/messenger/api"; -import { type Nullishable } from "@/utils/nullishUtils"; -import { selectAxiosError } from "@/data/service/requestErrorUtils"; -import castError from "@/utils/castError"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import { getErrorMessage, selectError } from "../../../../errors/errorHelpers"; +import { isObject } from "../../../../utils/objectUtils"; +import { deleteCachedAuthData } from "../../../../background/messenger/api"; +import { type Nullishable } from "../../../../utils/nullishUtils"; +import { selectAxiosError } from "../../../../data/service/requestErrorUtils"; +import castError from "../../../../utils/castError"; class PermissionsError extends Error { override name = "PermissionsError"; diff --git a/src/contrib/google/sheets/core/schemas.ts b/applications/browser-extension/src/contrib/google/sheets/core/schemas.ts similarity index 90% rename from src/contrib/google/sheets/core/schemas.ts rename to applications/browser-extension/src/contrib/google/sheets/core/schemas.ts index 66ad114827..2ab47d867d 100644 --- a/src/contrib/google/sheets/core/schemas.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/schemas.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; -import { validateRegistryId } from "@/types/helpers"; -import googleSheetIdSchema from "@schemas/googleSheetId.json"; +import { type Schema } from "../../../../types/schemaTypes"; +import { validateRegistryId } from "../../../../types/helpers"; +import googleSheetIdSchema from "../../../../../schemas/googleSheetId.json"; export const SPREADSHEET_FIELD_TITLE = "Google Sheet"; export const SPREADSHEET_FIELD_DESCRIPTION = diff --git a/src/contrib/google/sheets/core/sheetsApi.test.ts b/applications/browser-extension/src/contrib/google/sheets/core/sheetsApi.test.ts similarity index 87% rename from src/contrib/google/sheets/core/sheetsApi.test.ts rename to applications/browser-extension/src/contrib/google/sheets/core/sheetsApi.test.ts index bb4d5b2c95..d33e48c658 100644 --- a/src/contrib/google/sheets/core/sheetsApi.test.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/sheetsApi.test.ts @@ -18,29 +18,29 @@ import { DRIVE_BASE_URL, getAllSpreadsheets, -} from "@/contrib/google/sheets/core/sheetsApi"; +} from "./sheetsApi"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; -import { performConfiguredRequest as realProxyService } from "@/background/requests"; -import { performConfiguredRequestInBackground as apiProxyService } from "@/background/messenger/api"; -import { integrationConfigFactory } from "@/testUtils/factories/integrationFactories"; -import { integrationConfigLocator } from "@/background/integrationConfigLocator"; -import googleDefinition from "@contrib/integrations/google-oauth2-pkce.yaml"; -import { fromJS } from "@/integrations/UserDefinedIntegration"; +import { performConfiguredRequest as realProxyService } from "../../../../background/requests"; +import { performConfiguredRequestInBackground as apiProxyService } from "../../../../background/messenger/api"; +import { integrationConfigFactory } from "../../../../testUtils/factories/integrationFactories"; +import { integrationConfigLocator } from "../../../../background/integrationConfigLocator"; +import googleDefinition from "../../../../../contrib/integrations/google-oauth2-pkce.yaml"; +import { fromJS } from "../../../../integrations/UserDefinedIntegration"; import { type AuthData, type IntegrationConfig, -} from "@/integrations/integrationTypes"; -import { setPlatform } from "@/platform/platformContext"; -import backgroundPlatform from "@/background/backgroundPlatform"; -import { readRawConfigurations } from "@/integrations/util/readRawConfigurations"; +} from "../../../../integrations/integrationTypes"; +import { setPlatform } from "../../../../platform/platformContext"; +import backgroundPlatform from "../../../../background/backgroundPlatform"; +import { readRawConfigurations } from "../../../../integrations/util/readRawConfigurations"; import { deleteCachedAuthData, getCachedAuthData, setCachedAuthData, -} from "@/background/auth/authStorage"; -import launchOAuth2Flow from "@/background/auth/launchOAuth2Flow"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../../../../background/auth/authStorage"; +import launchOAuth2Flow from "../../../../background/auth/launchOAuth2Flow"; +import { API_PATHS } from "../../../../data/service/urlPaths"; const axiosMock = new MockAdapter(axios); @@ -49,10 +49,10 @@ const googleIntegration = fromJS(googleDefinition as any); // Wire up proxyService to the real implementation jest.mocked(apiProxyService).mockImplementation(realProxyService); -jest.mock("@/integrations/util/readRawConfigurations"); +jest.mock("../../../../integrations/util/readRawConfigurations"); const readRawConfigurationsMock = jest.mocked(readRawConfigurations); -jest.mock("@/background/auth/authStorage", () => { +jest.mock("../../../../background/auth/authStorage", () => { const actual = jest.requireActual("@/background/auth/authStorage"); return { @@ -64,7 +64,7 @@ jest.mock("@/background/auth/authStorage", () => { const deleteCachedAuthDataSpy = jest.mocked(deleteCachedAuthData); -jest.mock("@/integrations/registry", () => { +jest.mock("../../../../integrations/registry", () => { const actual = jest.requireActual("@/integrations/registry"); return { @@ -79,7 +79,7 @@ jest.mock("@/integrations/registry", () => { }; }); -jest.mock("@/background/auth/launchOAuth2Flow"); +jest.mock("../../../../background/auth/launchOAuth2Flow"); const launchOAuth2FlowMock = jest.mocked(launchOAuth2Flow); diff --git a/src/contrib/google/sheets/core/sheetsApi.ts b/applications/browser-extension/src/contrib/google/sheets/core/sheetsApi.ts similarity index 92% rename from src/contrib/google/sheets/core/sheetsApi.ts rename to applications/browser-extension/src/contrib/google/sheets/core/sheetsApi.ts index b75ec9c812..3ff0256bc6 100644 --- a/src/contrib/google/sheets/core/sheetsApi.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/sheetsApi.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { columnToLetter } from "@/contrib/google/sheets/core/sheetsHelpers"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { NetworkRequestConfig } from "@/types/networkTypes"; -import { handleGoogleRequestRejection } from "@/contrib/google/sheets/core/handleGoogleRequestRejection"; +import { columnToLetter } from "./sheetsHelpers"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import type { NetworkRequestConfig } from "../../../../types/networkTypes"; +import { handleGoogleRequestRejection } from "./handleGoogleRequestRejection"; import { type AppendValuesResponse, type BatchUpdateSpreadsheetRequest, @@ -27,9 +27,9 @@ import { type Spreadsheet, type UserInfo, type ValueRange, -} from "@/contrib/google/sheets/core/types"; -import { getPlatform } from "@/platform/platformContext"; -import { assertNotNullish, type Nullishable } from "@/utils/nullishUtils"; +} from "./types"; +import { getPlatform } from "../../../../platform/platformContext"; +import { assertNotNullish, type Nullishable } from "../../../../utils/nullishUtils"; const SHEETS_BASE_URL = "https://sheets.googleapis.com/v4/spreadsheets"; diff --git a/src/contrib/google/sheets/core/sheetsHelpers.test.ts b/applications/browser-extension/src/contrib/google/sheets/core/sheetsHelpers.test.ts similarity index 95% rename from src/contrib/google/sheets/core/sheetsHelpers.test.ts rename to applications/browser-extension/src/contrib/google/sheets/core/sheetsHelpers.test.ts index 32fa480d1f..22e80cc846 100644 --- a/src/contrib/google/sheets/core/sheetsHelpers.test.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/sheetsHelpers.test.ts @@ -18,7 +18,7 @@ import { columnToLetter, normalizeHeader, -} from "@/contrib/google/sheets/core/sheetsHelpers"; +} from "./sheetsHelpers"; describe("normalizeHeader", () => { it("trims whitespace", () => { diff --git a/src/contrib/google/sheets/core/sheetsHelpers.ts b/applications/browser-extension/src/contrib/google/sheets/core/sheetsHelpers.ts similarity index 100% rename from src/contrib/google/sheets/core/sheetsHelpers.ts rename to applications/browser-extension/src/contrib/google/sheets/core/sheetsHelpers.ts diff --git a/src/contrib/google/sheets/core/types.ts b/applications/browser-extension/src/contrib/google/sheets/core/types.ts similarity index 100% rename from src/contrib/google/sheets/core/types.ts rename to applications/browser-extension/src/contrib/google/sheets/core/types.ts diff --git a/src/contrib/google/sheets/core/useGoogleAccount.ts b/applications/browser-extension/src/contrib/google/sheets/core/useGoogleAccount.ts similarity index 81% rename from src/contrib/google/sheets/core/useGoogleAccount.ts rename to applications/browser-extension/src/contrib/google/sheets/core/useGoogleAccount.ts index fe61fdb093..b3a49af9fd 100644 --- a/src/contrib/google/sheets/core/useGoogleAccount.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/useGoogleAccount.ts @@ -15,15 +15,15 @@ * along with this program. If not, see . */ -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type FetchableAsyncState } from "@/types/sliceTypes"; -import useAsyncState from "@/hooks/useAsyncState"; -import { integrationConfigLocator } from "@/background/messenger/api"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import { type FetchableAsyncState } from "../../../../types/sliceTypes"; +import useAsyncState from "../../../../hooks/useAsyncState"; +import { integrationConfigLocator } from "../../../../background/messenger/api"; import { useContext, useEffect } from "react"; -import ModIntegrationsContext from "@/mods/ModIntegrationsContext"; -import { validateRegistryId } from "@/types/helpers"; -import reportError from "@/telemetry/reportError"; -import { oauth2Storage } from "@/auth/authConstants"; +import ModIntegrationsContext from "../../../../mods/ModIntegrationsContext"; +import { validateRegistryId } from "../../../../types/helpers"; +import reportError from "../../../../telemetry/reportError"; +import { oauth2Storage } from "../../../../auth/authConstants"; import { isEmpty } from "lodash"; const GOOGLE_PKCE_INTEGRATION_ID = validateRegistryId("google/oauth2-pkce"); diff --git a/src/contrib/google/sheets/core/useSpreadsheetId.test.tsx b/applications/browser-extension/src/contrib/google/sheets/core/useSpreadsheetId.test.tsx similarity index 86% rename from src/contrib/google/sheets/core/useSpreadsheetId.test.tsx rename to applications/browser-extension/src/contrib/google/sheets/core/useSpreadsheetId.test.tsx index 9284cd3f70..df23b4c2c3 100644 --- a/src/contrib/google/sheets/core/useSpreadsheetId.test.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/core/useSpreadsheetId.test.tsx @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { renderHook } from "@/sidebar/testHelpers"; -import useSpreadsheetId from "@/contrib/google/sheets/core/useSpreadsheetId"; -import { integrationConfigLocator } from "@/background/messenger/api"; -import { validateRegistryId } from "@/types/helpers"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; +import { renderHook } from "../../../../sidebar/testHelpers"; +import useSpreadsheetId from "./useSpreadsheetId"; +import { integrationConfigLocator } from "../../../../background/messenger/api"; +import { validateRegistryId } from "../../../../types/helpers"; +import { uuidSequence } from "../../../../testUtils/factories/stringFactories"; import { integrationDependencyFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import IntegrationsSliceModIntegrationsContextAdapter from "@/integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; +} from "../../../../testUtils/factories/integrationFactories"; +import IntegrationsSliceModIntegrationsContextAdapter from "../../../../integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; +import { validateOutputKey } from "../../../../runtime/runtimeTypes"; +import { toExpression } from "../../../../utils/expressionUtils"; const TEST_SPREADSHEET_ID = uuidSequence(1); const GOOGLE_SHEET_SERVICE_ID = validateRegistryId("google/sheet"); diff --git a/src/contrib/google/sheets/core/useSpreadsheetId.ts b/applications/browser-extension/src/contrib/google/sheets/core/useSpreadsheetId.ts similarity index 82% rename from src/contrib/google/sheets/core/useSpreadsheetId.ts rename to applications/browser-extension/src/contrib/google/sheets/core/useSpreadsheetId.ts index 55c18800b9..bc5b199d75 100644 --- a/src/contrib/google/sheets/core/useSpreadsheetId.ts +++ b/applications/browser-extension/src/contrib/google/sheets/core/useSpreadsheetId.ts @@ -16,21 +16,21 @@ */ import { useField } from "formik"; -import { isIntegrationDependencyValueFormat } from "@/components/fields/schemaFields/fieldTypeCheckers"; +import { isIntegrationDependencyValueFormat } from "../../../../components/fields/schemaFields/fieldTypeCheckers"; import { isEmpty } from "lodash"; -import { integrationConfigLocator } from "@/background/messenger/api"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { getOptionsArgForFieldValue } from "@/utils/getOptionsArgForFieldValue"; -import { getSheetIdIntegrationOutputKey } from "@/contrib/google/sheets/core/getSheetIdIntegrationOutputKey"; -import { type Expression, type OptionsArgs } from "@/types/runtimeTypes"; -import { type IntegrationDependency } from "@/integrations/integrationTypes"; -import useAsyncState from "@/hooks/useAsyncState"; +import { integrationConfigLocator } from "../../../../background/messenger/api"; +import { getErrorMessage } from "../../../../errors/errorHelpers"; +import { getOptionsArgForFieldValue } from "../../../../utils/getOptionsArgForFieldValue"; +import { getSheetIdIntegrationOutputKey } from "./getSheetIdIntegrationOutputKey"; +import { type Expression, type OptionsArgs } from "../../../../types/runtimeTypes"; +import { type IntegrationDependency } from "../../../../integrations/integrationTypes"; +import useAsyncState from "../../../../hooks/useAsyncState"; import hash from "object-hash"; -import { type FetchableAsyncState } from "@/types/sliceTypes"; -import { joinName } from "@/utils/formUtils"; +import { type FetchableAsyncState } from "../../../../types/sliceTypes"; +import { joinName } from "../../../../utils/formUtils"; import { useContext, useRef } from "react"; -import ModIntegrationsContext from "@/mods/ModIntegrationsContext"; -import { BusinessError } from "@/errors/businessErrors"; +import ModIntegrationsContext from "../../../../mods/ModIntegrationsContext"; +import { BusinessError } from "../../../../errors/businessErrors"; async function findSpreadsheetIdFromFieldValue( integrationDependencies: IntegrationDependency[], diff --git a/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx similarity index 94% rename from src/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx index 419c796a08..979a1af182 100644 --- a/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.test.tsx @@ -20,50 +20,50 @@ import React from "react"; import AppendSpreadsheetOptions from "./AppendSpreadsheetOptions"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import registerDefaultWidgets from "../../../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { waitForEffect } from "../../../../testUtils/testHelpers"; import { act, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import { getToggleOptions } from "@/components/fields/schemaFields/getToggleOptions"; -import SpreadsheetPickerWidget from "@/contrib/google/sheets/ui/SpreadsheetPickerWidget"; -import { render } from "@/pageEditor/testHelpers"; -import { validateRegistryId } from "@/types/helpers"; +import { getToggleOptions } from "../../../../components/fields/schemaFields/getToggleOptions"; +import SpreadsheetPickerWidget from "./SpreadsheetPickerWidget"; +import { render } from "../../../../pageEditor/testHelpers"; +import { validateRegistryId } from "../../../../types/helpers"; import { hasCachedAuthData, integrationConfigLocator, -} from "@/background/messenger/api"; +} from "../../../../background/messenger/api"; import { integrationDependencyFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; +} from "../../../../testUtils/factories/integrationFactories"; import { type FileList, type Spreadsheet, -} from "@/contrib/google/sheets/core/types"; +} from "../core/types"; import { getAllSpreadsheets, getHeaders, getSpreadsheet, type SpreadsheetTarget, -} from "@/contrib/google/sheets/core/sheetsApi"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; -import { type AuthOption } from "@/auth/authTypes"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; +} from "../core/sheetsApi"; +import { useAuthOptions } from "../../../../hooks/useAuthOptions"; +import { valueToAsyncState } from "../../../../utils/asyncStateUtils"; +import { type AuthOption } from "../../../../auth/authTypes"; +import { validateOutputKey } from "../../../../runtime/runtimeTypes"; import selectEvent from "react-select-event"; import { type FormikValues } from "formik"; -import IntegrationsSliceModIntegrationsContextAdapter from "@/integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; -import { toExpression } from "@/utils/expressionUtils"; +import IntegrationsSliceModIntegrationsContextAdapter from "../../../../integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; +import { toExpression } from "../../../../utils/expressionUtils"; import { SHEET_FIELD_REF_SCHEMA, SHEET_FIELD_SCHEMA, -} from "@/contrib/google/sheets/core/schemas"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; +} from "../core/schemas"; +import { autoUUIDSequence } from "../../../../testUtils/factories/stringFactories"; // XXX: sheetsApi should likely be mocked at the network level, not the module level -jest.mock("@/contrib/google/sheets/core/sheetsApi"); +jest.mock("../core/sheetsApi"); -jest.mock("@/hooks/useAuthOptions"); +jest.mock("../../../../hooks/useAuthOptions"); const findSanitizedIntegrationConfigMock = jest.mocked( integrationConfigLocator.findSanitizedIntegrationConfig, ); diff --git a/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx similarity index 86% rename from src/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx index f49bafe71f..f21dace1eb 100644 --- a/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/AppendSpreadsheetOptions.tsx @@ -16,22 +16,22 @@ */ import React, { useState } from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; +import { type BrickOptionProps } from "../../../../components/fields/schemaFields/genericOptionsFactory"; import { useField } from "formik"; -import { type Expression } from "@/types/runtimeTypes"; -import { APPEND_SCHEMA } from "@/contrib/google/sheets/bricks/append"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import TabField from "@/contrib/google/sheets/ui/TabField"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { APPEND_SCHEMA } from "../bricks/append"; +import SchemaField from "../../../../components/fields/schemaFields/SchemaField"; +import TabField from "./TabField"; import { isEmpty } from "lodash"; -import { type Schema } from "@/types/schemaTypes"; -import { isExpression } from "@/utils/expressionUtils"; -import RequireGoogleSheet from "@/contrib/google/sheets/ui/RequireGoogleSheet"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { type Schema } from "../../../../types/schemaTypes"; +import { isExpression } from "../../../../utils/expressionUtils"; +import RequireGoogleSheet from "./RequireGoogleSheet"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; import useAsyncEffect from "use-async-effect"; import hash from "object-hash"; -import { isNullOrBlank } from "@/utils/stringUtils"; -import { joinName } from "@/utils/formUtils"; -import { getHeaders } from "@/contrib/google/sheets/core/sheetsApi"; +import { isNullOrBlank } from "../../../../utils/stringUtils"; +import { joinName } from "../../../../utils/formUtils"; +import { getHeaders } from "../core/sheetsApi"; function headerFieldSchemaForHeaders(headers: string[]): Schema { const headerProperties: Record = Object.fromEntries( diff --git a/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx similarity index 90% rename from src/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx index 4be95ec1af..33a829f806 100644 --- a/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.test.tsx @@ -16,46 +16,46 @@ */ import React from "react"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import LookupSpreadsheetOptions from "@/contrib/google/sheets/ui/LookupSpreadsheetOptions"; +import registerDefaultWidgets from "../../../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { waitForEffect } from "../../../../testUtils/testHelpers"; +import LookupSpreadsheetOptions from "./LookupSpreadsheetOptions"; import { act, screen } from "@testing-library/react"; -import { validateRegistryId } from "@/types/helpers"; +import { validateRegistryId } from "../../../../types/helpers"; import selectEvent from "react-select-event"; -import { render } from "@/pageEditor/testHelpers"; +import { render } from "../../../../pageEditor/testHelpers"; import { integrationConfigLocator, hasCachedAuthData, -} from "@/background/messenger/api"; -import { autoUUIDSequence } from "@/testUtils/factories/stringFactories"; +} from "../../../../background/messenger/api"; +import { autoUUIDSequence } from "../../../../testUtils/factories/stringFactories"; import { integrationDependencyFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; +} from "../../../../testUtils/factories/integrationFactories"; import { type FileList, type Spreadsheet, -} from "@/contrib/google/sheets/core/types"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; -import { type AuthOption } from "@/auth/authTypes"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; +} from "../core/types"; +import { useAuthOptions } from "../../../../hooks/useAuthOptions"; +import { type AuthOption } from "../../../../auth/authTypes"; +import { validateOutputKey } from "../../../../runtime/runtimeTypes"; +import { valueToAsyncState } from "../../../../utils/asyncStateUtils"; import { type FormikValues } from "formik"; -import IntegrationsSliceModIntegrationsContextAdapter from "@/integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; -import { toExpression } from "@/utils/expressionUtils"; +import IntegrationsSliceModIntegrationsContextAdapter from "../../../../integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; +import { toExpression } from "../../../../utils/expressionUtils"; import { getAllSpreadsheets, getHeaders, getSpreadsheet, -} from "@/contrib/google/sheets/core/sheetsApi"; +} from "../core/sheetsApi"; const findSanitizedIntegrationConfigMock = jest.mocked( integrationConfigLocator.findSanitizedIntegrationConfig, ); // XXX: sheetsApi should likely be mocked at the network level, not the module level -jest.mock("@/contrib/google/sheets/core/sheetsApi"); -jest.mock("@/hooks/useAuthOptions"); +jest.mock("../core/sheetsApi"); +jest.mock("../../../../hooks/useAuthOptions"); const useAuthOptionsMock = jest.mocked(useAuthOptions); diff --git a/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx similarity index 87% rename from src/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx index 3bfefc4351..ef13b0b3e8 100644 --- a/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/LookupSpreadsheetOptions.tsx @@ -16,22 +16,22 @@ */ import React, { useState } from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; +import { type BrickOptionProps } from "../../../../components/fields/schemaFields/genericOptionsFactory"; import { useField } from "formik"; -import { type Expression } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import TabField from "@/contrib/google/sheets/ui/TabField"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { LOOKUP_SCHEMA } from "@/contrib/google/sheets/bricks/lookup"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { type Schema } from "../../../../types/schemaTypes"; +import TabField from "./TabField"; +import SchemaField from "../../../../components/fields/schemaFields/SchemaField"; +import { LOOKUP_SCHEMA } from "../bricks/lookup"; import { isEmpty } from "lodash"; -import { isExpression, toExpression } from "@/utils/expressionUtils"; -import RequireGoogleSheet from "@/contrib/google/sheets/ui/RequireGoogleSheet"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; +import { isExpression, toExpression } from "../../../../utils/expressionUtils"; +import RequireGoogleSheet from "./RequireGoogleSheet"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; import useAsyncEffect from "use-async-effect"; import hash from "object-hash"; -import { joinName } from "@/utils/formUtils"; -import { getHeaders } from "@/contrib/google/sheets/core/sheetsApi"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { joinName } from "../../../../utils/formUtils"; +import { getHeaders } from "../core/sheetsApi"; +import { assertNotNullish } from "../../../../utils/nullishUtils"; function headerFieldSchemaForHeaders(headers: string[]): Schema { return { diff --git a/src/contrib/google/sheets/ui/RequireGoogleSheet.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/RequireGoogleSheet.tsx similarity index 78% rename from src/contrib/google/sheets/ui/RequireGoogleSheet.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/RequireGoogleSheet.tsx index e6f2eebbe7..cc70f3d5ae 100644 --- a/src/contrib/google/sheets/ui/RequireGoogleSheet.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/RequireGoogleSheet.tsx @@ -16,24 +16,24 @@ */ import React, { type ReactElement, useCallback, useState } from "react"; -import { type Spreadsheet } from "@/contrib/google/sheets/core/types"; -import { type Schema } from "@/types/schemaTypes"; -import useGoogleAccount from "@/contrib/google/sheets/core/useGoogleAccount"; -import useSpreadsheetId from "@/contrib/google/sheets/core/useSpreadsheetId"; -import useDeriveAsyncState from "@/hooks/useDeriveAsyncState"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type AsyncState } from "@/types/sliceTypes"; -import AsyncStateGate from "@/components/AsyncStateGate"; +import { type Spreadsheet } from "../core/types"; +import { type Schema } from "../../../../types/schemaTypes"; +import useGoogleAccount from "../core/useGoogleAccount"; +import useSpreadsheetId from "../core/useSpreadsheetId"; +import useDeriveAsyncState from "../../../../hooks/useDeriveAsyncState"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import { type AsyncState } from "../../../../types/sliceTypes"; +import AsyncStateGate from "../../../../components/AsyncStateGate"; import { type Except } from "type-fest"; -import { joinName } from "@/utils/formUtils"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import { AnnotationType } from "@/types/annotationTypes"; -import FieldAnnotationAlert from "@/components/annotationAlert/FieldAnnotationAlert"; -import { getErrorMessage } from "@/errors/errorHelpers"; -import { SHEET_FIELD_SCHEMA } from "@/contrib/google/sheets/core/schemas"; -import { getSpreadsheet } from "@/contrib/google/sheets/core/sheetsApi"; -import { hasCachedAuthData } from "@/background/messenger/api"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { joinName } from "../../../../utils/formUtils"; +import SchemaField from "../../../../components/fields/schemaFields/SchemaField"; +import { AnnotationType } from "../../../../types/annotationTypes"; +import FieldAnnotationAlert from "../../../../components/annotationAlert/FieldAnnotationAlert"; +import { getErrorMessage } from "../../../../errors/errorHelpers"; +import { SHEET_FIELD_SCHEMA } from "../core/schemas"; +import { getSpreadsheet } from "../core/sheetsApi"; +import { hasCachedAuthData } from "../../../../background/messenger/api"; +import { assertNotNullish } from "../../../../utils/nullishUtils"; type GoogleSheetState = { googleAccount: SanitizedIntegrationConfig | null; diff --git a/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.module.scss b/applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.module.scss similarity index 100% rename from src/contrib/google/sheets/ui/SpreadsheetPickerWidget.module.scss rename to applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.module.scss diff --git a/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx similarity index 84% rename from src/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx index 91baf7ca6c..be94950d64 100644 --- a/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.test.tsx @@ -15,29 +15,29 @@ * along with this program. If not, see . */ -import { render } from "@/pageEditor/testHelpers"; +import { render } from "../../../../pageEditor/testHelpers"; import React from "react"; -import SpreadsheetPickerWidget from "@/contrib/google/sheets/ui/SpreadsheetPickerWidget"; -import { integrationConfigLocator } from "@/background/messenger/api"; -import { validateRegistryId } from "@/types/helpers"; -import { uuidSequence } from "@/testUtils/factories/stringFactories"; +import SpreadsheetPickerWidget from "./SpreadsheetPickerWidget"; +import { integrationConfigLocator } from "../../../../background/messenger/api"; +import { validateRegistryId } from "../../../../types/helpers"; +import { uuidSequence } from "../../../../testUtils/factories/stringFactories"; import { act, screen } from "@testing-library/react"; import { type FormikValues } from "formik"; -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../../../types/stringTypes"; import { integrationDependencyFactory, sanitizedIntegrationConfigFactory, -} from "@/testUtils/factories/integrationFactories"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { type FileList } from "@/contrib/google/sheets/core/types"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import IntegrationsSliceModIntegrationsContextAdapter from "@/integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; +} from "../../../../testUtils/factories/integrationFactories"; +import { validateOutputKey } from "../../../../runtime/runtimeTypes"; +import { type FileList } from "../core/types"; +import registerDefaultWidgets from "../../../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import IntegrationsSliceModIntegrationsContextAdapter from "../../../../integrations/store/IntegrationsSliceModIntegrationsContextAdapter"; import selectEvent from "react-select-event"; -import { SHEET_FIELD_SCHEMA } from "@/contrib/google/sheets/core/schemas"; -import { getAllSpreadsheets } from "@/contrib/google/sheets/core/sheetsApi"; +import { SHEET_FIELD_SCHEMA } from "../core/schemas"; +import { getAllSpreadsheets } from "../core/sheetsApi"; // XXX: sheetsApi should likely be mocked at the network level, not the module level -jest.mock("@/contrib/google/sheets/core/sheetsApi"); +jest.mock("../core/sheetsApi"); const getAllSpreadsheetsMock = jest.mocked(getAllSpreadsheets); diff --git a/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx similarity index 83% rename from src/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx index 0f1dfb1c1f..ade6d6f887 100644 --- a/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/SpreadsheetPickerWidget.tsx @@ -16,26 +16,26 @@ */ import React, { useCallback, useState } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import useGoogleAccount from "@/contrib/google/sheets/core/useGoogleAccount"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import useDeriveAsyncState from "@/hooks/useDeriveAsyncState"; +import { type SchemaFieldProps } from "../../../../components/fields/schemaFields/propTypes"; +import useGoogleAccount from "../core/useGoogleAccount"; +import { type SanitizedIntegrationConfig } from "../../../../integrations/integrationTypes"; +import useDeriveAsyncState from "../../../../hooks/useDeriveAsyncState"; import { SPREADSHEET_FIELD_DESCRIPTION, SPREADSHEET_FIELD_TITLE, -} from "@/contrib/google/sheets/core/schemas"; -import { type Schema } from "@/types/schemaTypes"; -import AsyncStateGate from "@/components/AsyncStateGate"; -import SchemaSelectWidget from "@/components/fields/schemaFields/widgets/SchemaSelectWidget"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; -import { AnnotationType } from "@/types/annotationTypes"; -import FieldTemplate from "@/components/form/FieldTemplate"; -import { type AsyncStateArray } from "@/types/sliceTypes"; +} from "../core/schemas"; +import { type Schema } from "../../../../types/schemaTypes"; +import AsyncStateGate from "../../../../components/AsyncStateGate"; +import SchemaSelectWidget from "../../../../components/fields/schemaFields/widgets/SchemaSelectWidget"; +import { valueToAsyncState } from "../../../../utils/asyncStateUtils"; +import { AnnotationType } from "../../../../types/annotationTypes"; +import FieldTemplate from "../../../../components/form/FieldTemplate"; +import { type AsyncStateArray } from "../../../../types/sliceTypes"; import { useField } from "formik"; -import { type Expression } from "@/types/runtimeTypes"; -import { isExpression } from "@/utils/expressionUtils"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { isExpression } from "../../../../utils/expressionUtils"; import "./SpreadsheetPickerWidget.module.scss"; -import { getAllSpreadsheets } from "@/contrib/google/sheets/core/sheetsApi"; +import { getAllSpreadsheets } from "../core/sheetsApi"; const SpreadsheetPickerWidget: React.FC = (props) => { const { name, schema: baseSchema } = props; diff --git a/src/contrib/google/sheets/ui/TabField.test.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/TabField.test.tsx similarity index 94% rename from src/contrib/google/sheets/ui/TabField.test.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/TabField.test.tsx index 5ae6772f64..5def3df476 100644 --- a/src/contrib/google/sheets/ui/TabField.test.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/TabField.test.tsx @@ -19,16 +19,16 @@ -- TODO: replace with native expect and it.each */ import React from "react"; -import { expectToggleOptions } from "@/components/fields/schemaFields/testHelpers"; -import { render } from "@/pageEditor/testHelpers"; -import TabField from "@/contrib/google/sheets/ui/TabField"; -import { waitForEffect } from "@/testUtils/testHelpers"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type Spreadsheet } from "@/contrib/google/sheets/core/types"; +import { expectToggleOptions } from "../../../../components/fields/schemaFields/testHelpers"; +import { render } from "../../../../pageEditor/testHelpers"; +import TabField from "./TabField"; +import { waitForEffect } from "../../../../testUtils/testHelpers"; +import registerDefaultWidgets from "../../../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { type Spreadsheet } from "../core/types"; import { screen } from "@testing-library/react"; -import { selectSchemaFieldInputMode } from "@/testUtils/formHelpers"; +import { selectSchemaFieldInputMode } from "../../../../testUtils/formHelpers"; import userEvent from "@testing-library/user-event"; -import { toExpression } from "@/utils/expressionUtils"; +import { toExpression } from "../../../../utils/expressionUtils"; beforeAll(() => { registerDefaultWidgets(); diff --git a/src/contrib/google/sheets/ui/TabField.tsx b/applications/browser-extension/src/contrib/google/sheets/ui/TabField.tsx similarity index 87% rename from src/contrib/google/sheets/ui/TabField.tsx rename to applications/browser-extension/src/contrib/google/sheets/ui/TabField.tsx index 74bd11fa29..673012fd55 100644 --- a/src/contrib/google/sheets/ui/TabField.tsx +++ b/applications/browser-extension/src/contrib/google/sheets/ui/TabField.tsx @@ -16,14 +16,14 @@ */ import React, { useRef } from "react"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; +import { type SchemaFieldProps } from "../../../../components/fields/schemaFields/propTypes"; +import SchemaField from "../../../../components/fields/schemaFields/SchemaField"; import { isEmpty } from "lodash"; import { useField } from "formik"; -import { type Expression } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { isExpression, toExpression } from "@/utils/expressionUtils"; -import { type Spreadsheet } from "@/contrib/google/sheets/core/types"; +import { type Expression } from "../../../../types/runtimeTypes"; +import { type Schema } from "../../../../types/schemaTypes"; +import { isExpression, toExpression } from "../../../../utils/expressionUtils"; +import { type Spreadsheet } from "../core/types"; import useAsyncEffect from "use-async-effect"; const TabField: React.FC< diff --git a/src/contrib/hubspot/upsert.ts b/applications/browser-extension/src/contrib/hubspot/upsert.ts similarity index 95% rename from src/contrib/hubspot/upsert.ts rename to applications/browser-extension/src/contrib/hubspot/upsert.ts index 6b8f37add4..5f7b55d09f 100644 --- a/src/contrib/hubspot/upsert.ts +++ b/applications/browser-extension/src/contrib/hubspot/upsert.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; import { partial } from "lodash"; -import { BusinessError } from "@/errors/businessErrors"; -import { type Schema } from "@/types/schemaTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { BusinessError } from "../../errors/businessErrors"; +import { type Schema } from "../../types/schemaTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; function makeProperties(obj: UnknownObject, propertyKey = "property") { return Object.entries(obj) diff --git a/src/contrib/navigationRules.ts b/applications/browser-extension/src/contrib/navigationRules.ts similarity index 89% rename from src/contrib/navigationRules.ts rename to applications/browser-extension/src/contrib/navigationRules.ts index 4292c145ae..785c55036b 100644 --- a/src/contrib/navigationRules.ts +++ b/applications/browser-extension/src/contrib/navigationRules.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { SALESFORCE_SERVICE_CONSOLE_NAVIGATION_RULES } from "@/contrib/salesforce/navigation"; +import { SALESFORCE_SERVICE_CONSOLE_NAVIGATION_RULES } from "./salesforce/navigation"; export const NAVIGATION_RULES = [ ...SALESFORCE_SERVICE_CONSOLE_NAVIGATION_RULES, diff --git a/src/contrib/pipedrive/create.ts b/applications/browser-extension/src/contrib/pipedrive/create.ts similarity index 91% rename from src/contrib/pipedrive/create.ts rename to applications/browser-extension/src/contrib/pipedrive/create.ts index 84cd092ab2..fd0b4849ef 100644 --- a/src/contrib/pipedrive/create.ts +++ b/applications/browser-extension/src/contrib/pipedrive/create.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { propertiesToSchema } from "@/utils/schemaUtils"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { propertiesToSchema } from "../../utils/schemaUtils"; export class AddOrganization extends EffectABC { // https://developers.pipedrive.com/docs/api/v1/#!/Organizations/post_organizations diff --git a/src/contrib/pipedrive/readers.ts b/applications/browser-extension/src/contrib/pipedrive/readers.ts similarity index 91% rename from src/contrib/pipedrive/readers.ts rename to applications/browser-extension/src/contrib/pipedrive/readers.ts index 83a3c23cfa..6ef02a79b4 100644 --- a/src/contrib/pipedrive/readers.ts +++ b/applications/browser-extension/src/contrib/pipedrive/readers.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { ReaderABC } from "@/types/bricks/readerTypes"; +import { ReaderABC } from "../../types/bricks/readerTypes"; import { startCase } from "lodash"; -import { withReadWindow } from "@/pageScript/messenger/api"; -import { type PathSpec } from "@/bricks/readers/window"; +import { withReadWindow } from "../../pageScript/messenger/api"; +import { type PathSpec } from "../../bricks/readers/window"; import { type JsonObject } from "type-fest"; -import { mapObject } from "@/utils/objectUtils"; +import { mapObject } from "../../utils/objectUtils"; async function checkRoute(expectedRoute: string): Promise { const { route } = await withReadWindow({ diff --git a/src/contrib/pipedrive/resolvers.ts b/applications/browser-extension/src/contrib/pipedrive/resolvers.ts similarity index 86% rename from src/contrib/pipedrive/resolvers.ts rename to applications/browser-extension/src/contrib/pipedrive/resolvers.ts index ff00dd69d0..f4410e58ce 100644 --- a/src/contrib/pipedrive/resolvers.ts +++ b/applications/browser-extension/src/contrib/pipedrive/resolvers.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { BusinessError } from "@/errors/businessErrors"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { BusinessError } from "../../errors/businessErrors"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; const PIPEDRIVE_SERVICE_ID = "pipedrive/api"; diff --git a/src/contrib/registerContribBricks.ts b/applications/browser-extension/src/contrib/registerContribBricks.ts similarity index 89% rename from src/contrib/registerContribBricks.ts rename to applications/browser-extension/src/contrib/registerContribBricks.ts index 5e4e9fd727..e5502b06c3 100644 --- a/src/contrib/registerContribBricks.ts +++ b/applications/browser-extension/src/contrib/registerContribBricks.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../bricks/registry"; import { AddUpdateCompany, AddUpdateContact } from "./hubspot/upsert"; import { AddOrganization, AddPerson } from "./pipedrive/create"; import { ResolvePerson } from "./pipedrive/resolvers"; @@ -34,9 +34,9 @@ import { AddLead } from "./salesforce/lead"; import { RunProcess } from "./uipath/process"; import { PushZap } from "./zapier/push"; import { RunBot } from "./automationanywhere/RunBot"; -import { GoogleSheetsLookup } from "@/contrib/google/sheets/bricks/lookup"; -import SetCopilotDataEffect from "@/contrib/automationanywhere/SetCopilotDataEffect"; -import { RunApiTask } from "@/contrib/automationanywhere/RunApiTask"; +import { GoogleSheetsLookup } from "./google/sheets/bricks/lookup"; +import SetCopilotDataEffect from "./automationanywhere/SetCopilotDataEffect"; +import { RunApiTask } from "./automationanywhere/RunApiTask"; let registered = false; diff --git a/src/contrib/remoteOptionUtils.ts b/applications/browser-extension/src/contrib/remoteOptionUtils.ts similarity index 78% rename from src/contrib/remoteOptionUtils.ts rename to applications/browser-extension/src/contrib/remoteOptionUtils.ts index fec5c05842..53532934b4 100644 --- a/src/contrib/remoteOptionUtils.ts +++ b/applications/browser-extension/src/contrib/remoteOptionUtils.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { type OptionsFactory } from "@/components/form/widgets/RemoteSelectWidget"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type Option } from "@/components/form/widgets/SelectWidget"; -import { type Nullishable } from "@/utils/nullishUtils"; +import { type OptionsFactory } from "../components/form/widgets/RemoteSelectWidget"; +import { type SanitizedIntegrationConfig } from "../integrations/integrationTypes"; +import { type Option } from "../components/form/widgets/SelectWidget"; +import { type Nullishable } from "../utils/nullishUtils"; type OptionalOptionsFactory = ( config: Nullishable, diff --git a/src/contrib/salesforce/lead.ts b/applications/browser-extension/src/contrib/salesforce/lead.ts similarity index 87% rename from src/contrib/salesforce/lead.ts rename to applications/browser-extension/src/contrib/salesforce/lead.ts index 5abb437e96..0587017af2 100644 --- a/src/contrib/salesforce/lead.ts +++ b/applications/browser-extension/src/contrib/salesforce/lead.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; export class AddLead extends EffectABC { constructor() { diff --git a/src/contrib/salesforce/navigation.ts b/applications/browser-extension/src/contrib/salesforce/navigation.ts similarity index 100% rename from src/contrib/salesforce/navigation.ts rename to applications/browser-extension/src/contrib/salesforce/navigation.ts diff --git a/src/contrib/slack/message.ts b/applications/browser-extension/src/contrib/slack/message.ts similarity index 95% rename from src/contrib/slack/message.ts rename to applications/browser-extension/src/contrib/slack/message.ts index 1369ce2c3c..04a0d7d920 100644 --- a/src/contrib/slack/message.ts +++ b/applications/browser-extension/src/contrib/slack/message.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { EffectABC } from "@/types/bricks/effectTypes"; -import type { BrickArgs, BrickOptions } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { boolean } from "@/utils/typeUtils"; -import type { PlatformCapability } from "@/platform/capabilities"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import type { BrickArgs, BrickOptions } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { boolean } from "../../utils/typeUtils"; +import type { PlatformCapability } from "../../platform/capabilities"; export class SendSimpleSlackMessage extends EffectABC { constructor() { diff --git a/src/contrib/uipath/ProcessOptions.test.tsx b/applications/browser-extension/src/contrib/uipath/ProcessOptions.test.tsx similarity index 77% rename from src/contrib/uipath/ProcessOptions.test.tsx rename to applications/browser-extension/src/contrib/uipath/ProcessOptions.test.tsx index f97fa4196f..8188909560 100644 --- a/src/contrib/uipath/ProcessOptions.test.tsx +++ b/applications/browser-extension/src/contrib/uipath/ProcessOptions.test.tsx @@ -16,42 +16,42 @@ */ import React from "react"; -import { render, screen } from "@/extensionConsole/testHelpers"; +import { render, screen } from "../../extensionConsole/testHelpers"; // eslint-disable-next-line no-restricted-imports -- TODO: Fix over time import { Formik } from "formik"; -import { UIPATH_ID } from "@/contrib/uipath/process"; -import { validateRegistryId } from "@/types/helpers"; -import { type ModComponentFormState } from "@/pageEditor/starterBricks/formStateTypes"; -import ProcessOptions from "@/contrib/uipath/ProcessOptions"; -import useSanitizedIntegrationConfigFormikAdapter from "@/integrations/useSanitizedIntegrationConfigFormikAdapter"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { useAuthOptions } from "@/hooks/useAuthOptions"; -import { valueToAsyncState } from "@/utils/asyncStateUtils"; +import { UIPATH_ID } from "./process"; +import { validateRegistryId } from "../../types/helpers"; +import { type ModComponentFormState } from "../../pageEditor/starterBricks/formStateTypes"; +import ProcessOptions from "./ProcessOptions"; +import useSanitizedIntegrationConfigFormikAdapter from "../../integrations/useSanitizedIntegrationConfigFormikAdapter"; +import registerDefaultWidgets from "../../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { useAuthOptions } from "../../hooks/useAuthOptions"; +import { valueToAsyncState } from "../../utils/asyncStateUtils"; import { TEST_setContext } from "webext-detect"; -import { menuItemFormStateFactory } from "@/testUtils/factories/pageEditorFactories"; -import { integrationDependencyFactory } from "@/testUtils/factories/integrationFactories"; -import { validateOutputKey } from "@/runtime/runtimeTypes"; -import { toExpression } from "@/utils/expressionUtils"; -import { useSelectedRelease } from "@/contrib/uipath/uipathHooks"; +import { menuItemFormStateFactory } from "../../testUtils/factories/pageEditorFactories"; +import { integrationDependencyFactory } from "../../testUtils/factories/integrationFactories"; +import { validateOutputKey } from "../../runtime/runtimeTypes"; +import { toExpression } from "../../utils/expressionUtils"; +import { useSelectedRelease } from "./uipathHooks"; TEST_setContext("devToolsPage"); -jest.mock("@/integrations/useSanitizedIntegrationConfigFormikAdapter"); +jest.mock("../../integrations/useSanitizedIntegrationConfigFormikAdapter"); const useSanitizedIntegrationConfigFormikAdapterMock = jest.mocked( useSanitizedIntegrationConfigFormikAdapter, ); -jest.mock("@/hooks/useAuthOptions"); -jest.mock("@/contrib/uipath/uipathHooks"); -jest.mock("@/hooks/useAuthOptions"); -jest.mock("@/contentScript/messenger/api"); +jest.mock("../../hooks/useAuthOptions"); +jest.mock("./uipathHooks"); +jest.mock("../../hooks/useAuthOptions"); +jest.mock("../../contentScript/messenger/api"); -jest.mock("@/contrib/uipath/uipathHooks"); +jest.mock("./uipathHooks"); const useSelectedReleaseMock = jest.mocked(useSelectedRelease); -jest.mock("@/components/form/widgets/RemoteSelectWidget", () => { +jest.mock("../../components/form/widgets/RemoteSelectWidget", () => { const mock = jest.requireActual( "@/components/form/widgets/RemoteSelectWidget", ); diff --git a/src/contrib/uipath/ProcessOptions.tsx b/applications/browser-extension/src/contrib/uipath/ProcessOptions.tsx similarity index 78% rename from src/contrib/uipath/ProcessOptions.tsx rename to applications/browser-extension/src/contrib/uipath/ProcessOptions.tsx index 1a71e0a8eb..5be6c7aeaa 100644 --- a/src/contrib/uipath/ProcessOptions.tsx +++ b/applications/browser-extension/src/contrib/uipath/ProcessOptions.tsx @@ -16,32 +16,32 @@ */ import React, { useCallback } from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; +import { type BrickOptionProps } from "../../components/fields/schemaFields/genericOptionsFactory"; import { partial } from "lodash"; -import { UIPATH_PROPERTIES } from "@/contrib/uipath/process"; +import { UIPATH_PROPERTIES } from "./process"; import { useField } from "formik"; -import RemoteSchemaObjectField from "@/components/fields/schemaFields/RemoteSchemaObjectField"; -import { type Option } from "@/components/form/widgets/SelectWidget"; +import RemoteSchemaObjectField from "../../components/fields/schemaFields/RemoteSchemaObjectField"; +import { type Option } from "../../components/form/widgets/SelectWidget"; import { type ODataResponseData, type Robot } from "./uipathContract"; -import SchemaField from "@/components/fields/schemaFields/SchemaField"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import RemoteSelectWidget from "@/components/form/widgets/RemoteSelectWidget"; -import RequireIntegrationConfig from "@/integrations/components/RequireIntegrationConfig"; -import RemoteMultiSelectWidget from "@/components/form/widgets/RemoteMultiSelectWidget"; -import { useSelectedRelease } from "@/contrib/uipath/uipathHooks"; -import cachePromise from "@/utils/cachePromise"; -import WorkshopMessage from "@/components/fields/schemaFields/WorkshopMessage"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { type Expression } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import { isExpression } from "@/utils/expressionUtils"; -import { joinName } from "@/utils/formUtils"; +import SchemaField from "../../components/fields/schemaFields/SchemaField"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; +import RemoteSelectWidget from "../../components/form/widgets/RemoteSelectWidget"; +import RequireIntegrationConfig from "../../integrations/components/RequireIntegrationConfig"; +import RemoteMultiSelectWidget from "../../components/form/widgets/RemoteMultiSelectWidget"; +import { useSelectedRelease } from "./uipathHooks"; +import cachePromise from "../../utils/cachePromise"; +import WorkshopMessage from "../../components/fields/schemaFields/WorkshopMessage"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { type Expression } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import { isExpression } from "../../utils/expressionUtils"; +import { joinName } from "../../utils/formUtils"; import useAsyncEffect from "use-async-effect"; -import { getPlatform } from "@/platform/platformContext"; +import { getPlatform } from "../../platform/platformContext"; import { loadingAsyncStateFactory, valueToAsyncState, -} from "@/utils/asyncStateUtils"; +} from "../../utils/asyncStateUtils"; async function fetchRobots( config: SanitizedIntegrationConfig, diff --git a/src/contrib/uipath/__snapshots__/ProcessOptions.test.tsx.snap b/applications/browser-extension/src/contrib/uipath/__snapshots__/ProcessOptions.test.tsx.snap similarity index 100% rename from src/contrib/uipath/__snapshots__/ProcessOptions.test.tsx.snap rename to applications/browser-extension/src/contrib/uipath/__snapshots__/ProcessOptions.test.tsx.snap diff --git a/src/contrib/uipath/process.ts b/applications/browser-extension/src/contrib/uipath/process.ts similarity index 88% rename from src/contrib/uipath/process.ts rename to applications/browser-extension/src/contrib/uipath/process.ts index 2a83377fcb..e20c23c41d 100644 --- a/src/contrib/uipath/process.ts +++ b/applications/browser-extension/src/contrib/uipath/process.ts @@ -15,16 +15,16 @@ * along with this program. If not, see . */ -import { TransformerABC } from "@/types/bricks/transformerTypes"; -import { validateRegistryId } from "@/types/helpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { type Schema, type SchemaProperties } from "@/types/schemaTypes"; -import { type RegistryId } from "@/types/registryTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import { pollUntilTruthy } from "@/utils/promiseUtils"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { assertNotNullish } from "@/utils/nullishUtils"; +import { TransformerABC } from "../../types/bricks/transformerTypes"; +import { validateRegistryId } from "../../types/helpers"; +import { BusinessError } from "../../errors/businessErrors"; +import { type Schema, type SchemaProperties } from "../../types/schemaTypes"; +import { type RegistryId } from "../../types/registryTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import { pollUntilTruthy } from "../../utils/promiseUtils"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { assertNotNullish } from "../../utils/nullishUtils"; export const UIPATH_SERVICE_IDS: RegistryId[] = [ "uipath/cloud", diff --git a/src/contrib/uipath/typeUtils.ts b/applications/browser-extension/src/contrib/uipath/typeUtils.ts similarity index 89% rename from src/contrib/uipath/typeUtils.ts rename to applications/browser-extension/src/contrib/uipath/typeUtils.ts index 5555996857..efd53bc432 100644 --- a/src/contrib/uipath/typeUtils.ts +++ b/applications/browser-extension/src/contrib/uipath/typeUtils.ts @@ -16,9 +16,9 @@ */ import { parseAssemblyQualifiedName } from "csharp-helpers"; -import { type Schema, type SchemaProperties } from "@/types/schemaTypes"; -import { type Argument, type Release } from "@/contrib/uipath/uipathContract"; -import { BusinessError } from "@/errors/businessErrors"; +import { type Schema, type SchemaProperties } from "../../types/schemaTypes"; +import { type Argument, type Release } from "./uipathContract"; +import { BusinessError } from "../../errors/businessErrors"; function toType(type: string) { const { namespace, typeName } = parseAssemblyQualifiedName(type); diff --git a/src/contrib/uipath/uipathContract.ts b/applications/browser-extension/src/contrib/uipath/uipathContract.ts similarity index 100% rename from src/contrib/uipath/uipathContract.ts rename to applications/browser-extension/src/contrib/uipath/uipathContract.ts diff --git a/src/contrib/uipath/uipathHooks.ts b/applications/browser-extension/src/contrib/uipath/uipathHooks.ts similarity index 78% rename from src/contrib/uipath/uipathHooks.ts rename to applications/browser-extension/src/contrib/uipath/uipathHooks.ts index 74c64c0f55..965039d3da 100644 --- a/src/contrib/uipath/uipathHooks.ts +++ b/applications/browser-extension/src/contrib/uipath/uipathHooks.ts @@ -16,20 +16,20 @@ */ import { useField } from "formik"; -import useSanitizedIntegrationConfigFormikAdapter from "@/integrations/useSanitizedIntegrationConfigFormikAdapter"; -import { UIPATH_SERVICE_IDS } from "@/contrib/uipath/process"; +import useSanitizedIntegrationConfigFormikAdapter from "../../integrations/useSanitizedIntegrationConfigFormikAdapter"; +import { UIPATH_SERVICE_IDS } from "./process"; import { useMemo } from "react"; -import { releaseSchema } from "@/contrib/uipath/typeUtils"; -import { optionalFactory } from "@/contrib/remoteOptionUtils"; -import { type Option } from "@/components/form/widgets/SelectWidget"; +import { releaseSchema } from "./typeUtils"; +import { optionalFactory } from "../remoteOptionUtils"; +import { type Option } from "../../components/form/widgets/SelectWidget"; import { type ODataResponseData, type Release, -} from "@/contrib/uipath/uipathContract"; -import { type SanitizedIntegrationConfig } from "@/integrations/integrationTypes"; -import cachePromise from "@/utils/cachePromise"; -import useAsyncState from "@/hooks/useAsyncState"; -import { getPlatform } from "@/platform/platformContext"; +} from "./uipathContract"; +import { type SanitizedIntegrationConfig } from "../../integrations/integrationTypes"; +import cachePromise from "../../utils/cachePromise"; +import useAsyncState from "../../hooks/useAsyncState"; +import { getPlatform } from "../../platform/platformContext"; const optionalFetchReleases = optionalFactory(fetchReleases); diff --git a/src/contrib/zapier/PushOptions.tsx b/applications/browser-extension/src/contrib/zapier/PushOptions.tsx similarity index 66% rename from src/contrib/zapier/PushOptions.tsx rename to applications/browser-extension/src/contrib/zapier/PushOptions.tsx index 76f07ae3c2..3df02d1cb9 100644 --- a/src/contrib/zapier/PushOptions.tsx +++ b/applications/browser-extension/src/contrib/zapier/PushOptions.tsx @@ -16,31 +16,31 @@ */ import React, { useMemo } from "react"; -import { type BrickOptionProps } from "@/components/fields/schemaFields/genericOptionsFactory"; +import { type BrickOptionProps } from "../../components/fields/schemaFields/genericOptionsFactory"; import { useField } from "formik"; -import { type SchemaFieldProps } from "@/components/fields/schemaFields/propTypes"; -import { type Webhook } from "@/contrib/zapier/contract"; -import { ZAPIER_PERMISSIONS, ZAPIER_PROPERTIES } from "@/contrib/zapier/push"; -import AsyncButton from "@/components/AsyncButton"; -import ConnectedFieldTemplate from "@/components/form/ConnectedFieldTemplate"; -import SelectWidget from "@/components/form/widgets/SelectWidget"; -import ObjectWidget from "@/components/fields/schemaFields/widgets/ObjectWidget"; -import { makeLabelForSchemaField } from "@/components/fields/schemaFields/schemaFieldUtils"; -import WorkshopMessageWidget from "@/components/fields/schemaFields/widgets/WorkshopMessageWidget"; -import FieldTemplate from "@/components/form/FieldTemplate"; -import { type Expression } from "@/types/runtimeTypes"; -import { type Schema } from "@/types/schemaTypes"; -import useExtensionPermissions from "@/permissions/useExtensionPermissions"; -import useRequestPermissionsCallback from "@/permissions/useRequestPermissionsCallback"; -import { isExpression } from "@/utils/expressionUtils"; -import { joinName } from "@/utils/formUtils"; -import defaultFieldFactory from "@/components/fields/schemaFields/defaultFieldFactory"; -import useAsyncState from "@/hooks/useAsyncState"; -import type { AsyncState } from "@/types/sliceTypes"; -import { getPlatform } from "@/platform/platformContext"; -import { absoluteApiUrl } from "@/data/service/apiClient"; -import { pixiebrixConfigurationFactory } from "@/integrations/util/pixiebrixConfigurationFactory"; -import { API_PATHS } from "@/data/service/urlPaths"; +import { type SchemaFieldProps } from "../../components/fields/schemaFields/propTypes"; +import { type Webhook } from "./contract"; +import { ZAPIER_PERMISSIONS, ZAPIER_PROPERTIES } from "./push"; +import AsyncButton from "../../components/AsyncButton"; +import ConnectedFieldTemplate from "../../components/form/ConnectedFieldTemplate"; +import SelectWidget from "../../components/form/widgets/SelectWidget"; +import ObjectWidget from "../../components/fields/schemaFields/widgets/ObjectWidget"; +import { makeLabelForSchemaField } from "../../components/fields/schemaFields/schemaFieldUtils"; +import WorkshopMessageWidget from "../../components/fields/schemaFields/widgets/WorkshopMessageWidget"; +import FieldTemplate from "../../components/form/FieldTemplate"; +import { type Expression } from "../../types/runtimeTypes"; +import { type Schema } from "../../types/schemaTypes"; +import useExtensionPermissions from "../../permissions/useExtensionPermissions"; +import useRequestPermissionsCallback from "../../permissions/useRequestPermissionsCallback"; +import { isExpression } from "../../utils/expressionUtils"; +import { joinName } from "../../utils/formUtils"; +import defaultFieldFactory from "../../components/fields/schemaFields/defaultFieldFactory"; +import useAsyncState from "../../hooks/useAsyncState"; +import type { AsyncState } from "../../types/sliceTypes"; +import { getPlatform } from "../../platform/platformContext"; +import { absoluteApiUrl } from "../../data/service/apiClient"; +import { pixiebrixConfigurationFactory } from "../../integrations/util/pixiebrixConfigurationFactory"; +import { API_PATHS } from "../../data/service/urlPaths"; function useHooks(): AsyncState { return useAsyncState(async () => { diff --git a/src/contrib/zapier/contract.ts b/applications/browser-extension/src/contrib/zapier/contract.ts similarity index 93% rename from src/contrib/zapier/contract.ts rename to applications/browser-extension/src/contrib/zapier/contract.ts index 751db9dd32..51ef1eee1e 100644 --- a/src/contrib/zapier/contract.ts +++ b/applications/browser-extension/src/contrib/zapier/contract.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type Schema } from "@/types/schemaTypes"; +import { type Schema } from "../../types/schemaTypes"; export interface Webhook { id: string; diff --git a/src/contrib/zapier/push.ts b/applications/browser-extension/src/contrib/zapier/push.ts similarity index 78% rename from src/contrib/zapier/push.ts rename to applications/browser-extension/src/contrib/zapier/push.ts index 0165c4a8be..ba44ab4238 100644 --- a/src/contrib/zapier/push.ts +++ b/applications/browser-extension/src/contrib/zapier/push.ts @@ -15,18 +15,18 @@ * along with this program. If not, see . */ -import { validateBrickInputOutput } from "@/validators/schemaValidator"; -import { type Webhook } from "@/contrib/zapier/contract"; +import { validateBrickInputOutput } from "../../validators/schemaValidator"; +import { type Webhook } from "./contract"; import { type Permissions } from "webextension-polyfill"; -import { uuidv4, validateRegistryId } from "@/types/helpers"; -import { BusinessError } from "@/errors/businessErrors"; -import { type Schema, type SchemaProperties } from "@/types/schemaTypes"; -import { EffectABC } from "@/types/bricks/effectTypes"; -import { type BrickArgs, type BrickOptions } from "@/types/runtimeTypes"; -import type { PlatformCapability } from "@/platform/capabilities"; -import { absoluteApiUrl } from "@/data/service/apiClient"; -import { pixiebrixConfigurationFactory } from "@/integrations/util/pixiebrixConfigurationFactory"; -import { API_PATHS } from "@/data/service/urlPaths"; +import { uuidv4, validateRegistryId } from "../../types/helpers"; +import { BusinessError } from "../../errors/businessErrors"; +import { type Schema, type SchemaProperties } from "../../types/schemaTypes"; +import { EffectABC } from "../../types/bricks/effectTypes"; +import { type BrickArgs, type BrickOptions } from "../../types/runtimeTypes"; +import type { PlatformCapability } from "../../platform/capabilities"; +import { absoluteApiUrl } from "../../data/service/apiClient"; +import { pixiebrixConfigurationFactory } from "../../integrations/util/pixiebrixConfigurationFactory"; +import { API_PATHS } from "../../data/service/urlPaths"; export const ZAPIER_ID = validateRegistryId("@pixiebrix/zapier/push-data"); diff --git a/src/data/model/ControlRoom.ts b/applications/browser-extension/src/data/model/ControlRoom.ts similarity index 84% rename from src/data/model/ControlRoom.ts rename to applications/browser-extension/src/data/model/ControlRoom.ts index 5a69901c7e..7547b24fb8 100644 --- a/src/data/model/ControlRoom.ts +++ b/applications/browser-extension/src/data/model/ControlRoom.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { validateUUID } from "@/types/helpers"; -import { type RequiredControlRoomResponse } from "@/data/service/responseTypeHelpers"; +import { type UUID } from "../../types/stringTypes"; +import { validateUUID } from "../../types/helpers"; +import { type RequiredControlRoomResponse } from "../service/responseTypeHelpers"; export type ControlRoom = { readonly controlRoomId: UUID; diff --git a/src/data/model/Me.ts b/applications/browser-extension/src/data/model/Me.ts similarity index 90% rename from src/data/model/Me.ts rename to applications/browser-extension/src/data/model/Me.ts index d382e2ffae..2b44474d16 100644 --- a/src/data/model/Me.ts +++ b/applications/browser-extension/src/data/model/Me.ts @@ -15,30 +15,30 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../types/stringTypes"; import { type MeTeamMembership, transformMeTeamMembershipResponse, -} from "@/data/model/MeTeamMembership"; +} from "./MeTeamMembership"; import { type MeUserGroupMembership, transformMeUserGroupMembershipResponse, -} from "@/data/model/MeUserGroupMembership"; +} from "./MeUserGroupMembership"; import { type PartnerPrincipal, transformPartnerPrincipalResponse, -} from "@/data/model/PartnerPrincipal"; +} from "./PartnerPrincipal"; import { transformUserMilestoneResponse, type UserMilestone, -} from "@/data/model/UserMilestone"; +} from "./UserMilestone"; import { type UserPartner, transformUserPartnerResponse, -} from "@/data/model/UserPartner"; -import { validateUUID } from "@/types/helpers"; -import type { components } from "@/types/swagger"; -import { type MeTeam, transformMeTeamResponse } from "@/data/model/MeTeam"; +} from "./UserPartner"; +import { validateUUID } from "../../types/helpers"; +import type { components } from "../../types/swagger"; +import { type MeTeam, transformMeTeamResponse } from "./MeTeam"; export type Me = { /** diff --git a/src/data/model/MeTeam.ts b/applications/browser-extension/src/data/model/MeTeam.ts similarity index 89% rename from src/data/model/MeTeam.ts rename to applications/browser-extension/src/data/model/MeTeam.ts index 7abb740f07..3074a0f8d1 100644 --- a/src/data/model/MeTeam.ts +++ b/applications/browser-extension/src/data/model/MeTeam.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../types/stringTypes"; import { type ControlRoom, transformControlRoomResponse, -} from "@/data/model/ControlRoom"; +} from "./ControlRoom"; import { type TeamTheme, transformTeamThemeResponse, -} from "@/data/model/TeamTheme"; -import { type components } from "@/types/swagger"; -import { validateUUID } from "@/types/helpers"; +} from "./TeamTheme"; +import { type components } from "../../types/swagger"; +import { validateUUID } from "../../types/helpers"; import { type SetRequired } from "type-fest"; export type MeTeam = { diff --git a/src/data/model/MeTeamMembership.ts b/applications/browser-extension/src/data/model/MeTeamMembership.ts similarity index 87% rename from src/data/model/MeTeamMembership.ts rename to applications/browser-extension/src/data/model/MeTeamMembership.ts index 502bb874ec..53904ca118 100644 --- a/src/data/model/MeTeamMembership.ts +++ b/applications/browser-extension/src/data/model/MeTeamMembership.ts @@ -15,17 +15,17 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; +import { type UUID } from "../../types/stringTypes"; import { transformUserRoleResponse, type UserRoleType, -} from "@/data/model/UserRole"; +} from "./UserRole"; import { type ControlRoom, transformControlRoomResponse, -} from "@/data/model/ControlRoom"; -import { validateUUID } from "@/types/helpers"; -import { type RequiredMeTeamMembershipResponse } from "@/data/service/responseTypeHelpers"; +} from "./ControlRoom"; +import { validateUUID } from "../../types/helpers"; +import { type RequiredMeTeamMembershipResponse } from "../service/responseTypeHelpers"; export type MeTeamMembership = { /** diff --git a/src/data/model/MeUserGroupMembership.ts b/applications/browser-extension/src/data/model/MeUserGroupMembership.ts similarity index 83% rename from src/data/model/MeUserGroupMembership.ts rename to applications/browser-extension/src/data/model/MeUserGroupMembership.ts index 05fd0d0651..57ea69afc2 100644 --- a/src/data/model/MeUserGroupMembership.ts +++ b/applications/browser-extension/src/data/model/MeUserGroupMembership.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { validateUUID } from "@/types/helpers"; -import { type RequiredMeGroupMembershipResponse } from "@/data/service/responseTypeHelpers"; +import { type UUID } from "../../types/stringTypes"; +import { validateUUID } from "../../types/helpers"; +import { type RequiredMeGroupMembershipResponse } from "../service/responseTypeHelpers"; export type MeUserGroupMembership = { groupId: UUID; diff --git a/src/data/model/PartnerPrincipal.ts b/applications/browser-extension/src/data/model/PartnerPrincipal.ts similarity index 93% rename from src/data/model/PartnerPrincipal.ts rename to applications/browser-extension/src/data/model/PartnerPrincipal.ts index 8f1673c7de..fe2b513e04 100644 --- a/src/data/model/PartnerPrincipal.ts +++ b/applications/browser-extension/src/data/model/PartnerPrincipal.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type RequiredMePartnerPrincipalResponse } from "@/data/service/responseTypeHelpers"; +import { type RequiredMePartnerPrincipalResponse } from "../service/responseTypeHelpers"; export type PartnerPrincipal = { /** diff --git a/src/data/model/Team.ts b/applications/browser-extension/src/data/model/Team.ts similarity index 89% rename from src/data/model/Team.ts rename to applications/browser-extension/src/data/model/Team.ts index b0c5212780..e968462fd4 100644 --- a/src/data/model/Team.ts +++ b/applications/browser-extension/src/data/model/Team.ts @@ -18,18 +18,18 @@ import { transformTeamMembershipResponse, type TeamMembership, -} from "@/data/model/TeamMemberships"; +} from "./TeamMemberships"; import { transformTeamThemeResponse, type TeamTheme, -} from "@/data/model/TeamTheme"; +} from "./TeamTheme"; import { type UserRoleType, transformUserRoleResponse, -} from "@/data/model/UserRole"; -import { validateUUID } from "@/types/helpers"; -import { type Timestamp, type UUID } from "@/types/stringTypes"; -import { type components } from "@/types/swagger"; +} from "./UserRole"; +import { validateUUID } from "../../types/helpers"; +import { type Timestamp, type UUID } from "../../types/stringTypes"; +import { type components } from "../../types/swagger"; export type Team = { /** diff --git a/src/data/model/TeamMembershipGroups.ts b/applications/browser-extension/src/data/model/TeamMembershipGroups.ts similarity index 91% rename from src/data/model/TeamMembershipGroups.ts rename to applications/browser-extension/src/data/model/TeamMembershipGroups.ts index ea04992c94..2671217aa0 100644 --- a/src/data/model/TeamMembershipGroups.ts +++ b/applications/browser-extension/src/data/model/TeamMembershipGroups.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { type components } from "@/types/swagger"; +import { type UUID } from "../../types/stringTypes"; +import { type components } from "../../types/swagger"; import { type SetRequired } from "type-fest"; export type TeamMembershipGroup = { diff --git a/src/data/model/TeamMembershipUser.ts b/applications/browser-extension/src/data/model/TeamMembershipUser.ts similarity index 88% rename from src/data/model/TeamMembershipUser.ts rename to applications/browser-extension/src/data/model/TeamMembershipUser.ts index 70e9052efa..ad3bcde44f 100644 --- a/src/data/model/TeamMembershipUser.ts +++ b/applications/browser-extension/src/data/model/TeamMembershipUser.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { validateUUID } from "@/types/helpers"; -import { type Timestamp, type UUID } from "@/types/stringTypes"; -import { type components } from "@/types/swagger"; +import { validateUUID } from "../../types/helpers"; +import { type Timestamp, type UUID } from "../../types/stringTypes"; +import { type components } from "../../types/swagger"; import { type SetRequired } from "type-fest"; export type TeamMembershipUser = { diff --git a/src/data/model/TeamMemberships.ts b/applications/browser-extension/src/data/model/TeamMemberships.ts similarity index 89% rename from src/data/model/TeamMemberships.ts rename to applications/browser-extension/src/data/model/TeamMemberships.ts index 590ecca7e6..bb09665270 100644 --- a/src/data/model/TeamMemberships.ts +++ b/applications/browser-extension/src/data/model/TeamMemberships.ts @@ -18,16 +18,16 @@ import { type TeamMembershipGroup, transformTeamMemberGroupsResponse, -} from "@/data/model/TeamMembershipGroups"; +} from "./TeamMembershipGroups"; import { transformTeamMemberUserResponse, type TeamMembershipUser, -} from "@/data/model/TeamMembershipUser"; +} from "./TeamMembershipUser"; import { type UserRoleType, transformUserRoleResponse, -} from "@/data/model/UserRole"; -import { type components } from "@/types/swagger"; +} from "./UserRole"; +import { type components } from "../../types/swagger"; export type TeamMembership = { membershipId?: number; diff --git a/src/data/model/TeamTheme.ts b/applications/browser-extension/src/data/model/TeamTheme.ts similarity index 91% rename from src/data/model/TeamTheme.ts rename to applications/browser-extension/src/data/model/TeamTheme.ts index 515d9ac5a6..4326fd686e 100644 --- a/src/data/model/TeamTheme.ts +++ b/applications/browser-extension/src/data/model/TeamTheme.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { canParseUrl } from "@/utils/urlUtils"; -import { type RequiredMeTeamThemeResponse } from "@/data/service/responseTypeHelpers"; +import { canParseUrl } from "../../utils/urlUtils"; +import { type RequiredMeTeamThemeResponse } from "../service/responseTypeHelpers"; export type TeamTheme = { /** diff --git a/src/data/model/UserMilestone.ts b/applications/browser-extension/src/data/model/UserMilestone.ts similarity index 94% rename from src/data/model/UserMilestone.ts rename to applications/browser-extension/src/data/model/UserMilestone.ts index bbf82a8d9d..eae5e9e29b 100644 --- a/src/data/model/UserMilestone.ts +++ b/applications/browser-extension/src/data/model/UserMilestone.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type RequiredMeMilestoneResponse } from "@/data/service/responseTypeHelpers"; +import { type RequiredMeMilestoneResponse } from "../service/responseTypeHelpers"; import { type ValueOf } from "type-fest"; diff --git a/src/data/model/UserPartner.ts b/applications/browser-extension/src/data/model/UserPartner.ts similarity index 81% rename from src/data/model/UserPartner.ts rename to applications/browser-extension/src/data/model/UserPartner.ts index 239a035dfc..a25ea6d673 100644 --- a/src/data/model/UserPartner.ts +++ b/applications/browser-extension/src/data/model/UserPartner.ts @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -import { type UUID } from "@/types/stringTypes"; -import { validateUUID } from "@/types/helpers"; -import { type ThemeName } from "@/themes/themeTypes"; -import { isValidThemeName } from "@/themes/themeUtils"; -import { type RequiredMePartnerResponse } from "@/data/service/responseTypeHelpers"; +import { type UUID } from "../../types/stringTypes"; +import { validateUUID } from "../../types/helpers"; +import { type ThemeName } from "../../themes/themeTypes"; +import { isValidThemeName } from "../../themes/themeUtils"; +import { type RequiredMePartnerResponse } from "../service/responseTypeHelpers"; export type UserPartner = { readonly partnerId: UUID; diff --git a/src/data/model/UserRole.ts b/applications/browser-extension/src/data/model/UserRole.ts similarity index 96% rename from src/data/model/UserRole.ts rename to applications/browser-extension/src/data/model/UserRole.ts index 57a0c4e13e..bc9c85077a 100644 --- a/src/data/model/UserRole.ts +++ b/applications/browser-extension/src/data/model/UserRole.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { type RequiredTeamRoleResponse } from "@/data/service/responseTypeHelpers"; +import { type RequiredTeamRoleResponse } from "../service/responseTypeHelpers"; import { type ValueOf } from "type-fest"; export enum LegacyUserRole { diff --git a/src/data/service/api.test.tsx b/applications/browser-extension/src/data/service/api.test.tsx similarity index 92% rename from src/data/service/api.test.tsx rename to applications/browser-extension/src/data/service/api.test.tsx index e79470b959..2e339b0ea9 100644 --- a/src/data/service/api.test.tsx +++ b/applications/browser-extension/src/data/service/api.test.tsx @@ -22,17 +22,17 @@ import { useGetMarketplaceListingsQuery, useGetPackageQuery, useUpdatePackageMutation, -} from "@/data/service/api"; +} from "./api"; import { renderHook } from "@testing-library/react-hooks"; import { Provider } from "react-redux"; import React from "react"; -import { isAxiosError } from "@/errors/networkErrorHelpers"; -import { uuidv4 } from "@/types/helpers"; +import { isAxiosError } from "../../errors/networkErrorHelpers"; +import { uuidv4 } from "../../types/helpers"; import { act } from "react-dom/test-utils"; -import { waitForEffect } from "@/testUtils/testHelpers"; +import { waitForEffect } from "../../testUtils/testHelpers"; import { isPlainObject } from "lodash"; -import { appApiMock } from "@/testUtils/appApiMock"; -import { type RegistryId } from "@/types/registryTypes"; +import { appApiMock } from "../../testUtils/appApiMock"; +import { type RegistryId } from "../../types/registryTypes"; function testStore() { return configureStore({ diff --git a/src/data/service/api.ts b/applications/browser-extension/src/data/service/api.ts similarity index 100% rename from src/data/service/api.ts rename to applications/browser-extension/src/data/service/api.ts diff --git a/src/data/service/apiClient.test.ts b/applications/browser-extension/src/data/service/apiClient.test.ts similarity index 92% rename from src/data/service/apiClient.test.ts rename to applications/browser-extension/src/data/service/apiClient.test.ts index cf45c76dd2..25a1e15f6f 100644 --- a/src/data/service/apiClient.test.ts +++ b/applications/browser-extension/src/data/service/apiClient.test.ts @@ -14,10 +14,10 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -import { absoluteApiUrl } from "@/data/service/apiClient"; +import { absoluteApiUrl } from "./apiClient"; // Disable automatic __mocks__ resolution #6799 -jest.mock("@/data/service/apiClient", () => +jest.mock("./apiClient", () => jest.requireActual("./apiClient.ts"), ); diff --git a/src/data/service/apiClient.ts b/applications/browser-extension/src/data/service/apiClient.ts similarity index 92% rename from src/data/service/apiClient.ts rename to applications/browser-extension/src/data/service/apiClient.ts index cd6f64be4f..cb442a0e82 100644 --- a/src/data/service/apiClient.ts +++ b/applications/browser-extension/src/data/service/apiClient.ts @@ -16,24 +16,24 @@ */ import axios, { type AxiosError, type AxiosInstance } from "axios"; -import { getBaseURL } from "@/data/service/baseService"; +import { getBaseURL } from "./baseService"; import { addAuthListener, clearPartnerAuthData, getAuthHeaders, getPartnerAuthData, isLinked, -} from "@/auth/authStorage"; +} from "../../auth/authStorage"; import { ExtensionNotLinkedError, SuspiciousOperationError, -} from "@/errors/genericErrors"; -import { isUrlRelative } from "@/utils/urlUtils"; +} from "../../errors/genericErrors"; +import { isUrlRelative } from "../../utils/urlUtils"; import createAuthRefreshInterceptor from "axios-auth-refresh"; -import { selectAxiosError } from "@/data/service/requestErrorUtils"; -import { getURLApiVersion } from "@/data/service/apiVersioning"; -import { isAuthenticationAxiosError } from "@/auth/isAuthenticationAxiosError"; -import { refreshPartnerAuthentication } from "@/background/messenger/api"; +import { selectAxiosError } from "./requestErrorUtils"; +import { getURLApiVersion } from "./apiVersioning"; +import { isAuthenticationAxiosError } from "../../auth/isAuthenticationAxiosError"; +import { refreshPartnerAuthentication } from "../../background/messenger/api"; /** * Converts `relativeOrAbsoluteURL` to an absolute PixieBrix service URL diff --git a/src/data/service/apiVersioning.ts b/applications/browser-extension/src/data/service/apiVersioning.ts similarity index 97% rename from src/data/service/apiVersioning.ts rename to applications/browser-extension/src/data/service/apiVersioning.ts index 3eef42980a..d25a90fde3 100644 --- a/src/data/service/apiVersioning.ts +++ b/applications/browser-extension/src/data/service/apiVersioning.ts @@ -16,7 +16,7 @@ */ // See similar file in the App codebase -import { API_PATHS } from "@/data/service/urlPaths"; +import { API_PATHS } from "./urlPaths"; // See REST_FRAMEWORK["DEFAULT_VERSION"] in the Django settings const DEFAULT_API_VERSION = "1.0"; diff --git a/src/data/service/backgroundApi.ts b/applications/browser-extension/src/data/service/backgroundApi.ts similarity index 83% rename from src/data/service/backgroundApi.ts rename to applications/browser-extension/src/data/service/backgroundApi.ts index 7a5b52ae5a..8229ba1c42 100644 --- a/src/data/service/backgroundApi.ts +++ b/applications/browser-extension/src/data/service/backgroundApi.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { memoizeUntilSettled } from "@/utils/promiseUtils"; -import { getApiClient } from "@/data/service/apiClient"; -import type { components } from "@/types/swagger"; -import { expectContext } from "@/utils/expectContext"; -import { API_PATHS } from "@/data/service/urlPaths"; -import { transformTeamResponse, type Team } from "@/data/model/Team"; +import { memoizeUntilSettled } from "../../utils/promiseUtils"; +import { getApiClient } from "./apiClient"; +import type { components } from "../../types/swagger"; +import { expectContext } from "../../utils/expectContext"; +import { API_PATHS } from "./urlPaths"; +import { transformTeamResponse, type Team } from "../model/Team"; // Safe to memoize in-memory because the background page/worker is reloaded when the authenticated user changes. // When the user changes, the background page/worker is reloaded, the memoizeUntilSettled cache is cleared so the diff --git a/src/data/service/baseQuery.ts b/applications/browser-extension/src/data/service/baseQuery.ts similarity index 93% rename from src/data/service/baseQuery.ts rename to applications/browser-extension/src/data/service/baseQuery.ts index cc60b32738..a02e391eb0 100644 --- a/src/data/service/baseQuery.ts +++ b/applications/browser-extension/src/data/service/baseQuery.ts @@ -14,11 +14,11 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -import type { NetworkRequestConfig } from "@/types/networkTypes"; +import type { NetworkRequestConfig } from "../../types/networkTypes"; import { type BaseQueryFn } from "@reduxjs/toolkit/query/react"; import { serializeError } from "serialize-error"; -import { isAxiosError } from "@/errors/networkErrorHelpers"; -import { getApiClient, getLinkedApiClient } from "@/data/service/apiClient"; +import { isAxiosError } from "../../errors/networkErrorHelpers"; +import { getApiClient, getLinkedApiClient } from "./apiClient"; type QueryArgs = { /** diff --git a/src/data/service/baseService.test.ts b/applications/browser-extension/src/data/service/baseService.test.ts similarity index 94% rename from src/data/service/baseService.test.ts rename to applications/browser-extension/src/data/service/baseService.test.ts index c1d63ea1bc..2cea49e3ba 100644 --- a/src/data/service/baseService.test.ts +++ b/applications/browser-extension/src/data/service/baseService.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { withoutTrailingSlash } from "@/utils/urlUtils"; +import { withoutTrailingSlash } from "../../utils/urlUtils"; describe("withoutTrailingSlash", () => { it.each(["https://app.pixiebrix.com/", "https://app.pixiebrix.com"])( diff --git a/src/data/service/baseService.ts b/applications/browser-extension/src/data/service/baseService.ts similarity index 87% rename from src/data/service/baseService.ts rename to applications/browser-extension/src/data/service/baseService.ts index 627030b17e..2049a90046 100644 --- a/src/data/service/baseService.ts +++ b/applications/browser-extension/src/data/service/baseService.ts @@ -16,11 +16,11 @@ */ import { isExtensionContext } from "webext-detect"; -import useUpdatableAsyncState from "@/hooks/useUpdatableAsyncState"; -import { readManagedStorageByKey } from "@/store/enterprise/managedStorage"; +import useUpdatableAsyncState from "../../hooks/useUpdatableAsyncState"; +import { readManagedStorageByKey } from "../../store/enterprise/managedStorage"; import { StorageItem } from "webext-storage"; -import { DEFAULT_SERVICE_URL } from "@/urlConstants"; -import { withoutTrailingSlash } from "@/utils/urlUtils"; +import { DEFAULT_SERVICE_URL } from "../../urlConstants"; +import { withoutTrailingSlash } from "../../utils/urlUtils"; type ConfiguredHost = string; diff --git a/src/data/service/constants.ts b/applications/browser-extension/src/data/service/constants.ts similarity index 100% rename from src/data/service/constants.ts rename to applications/browser-extension/src/data/service/constants.ts diff --git a/src/data/service/errorService.test.ts b/applications/browser-extension/src/data/service/errorService.test.ts similarity index 94% rename from src/data/service/errorService.test.ts rename to applications/browser-extension/src/data/service/errorService.test.ts index 17d2378b71..04f6503572 100644 --- a/src/data/service/errorService.test.ts +++ b/applications/browser-extension/src/data/service/errorService.test.ts @@ -19,13 +19,13 @@ import { BusinessError, CancelError, RequestSupersededError, -} from "@/errors/businessErrors"; +} from "../../errors/businessErrors"; import { selectExtraContext, shouldIgnoreError, -} from "@/data/service/errorService"; +} from "./errorService"; import { serializeError } from "serialize-error"; -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; +import { InteractiveLoginRequiredError } from "../../errors/authErrors"; const EXPECTED_RUNTIME_ID = "abc123"; const expectedManifestValues = { diff --git a/src/data/service/errorService.ts b/applications/browser-extension/src/data/service/errorService.ts similarity index 83% rename from src/data/service/errorService.ts rename to applications/browser-extension/src/data/service/errorService.ts index bf4829d63e..38101b7d5d 100644 --- a/src/data/service/errorService.ts +++ b/applications/browser-extension/src/data/service/errorService.ts @@ -16,35 +16,35 @@ */ import { debounce } from "lodash"; -import { maybeGetLinkedApiClient } from "@/data/service/apiClient"; +import { maybeGetLinkedApiClient } from "./apiClient"; import { hasSpecificErrorCause, selectSpecificError, -} from "@/errors/errorHelpers"; -import { allowsTrack } from "@/telemetry/dnt"; -import { uuidv4 } from "@/types/helpers"; -import { getUserData } from "@/auth/authStorage"; +} from "../../errors/errorHelpers"; +import { allowsTrack } from "../../telemetry/dnt"; +import { uuidv4 } from "../../types/helpers"; +import { getUserData } from "../../auth/authStorage"; import { isAppRequestError, selectAxiosError, -} from "@/data/service/requestErrorUtils"; -import { type ErrorItem } from "@/types/contract"; -import { expectContext } from "@/utils/expectContext"; +} from "./requestErrorUtils"; +import { type ErrorItem } from "../../types/contract"; +import { expectContext } from "../../utils/expectContext"; import { BusinessError, CancelError, RequestSupersededError, -} from "@/errors/businessErrors"; -import { type SerializedError } from "@/types/messengerTypes"; -import { type SemVerString } from "@/types/registryTypes"; -import { type MessageContext } from "@/types/loggerTypes"; -import { isObject } from "@/utils/objectUtils"; -import { flagOn } from "@/auth/featureFlagStorage"; -import { selectAbsoluteUrl } from "@/utils/urlUtils"; -import { getExtensionVersion } from "@/utils/extensionUtils"; -import { nowTimestamp } from "@/utils/timeUtils"; -import { FeatureFlags, OrganizationFlags } from "@/auth/featureFlags"; -import { API_PATHS } from "@/data/service/urlPaths"; +} from "../../errors/businessErrors"; +import { type SerializedError } from "../../types/messengerTypes"; +import { type SemVerString } from "../../types/registryTypes"; +import { type MessageContext } from "../../types/loggerTypes"; +import { isObject } from "../../utils/objectUtils"; +import { flagOn } from "../../auth/featureFlagStorage"; +import { selectAbsoluteUrl } from "../../utils/urlUtils"; +import { getExtensionVersion } from "../../utils/extensionUtils"; +import { nowTimestamp } from "../../utils/timeUtils"; +import { FeatureFlags, OrganizationFlags } from "../../auth/featureFlags"; +import { API_PATHS } from "./urlPaths"; const EVENT_BUFFER_DEBOUNCE_MS = 2000; const EVENT_BUFFER_MAX_MS = 10_000; diff --git a/src/data/service/requestErrorUtils.ts b/applications/browser-extension/src/data/service/requestErrorUtils.ts similarity index 80% rename from src/data/service/requestErrorUtils.ts rename to applications/browser-extension/src/data/service/requestErrorUtils.ts index c829433bc3..82507e22fc 100644 --- a/src/data/service/requestErrorUtils.ts +++ b/applications/browser-extension/src/data/service/requestErrorUtils.ts @@ -15,12 +15,12 @@ * along with this program. If not, see . */ -import { isErrorObject } from "@/errors/errorHelpers"; -import { testMatchPatterns } from "@/bricks/available"; -import { getBaseURL } from "@/data/service/baseService"; -import { isAxiosError } from "@/errors/networkErrorHelpers"; -import { selectAbsoluteUrl, withoutTrailingSlash } from "@/utils/urlUtils"; -import { DEFAULT_SERVICE_URL } from "@/urlConstants"; +import { isErrorObject } from "../../errors/errorHelpers"; +import { testMatchPatterns } from "../../bricks/available"; +import { getBaseURL } from "./baseService"; +import { isAxiosError } from "../../errors/networkErrorHelpers"; +import { selectAbsoluteUrl, withoutTrailingSlash } from "../../utils/urlUtils"; +import { DEFAULT_SERVICE_URL } from "../../urlConstants"; import { type AxiosError } from "axios"; /** diff --git a/src/data/service/responseTypeHelpers.ts b/applications/browser-extension/src/data/service/responseTypeHelpers.ts similarity index 97% rename from src/data/service/responseTypeHelpers.ts rename to applications/browser-extension/src/data/service/responseTypeHelpers.ts index f6e98eaf6e..4af3e72ced 100644 --- a/src/data/service/responseTypeHelpers.ts +++ b/applications/browser-extension/src/data/service/responseTypeHelpers.ts @@ -16,7 +16,7 @@ */ import { type SetRequired } from "type-fest"; -import type { components } from "@/types/swagger"; +import type { components } from "../../types/swagger"; export type RequiredMePartnerResponse = SetRequired< components["schemas"]["Me"], diff --git a/src/data/service/urlPaths.ts b/applications/browser-extension/src/data/service/urlPaths.ts similarity index 97% rename from src/data/service/urlPaths.ts rename to applications/browser-extension/src/data/service/urlPaths.ts index 03ab256183..4a44f8ca1d 100644 --- a/src/data/service/urlPaths.ts +++ b/applications/browser-extension/src/data/service/urlPaths.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import type { RegistryId } from "@/types/registryTypes"; -import { type paths } from "@/types/swagger"; +import type { RegistryId } from "../../types/registryTypes"; +import { type paths } from "../../types/swagger"; // These paths are not included in the swagger definition type WebhookPaths = "/api/webhooks/hooks/" | "/api/webhooks/key/"; diff --git a/src/development/darkMode.js b/applications/browser-extension/src/development/darkMode.js similarity index 100% rename from src/development/darkMode.js rename to applications/browser-extension/src/development/darkMode.js diff --git a/src/development/errorsBadge.ts b/applications/browser-extension/src/development/errorsBadge.ts similarity index 94% rename from src/development/errorsBadge.ts rename to applications/browser-extension/src/development/errorsBadge.ts index 969f11d053..91e2ab58bf 100644 --- a/src/development/errorsBadge.ts +++ b/applications/browser-extension/src/development/errorsBadge.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { getErrorMessage, onUncaughtError } from "@/errors/errorHelpers"; -import { browserAction } from "@/mv3/api"; +import { getErrorMessage, onUncaughtError } from "../errors/errorHelpers"; +import { browserAction } from "../mv3/api"; let counter = 0; let timer: NodeJS.Timeout; diff --git a/src/development/headers.test.ts b/applications/browser-extension/src/development/headers.test.ts similarity index 92% rename from src/development/headers.test.ts rename to applications/browser-extension/src/development/headers.test.ts index 71ff32abcf..0996758e00 100644 --- a/src/development/headers.test.ts +++ b/applications/browser-extension/src/development/headers.test.ts @@ -16,13 +16,13 @@ */ import fs from "node:fs"; -import brickRegistry from "@/bricks/registry"; +import brickRegistry from "../bricks/registry"; // Import for side-effects (these modules register the blocks) // NOTE: we don't need to also include extensionPoints because we got rid of all the legacy hard-coded extension points // (e.g., the Pipedrive calendar extension point, and TechCrunch entity extension point) -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; -import registerContribBricks from "@/contrib/registerContribBricks"; +import registerBuiltinBricks from "../bricks/registerBuiltinBricks"; +import registerContribBricks from "../contrib/registerContribBricks"; // Maintaining this number is a simple way to ensure bricks don't accidentally get dropped const EXPECTED_HEADER_COUNT = 140; diff --git a/src/development/hooks/useMessengerLogging.ts b/applications/browser-extension/src/development/hooks/useMessengerLogging.ts similarity index 86% rename from src/development/hooks/useMessengerLogging.ts rename to applications/browser-extension/src/development/hooks/useMessengerLogging.ts index d278d303f8..1274405dfe 100644 --- a/src/development/hooks/useMessengerLogging.ts +++ b/applications/browser-extension/src/development/hooks/useMessengerLogging.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import useUpdatableAsyncState from "@/hooks/useUpdatableAsyncState"; -import { messengerLogging } from "@/development/messengerLogging"; +import useUpdatableAsyncState from "../../hooks/useUpdatableAsyncState"; +import { messengerLogging } from "../messengerLogging"; export default function useMessengerLogging(): [ boolean | undefined, diff --git a/src/development/hooks/useRenderCount.ts b/applications/browser-extension/src/development/hooks/useRenderCount.ts similarity index 100% rename from src/development/hooks/useRenderCount.ts rename to applications/browser-extension/src/development/hooks/useRenderCount.ts diff --git a/src/development/messengerLogging.ts b/applications/browser-extension/src/development/messengerLogging.ts similarity index 100% rename from src/development/messengerLogging.ts rename to applications/browser-extension/src/development/messengerLogging.ts diff --git a/src/development/runtimeLogging.ts b/applications/browser-extension/src/development/runtimeLogging.ts similarity index 100% rename from src/development/runtimeLogging.ts rename to applications/browser-extension/src/development/runtimeLogging.ts diff --git a/src/development/visualInjection.ts b/applications/browser-extension/src/development/visualInjection.ts similarity index 96% rename from src/development/visualInjection.ts rename to applications/browser-extension/src/development/visualInjection.ts index 3da0cadd1f..03935d4cca 100644 --- a/src/development/visualInjection.ts +++ b/applications/browser-extension/src/development/visualInjection.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { MAX_Z_INDEX } from "@/domConstants"; +import { MAX_Z_INDEX } from "../domConstants"; /** * Add a visual indicator to the top-left of the DOM. diff --git a/src/domConstants.ts b/applications/browser-extension/src/domConstants.ts similarity index 100% rename from src/domConstants.ts rename to applications/browser-extension/src/domConstants.ts diff --git a/src/errors/authErrors.ts b/applications/browser-extension/src/errors/authErrors.ts similarity index 95% rename from src/errors/authErrors.ts rename to applications/browser-extension/src/errors/authErrors.ts index 8484c308fd..8f0f1e5bbc 100644 --- a/src/errors/authErrors.ts +++ b/applications/browser-extension/src/errors/authErrors.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "./businessErrors"; /** * Thrown when an interactive login is required to proceed but is not available, e.g., for use with diff --git a/src/errors/businessErrors.test.ts b/applications/browser-extension/src/errors/businessErrors.test.ts similarity index 87% rename from src/errors/businessErrors.test.ts rename to applications/browser-extension/src/errors/businessErrors.test.ts index 6f95e9d7ad..c2b3f781e5 100644 --- a/src/errors/businessErrors.test.ts +++ b/applications/browser-extension/src/errors/businessErrors.test.ts @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "./businessErrors"; import { serializeError } from "serialize-error"; -import { InteractiveLoginRequiredError } from "@/errors/authErrors"; -import { isSpecificError } from "@/errors/errorHelpers"; +import { InteractiveLoginRequiredError } from "./authErrors"; +import { isSpecificError } from "./errorHelpers"; describe("BusinessError", () => { it("records cause", () => { diff --git a/src/errors/businessErrors.ts b/applications/browser-extension/src/errors/businessErrors.ts similarity index 98% rename from src/errors/businessErrors.ts rename to applications/browser-extension/src/errors/businessErrors.ts index 841f0dee6e..bb249fdf35 100644 --- a/src/errors/businessErrors.ts +++ b/applications/browser-extension/src/errors/businessErrors.ts @@ -18,7 +18,7 @@ import { truncate } from "lodash"; import { type AxiosResponse } from "axios"; import { type RegistryId } from "@/types/registryTypes"; -import { JQUERY_INVALID_SELECTOR_ERROR } from "@/errors/knownErrorMessages"; +import { JQUERY_INVALID_SELECTOR_ERROR } from "./knownErrorMessages"; /** * @file ONLY KEEP ACTUAL ERRORS IN HERE. diff --git a/src/errors/clientRequestErrors.test.ts b/applications/browser-extension/src/errors/clientRequestErrors.test.ts similarity index 98% rename from src/errors/clientRequestErrors.test.ts rename to applications/browser-extension/src/errors/clientRequestErrors.test.ts index 0b99b2b5ba..3fcccd9535 100644 --- a/src/errors/clientRequestErrors.test.ts +++ b/applications/browser-extension/src/errors/clientRequestErrors.test.ts @@ -19,7 +19,7 @@ import { serializeError } from "serialize-error"; import { ClientRequestError, RemoteServiceError, -} from "@/errors/clientRequestErrors"; +} from "./clientRequestErrors"; import axios, { AxiosError } from "axios"; import MockAdapter from "axios-mock-adapter"; diff --git a/src/errors/clientRequestErrors.ts b/applications/browser-extension/src/errors/clientRequestErrors.ts similarity index 97% rename from src/errors/clientRequestErrors.ts rename to applications/browser-extension/src/errors/clientRequestErrors.ts index 59cd81f7f2..3e0d6ba036 100644 --- a/src/errors/clientRequestErrors.ts +++ b/applications/browser-extension/src/errors/clientRequestErrors.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { BusinessError } from "@/errors/businessErrors"; +import { BusinessError } from "./businessErrors"; import { type AxiosError } from "axios"; /** diff --git a/src/errors/contextInvalidated.test.ts b/applications/browser-extension/src/errors/contextInvalidated.test.ts similarity index 94% rename from src/errors/contextInvalidated.test.ts rename to applications/browser-extension/src/errors/contextInvalidated.test.ts index 332403da8a..769ffae287 100644 --- a/src/errors/contextInvalidated.test.ts +++ b/applications/browser-extension/src/errors/contextInvalidated.test.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -import { isContextInvalidatedError } from "@/errors/contextInvalidated"; +import { isContextInvalidatedError } from "./contextInvalidated"; describe("isContextInvalidatedError", () => { const invalidated = new Error("Extension context invalidated."); diff --git a/src/errors/contextInvalidated.ts b/applications/browser-extension/src/errors/contextInvalidated.ts similarity index 93% rename from src/errors/contextInvalidated.ts rename to applications/browser-extension/src/errors/contextInvalidated.ts index ba85e98f5e..bb622022c2 100644 --- a/src/errors/contextInvalidated.ts +++ b/applications/browser-extension/src/errors/contextInvalidated.ts @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -import { isPageEditorTopFrame } from "@/utils/expectContext"; +import { isPageEditorTopFrame } from "../utils/expectContext"; import { getErrorMessage, getRootCause } from "./errorHelpers"; -import { CONTEXT_INVALIDATED_ERROR } from "@/errors/knownErrorMessages"; +import { CONTEXT_INVALIDATED_ERROR } from "./knownErrorMessages"; /** * Notification id to avoid displaying multiple notifications at once. @@ -40,7 +40,7 @@ export async function notifyContextInvalidated(): Promise { // https://github.com/pixiebrix/pixiebrix-extension/pull/6234 // https://github.com/pixiebrix/pixiebrix-extension/issues/4058#issuecomment-1217391772 const { default: notify } = await import( - /* webpackChunkName: "notify" */ "@/utils/notify" + /* webpackChunkName: "notify" */ "../utils/notify" ); notify.error({ diff --git a/src/errors/errorHelpers.test.tsx b/applications/browser-extension/src/errors/errorHelpers.test.tsx similarity index 100% rename from src/errors/errorHelpers.test.tsx rename to applications/browser-extension/src/errors/errorHelpers.test.tsx diff --git a/src/errors/errorHelpers.ts b/applications/browser-extension/src/errors/errorHelpers.ts similarity index 100% rename from src/errors/errorHelpers.ts rename to applications/browser-extension/src/errors/errorHelpers.ts diff --git a/src/errors/genericErrors.ts b/applications/browser-extension/src/errors/genericErrors.ts similarity index 97% rename from src/errors/genericErrors.ts rename to applications/browser-extension/src/errors/genericErrors.ts index 1b00619d7b..04a9971444 100644 --- a/src/errors/genericErrors.ts +++ b/applications/browser-extension/src/errors/genericErrors.ts @@ -22,7 +22,7 @@ */ import { type MessageContext } from "@/types/loggerTypes"; -import { getErrorMessage } from "@/errors/errorHelpers"; +import { getErrorMessage } from "./errorHelpers"; /** * Error indicating the client performed a suspicious operation diff --git a/src/errors/knownErrorMessages.ts b/applications/browser-extension/src/errors/knownErrorMessages.ts similarity index 100% rename from src/errors/knownErrorMessages.ts rename to applications/browser-extension/src/errors/knownErrorMessages.ts diff --git a/src/errors/networkErrorHelpers.test.ts b/applications/browser-extension/src/errors/networkErrorHelpers.test.ts similarity index 98% rename from src/errors/networkErrorHelpers.test.ts rename to applications/browser-extension/src/errors/networkErrorHelpers.test.ts index 9e7da46516..b72d6408eb 100644 --- a/src/errors/networkErrorHelpers.test.ts +++ b/applications/browser-extension/src/errors/networkErrorHelpers.test.ts @@ -23,7 +23,7 @@ import { NO_RESPONSE_MESSAGE, safeGuessStatusText, selectNetworkErrorMessage, -} from "@/errors/networkErrorHelpers"; +} from "./networkErrorHelpers"; import MockAdapter from "axios-mock-adapter"; import axios from "axios"; diff --git a/src/errors/networkErrorHelpers.ts b/applications/browser-extension/src/errors/networkErrorHelpers.ts similarity index 100% rename from src/errors/networkErrorHelpers.ts rename to applications/browser-extension/src/errors/networkErrorHelpers.ts diff --git a/src/errors/rejectOnCancelled.ts b/applications/browser-extension/src/errors/rejectOnCancelled.ts similarity index 92% rename from src/errors/rejectOnCancelled.ts rename to applications/browser-extension/src/errors/rejectOnCancelled.ts index 6d65e90ee7..ceaf37e647 100644 --- a/src/errors/rejectOnCancelled.ts +++ b/applications/browser-extension/src/errors/rejectOnCancelled.ts @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -import { PromiseCancelled } from "@/errors/genericErrors"; -import castError from "@/utils/castError"; +import { PromiseCancelled } from "./genericErrors"; +import castError from "../utils/castError"; /** * Creates a new promise that's rejected if isCancelled returns true. diff --git a/src/extensionConsole/App.tsx b/applications/browser-extension/src/extensionConsole/App.tsx similarity index 67% rename from src/extensionConsole/App.tsx rename to applications/browser-extension/src/extensionConsole/App.tsx index 60b1b2eed8..6aa1429ff6 100644 --- a/src/extensionConsole/App.tsx +++ b/applications/browser-extension/src/extensionConsole/App.tsx @@ -16,47 +16,47 @@ */ import React from "react"; -import store, { hashHistory, persistor } from "@/extensionConsole/store"; +import store, { hashHistory, persistor } from "./store"; import { Provider } from "react-redux"; import { PersistGate } from "redux-persist/integration/react"; import { Container } from "react-bootstrap"; -import ErrorBoundary from "@/components/ErrorBoundary"; -import ServicesEditor from "@/extensionConsole/pages/integrations/IntegrationsPage"; -import BrickCreatePage from "@/extensionConsole/pages/packageEditor/CreatePage"; -import BrickEditPage from "@/extensionConsole/pages/packageEditor/EditPage"; -import ModsPage from "@/extensionConsole/pages/mods/ModsPage"; -import SettingsPage from "@/extensionConsole/pages/settings/SettingsPage"; -import Navbar from "@/extensionConsole/Navbar"; -import Footer from "@/layout/Footer"; -import Sidebar from "@/extensionConsole/Sidebar"; +import ErrorBoundary from "../components/ErrorBoundary"; +import ServicesEditor from "./pages/integrations/IntegrationsPage"; +import BrickCreatePage from "./pages/packageEditor/CreatePage"; +import BrickEditPage from "./pages/packageEditor/EditPage"; +import ModsPage from "./pages/mods/ModsPage"; +import SettingsPage from "./pages/settings/SettingsPage"; +import Navbar from "./Navbar"; +import Footer from "../layout/Footer"; +import Sidebar from "./Sidebar"; import { Route, Switch } from "react-router-dom"; import { ConnectedRouter } from "connected-react-router"; -import EnvironmentBanner from "@/layout/EnvironmentBanner"; -import SetupPage from "@/extensionConsole/pages/onboarding/SetupPage"; -import UpdateBanner from "@/extensionConsole/pages/UpdateBanner"; -import registerBuiltinBricks from "@/bricks/registerBuiltinBricks"; -import registerContribBricks from "@/contrib/registerContribBricks"; -import registerEditors from "@/contrib/editors"; -import DeploymentBanner from "@/extensionConsole/pages/deployments/DeploymentBanner"; -import { ModalProvider } from "@/components/ConfirmationModal"; +import EnvironmentBanner from "../layout/EnvironmentBanner"; +import SetupPage from "./pages/onboarding/SetupPage"; +import UpdateBanner from "./pages/UpdateBanner"; +import registerBuiltinBricks from "../bricks/registerBuiltinBricks"; +import registerContribBricks from "../contrib/registerContribBricks"; +import registerEditors from "../contrib/editors"; +import DeploymentBanner from "./pages/deployments/DeploymentBanner"; +import { ModalProvider } from "../components/ConfirmationModal"; import WorkshopPage from "./pages/workshop/WorkshopPage"; -import InvitationBanner from "@/extensionConsole/pages/InvitationBanner"; +import InvitationBanner from "./pages/InvitationBanner"; import BrowserBanner from "./pages/BrowserBanner"; -import useFlags from "@/hooks/useFlags"; -import registerDefaultWidgets from "@/components/fields/schemaFields/widgets/registerDefaultWidgets"; -import RequireAuth from "@/auth/RequireAuth"; -import useTheme from "@/hooks/useTheme"; +import useFlags from "../hooks/useFlags"; +import registerDefaultWidgets from "../components/fields/schemaFields/widgets/registerDefaultWidgets"; +import RequireAuth from "../auth/RequireAuth"; +import useTheme from "../hooks/useTheme"; import ReduxPersistenceContext, { type ReduxPersistenceContextType, -} from "@/store/ReduxPersistenceContext"; -import IDBErrorDisplay from "@/extensionConsole/components/IDBErrorDisplay"; -import { DeploymentsProvider } from "@/extensionConsole/pages/deployments/DeploymentsContext"; -import DatabaseUnresponsiveBanner from "@/components/DatabaseUnresponsiveBanner"; -import ActivateModPage from "@/extensionConsole/pages/activateMod/ActivateModPage"; -import { RestrictedFeatures } from "@/auth/featureFlags"; +} from "../store/ReduxPersistenceContext"; +import IDBErrorDisplay from "./components/IDBErrorDisplay"; +import { DeploymentsProvider } from "./pages/deployments/DeploymentsContext"; +import DatabaseUnresponsiveBanner from "../components/DatabaseUnresponsiveBanner"; +import ActivateModPage from "./pages/activateMod/ActivateModPage"; +import { RestrictedFeatures } from "../auth/featureFlags"; import { useLocation } from "react-router"; -import TeamTrialBanner from "@/components/teamTrials/TeamTrialBanner"; -import usePollModLogs from "@/components/logViewer/usePollModLogs"; +import TeamTrialBanner from "../components/teamTrials/TeamTrialBanner"; +import usePollModLogs from "../components/logViewer/usePollModLogs"; // Register the built-in bricks registerEditors(); diff --git a/src/extensionConsole/Navbar.module.scss b/applications/browser-extension/src/extensionConsole/Navbar.module.scss similarity index 100% rename from src/extensionConsole/Navbar.module.scss rename to applications/browser-extension/src/extensionConsole/Navbar.module.scss diff --git a/src/extensionConsole/Navbar.test.tsx b/applications/browser-extension/src/extensionConsole/Navbar.test.tsx similarity index 85% rename from src/extensionConsole/Navbar.test.tsx rename to applications/browser-extension/src/extensionConsole/Navbar.test.tsx index f655ab3184..5082762aa5 100644 --- a/src/extensionConsole/Navbar.test.tsx +++ b/applications/browser-extension/src/extensionConsole/Navbar.test.tsx @@ -17,10 +17,10 @@ import React from "react"; import { MemoryRouter } from "react-router"; -import Navbar from "@/extensionConsole/Navbar"; -import { render } from "@/extensionConsole/testHelpers"; -import { THEME_LOGOS } from "@/themes/themeUtils"; -import { type ThemeName } from "@/themes/themeTypes"; +import Navbar from "./Navbar"; +import { render } from "./testHelpers"; +import { THEME_LOGOS } from "../themes/themeUtils"; +import { type ThemeName } from "../themes/themeTypes"; const renderNavbar = () => { // There doesn't seem to be significant testable differences between diff --git a/src/extensionConsole/Navbar.tsx b/applications/browser-extension/src/extensionConsole/Navbar.tsx similarity index 85% rename from src/extensionConsole/Navbar.tsx rename to applications/browser-extension/src/extensionConsole/Navbar.tsx index 5597c3439b..f66c7f78c0 100644 --- a/src/extensionConsole/Navbar.tsx +++ b/applications/browser-extension/src/extensionConsole/Navbar.tsx @@ -25,12 +25,12 @@ import { Link } from "react-router-dom"; import { useSelector } from "react-redux"; import { toggleSidebar } from "./toggleSidebar"; import cx from "classnames"; -import { selectAuth } from "@/auth/authSelectors"; -import { type ThemeLogo } from "@/themes/themeUtils"; -import useLinkState from "@/auth/useLinkState"; -import useAdminConsoleUrl from "@/hooks/useAdminConsoleUrl"; -import { fallbackValue } from "@/utils/asyncStateUtils"; -import { DEFAULT_SERVICE_URL } from "@/urlConstants"; +import { selectAuth } from "../auth/authSelectors"; +import { type ThemeLogo } from "../themes/themeUtils"; +import useLinkState from "../auth/useLinkState"; +import useAdminConsoleUrl from "../hooks/useAdminConsoleUrl"; +import { fallbackValue } from "../utils/asyncStateUtils"; +import { DEFAULT_SERVICE_URL } from "../urlConstants"; const Navbar: React.FunctionComponent<{ logo: ThemeLogo }> = ({ logo }) => { const { email } = useSelector(selectAuth); @@ -46,10 +46,10 @@ const Navbar: React.FunctionComponent<{ logo: ThemeLogo }> = ({ logo }) => { return (