Skip to content

Commit

Permalink
Fix: Remove component chunking (#2871)
Browse files Browse the repository at this point in the history
Temporarily removed until we have it working properly
  • Loading branch information
thewahome committed Nov 9, 2023
1 parent 051fcd3 commit 6650770
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 119 deletions.
3 changes: 1 addition & 2 deletions config/webpack.config.js
Expand Up @@ -161,7 +161,6 @@ module.exports = function (webpackEnv) {
// There will be one main bundle, and one file per asynchronous chunk.
// In development, it does not produce real files.
filename: 'static/js/graph-explorer-v2.js',
chunkFilename: 'static/js/graph-explorer.chunk.[name].[chunkhash].js',
// We inferred the "public path" (such as / or /my-project) from homepage.
// We use "/" in development.
publicPath,
Expand Down Expand Up @@ -414,7 +413,7 @@ module.exports = function (webpackEnv) {
},
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 50
maxChunks: 1
}),
new MonacoWebpackPlugin({
languages: [
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "graph-explorer-v2",
"version": "9.3.0",
"version": "9.3.1",
"private": true,
"dependencies": {
"@augloop/types-core": "file:packages/types-core-2.16.189.tgz",
Expand Down
17 changes: 1 addition & 16 deletions src/app/services/hooks/usePopups.ts
@@ -1,25 +1,10 @@
import {
ShareQuery, FullPermissions, PreviewCollection, ThemeChoser
} from '../../views/common/lazy-loader/component-registry';
import { PopupItem, popups } from '../../views/common/lazy-loader/component-registry/popups';
import {
POPUPS, PopupsProps, PopupsType,
UsePopupsResponse,
usePopupsDispatchContext, usePopupsStateContext
} from '../context/popups-context';

type PopupItem =
'share-query' |
'theme-chooser' |
'preview-collection' |
'full-permissions';

const popups = new Map<string, any>([
['share-query', ShareQuery],
['theme-chooser', ThemeChoser],
['preview-collection', PreviewCollection],
['full-permissions', FullPermissions]
])

const usePopups = <Data = {}>(item: PopupItem , type: PopupsType,
reference?: string): UsePopupsResponse<Data> => {
const dispatch = usePopupsDispatchContext();
Expand Down
2 changes: 1 addition & 1 deletion src/app/views/common/error-boundary/ErrorBoundary.tsx
Expand Up @@ -26,7 +26,7 @@ function ErrorBoundary(props: Props) {
};

if (state.hasError) {
return <Label>{translateMessage('Something went wrong. Reload the tab')}</Label>;
return <Label>{translateMessage('Something went wrong')}</Label>;
} else {
return (
<React.Fragment>
Expand Down
120 changes: 22 additions & 98 deletions src/app/views/common/lazy-loader/component-registry/index.tsx
@@ -1,156 +1,80 @@
/* eslint-disable max-len */
import { lazy } from 'react';
import { IPermissionProps } from '../../../../../types/permissions';
import { SuspenseLoader } from '../suspense-loader/SuspenseLoader';

const LazySpecificPermissions = lazy(() =>
import(/* webpackChunkName: "permissions" */ '../../../query-runner/request/permissions'));
const LazyStatusMessages = lazy( () =>
import(/* webpackChunkName: "statusMessages" */ '../../../app-sections/StatusMessages'));
const LazyResponseHeaders = lazy(() =>
import(/* webpackChunkName: "responseHeaders" */ '../../../query-response/headers/ResponseHeaders'));
const LazyAdaptiveCard = lazy(() =>
import(/* webpackChunkName: "adaptiveCards" */ '../../../query-response/adaptive-cards/AdaptiveCard'));
const LazyGraphToolkit = lazy(() =>
import(/* webpackChunkName: "graphToolkit" */ '../../../query-response/graph-toolkit/GraphToolkit'));
const LazySnippets = lazy(() =>
import(/* webpackChunkName: "code snippets" */ '../../../query-response/snippets/Snippets'));
const LazyCopyButton = lazy(() =>
import(/* webpackChunkName: "copy button" */ '../../copy-button/CopyButton'));
const LazyAuth = lazy(() =>
import(/* webpackChunkName: "authTab" */ '../../../query-runner/request/auth/Auth'));
const LazyRequestHeaders = lazy(() =>
import(/* webpackChunkName: "requestHeaders" */ '../../../query-runner/request/headers/RequestHeaders'));
const LazyHistory = lazy(() =>
import(/* webpackChunkName: "history" */ '../../../sidebar/history/History'));
const LazyResourceExplorer = lazy(() =>
import(/* webpackChunkName: "resourceExplorer" */ '../../../sidebar/resource-explorer/ResourceExplorer'));
const LazyShareQuery = lazy(() =>
import(/* webpackChunkName: "share query" */ '../../../query-runner/query-input/share-query/ShareQuery'));
const LazyThemeChoser = lazy(() =>
import(/* webpackChunkName: "theme chooser" */ '../../../main-header/settings/ThemeChooser'));
const LazyPreviewCollection = lazy(() =>
import(/* webpackChunkName: "preview collection" */ '../../../sidebar/resource-explorer/collection/PreviewCollection'));
const LazyFullPermissions = lazy(() =>
import(/* webpackChunkName: "full permissions" */ '../../../query-runner/request/permissions/Permissions.Full'));
import LazySpecificPermissions from '../../../query-runner/request/permissions';
import LazyStatusMessages from '../../../app-sections/StatusMessages';
import LazyResponseHeaders from '../../../query-response/headers/ResponseHeaders';
import LazyAdaptiveCard from '../../../query-response/adaptive-cards/AdaptiveCard';
import LazyGraphToolkit from '../../../query-response/graph-toolkit/GraphToolkit';
import LazySnippets from '../../../query-response/snippets/Snippets';
import LazyCopyButton from '../../copy-button/CopyButton';
import LazyAuth from '../../../query-runner/request/auth/Auth';
import LazyRequestHeaders from '../../../query-runner/request/headers/RequestHeaders';
import LazyHistory from '../../../sidebar/history/History';
import LazyResourceExplorer from '../../../sidebar/resource-explorer/ResourceExplorer';

export const Permissions = (props?: IPermissionProps) => {
return (
<SuspenseLoader>
<LazySpecificPermissions {...props} />
</SuspenseLoader>
<LazySpecificPermissions {...props} />
)
}

export const StatusMessages = () => {
return (
<SuspenseLoader>
<LazyStatusMessages />
</SuspenseLoader>
<LazyStatusMessages />
)
}

export const AdaptiveCards = (props?: any) => {
return (
<SuspenseLoader>
<LazyAdaptiveCard {...props} />
</SuspenseLoader>
<LazyAdaptiveCard {...props} />
)
}

export const GraphToolkit = (props?: any) => {
return (
<SuspenseLoader>
<LazyGraphToolkit {...props} />
</SuspenseLoader>
<LazyGraphToolkit {...props} />
)
}

export const ResponseHeaders = (props?: any) => {
return (
<SuspenseLoader>
<LazyResponseHeaders {...props} />
</SuspenseLoader>
<LazyResponseHeaders {...props} />
)
}

export const Snippets = (props?: any) => {
return (
<SuspenseLoader>
<LazySnippets {...props} />
</SuspenseLoader>
<LazySnippets {...props} />
)
}

export const CopyButton = (props?: any) => {
return (
<SuspenseLoader>
<LazyCopyButton {...props} />
</SuspenseLoader>
<LazyCopyButton {...props} />
)
}

export const Auth = (props?: any) => {
return (
<SuspenseLoader>
<LazyAuth {...props} />
</SuspenseLoader>
<LazyAuth {...props} />
)
}

export const RequestHeaders = (props?: any) => {
return (
<SuspenseLoader>
<LazyRequestHeaders {...props} />
</SuspenseLoader>
<LazyRequestHeaders {...props} />
)
}

export const History = (props?: any) => {
return (
<SuspenseLoader>
<LazyHistory {...props} />
</SuspenseLoader>
<LazyHistory {...props} />
)
}

export const ResourceExplorer = (props?: any) => {
return (
<SuspenseLoader>
<LazyResourceExplorer {...props} />
</SuspenseLoader>
)
}

export const ShareQuery = (props?: any) => {
return (
<SuspenseLoader>
<LazyShareQuery {...props} />
</SuspenseLoader>
)
}

export const ThemeChoser = (props?: any) => {
return (
<SuspenseLoader>
<LazyThemeChoser {...props} />
</SuspenseLoader>
)
}

export const PreviewCollection = (props?: any) => {
return (
<SuspenseLoader>
<LazyPreviewCollection {...props} />
</SuspenseLoader>
)
}

export const FullPermissions = (props?: any) => {
return (
<SuspenseLoader>
<LazyFullPermissions {...props} />
</SuspenseLoader>
<LazyResourceExplorer {...props} />
)
}

14 changes: 14 additions & 0 deletions src/app/views/common/lazy-loader/component-registry/popups.tsx
@@ -0,0 +1,14 @@
import { lazy } from 'react';

export const popups = new Map<string, any>([
['share-query', lazy(() => import('../../../query-runner/query-input/share-query/ShareQuery'))],
['theme-chooser', lazy(() => import('../../../main-header/settings/ThemeChooser'))],
['preview-collection', lazy(() => import('../../../sidebar/resource-explorer/collection/PreviewCollection'))],
['full-permissions', lazy(() => import('../../../query-runner/request/permissions/Permissions.Full'))]
]);

export type PopupItem =
'share-query' |
'theme-chooser' |
'preview-collection' |
'full-permissions';

0 comments on commit 6650770

Please sign in to comment.