Skip to content

Commit 5f992a3

Browse files
committed
Use dynamic imports
1 parent f4d99fe commit 5f992a3

File tree

12 files changed

+73
-57
lines changed

12 files changed

+73
-57
lines changed

llmstack/client/src/components/ThemedJsonForm.jsx

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,28 @@ import {
1616
} from "@mui/material";
1717
import Form from "@rjsf/mui";
1818
import { getTemplate, getUiOptions } from "@rjsf/utils";
19-
import { useEffect, useState } from "react";
20-
import { TextFieldWithVars } from "./apps/TextFieldWithVars";
21-
import AppVersionSelector from "./apps/AppVersionSelector";
22-
import CustomObjectFieldTemplate from "./ConfigurationFormObjectFieldTemplate";
23-
import ConnectionSelector from "./connections/ConnectionSelector";
24-
import { DataSourceSelector } from "./datasource/DataSourceSelector";
25-
import FileUploadWidget from "./form/DropzoneFileWidget";
26-
import GdriveFileSelector from "./form/GdriveFileSelector";
27-
import SecretTextField from "./form/SecretTextField";
28-
import WebpageURLExtractorWidget from "./form/WebpageURLExtractorWidget";
29-
import VoiceRecorderWidget from "./form/VoiceRecorderWidget";
30-
import MuiCustomSelect from "./MuiCustomSelect";
31-
import MultiInputField from "./form/MultiInputField";
19+
import { lazy, useEffect, useState } from "react";
20+
21+
const TextFieldWithVars = lazy(() => import("./apps/TextFieldWithVars"));
22+
const AppVersionSelector = lazy(() => import("./apps/AppVersionSelector"));
23+
const CustomObjectFieldTemplate = lazy(
24+
() => import("./ConfigurationFormObjectFieldTemplate"),
25+
);
26+
const ConnectionSelector = lazy(
27+
() => import("./connections/ConnectionSelector"),
28+
);
29+
const DataSourceSelector = lazy(
30+
() => import("./datasource/DataSourceSelector"),
31+
);
32+
const FileUploadWidget = lazy(() => import("./form/DropzoneFileWidget"));
33+
const GdriveFileSelector = lazy(() => import("./form/GdriveFileSelector"));
34+
const SecretTextField = lazy(() => import("./form/SecretTextField"));
35+
const WebpageURLExtractorWidget = lazy(
36+
() => import("./form/WebpageURLExtractorWidget"),
37+
);
38+
const VoiceRecorderWidget = lazy(() => import("./form/VoiceRecorderWidget"));
39+
const MuiCustomSelect = lazy(() => import("./MuiCustomSelect"));
40+
const MultiInputField = lazy(() => import("./form/MultiInputField"));
3241

3342
function CustomGdriveFileWidget(props) {
3443
return <GdriveFileSelector {...props} />;

llmstack/client/src/components/apps/AppConfigEditor.jsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,18 @@ import {
1010
Typography,
1111
} from "@mui/material";
1212
import validator from "@rjsf/validator-ajv8";
13-
import { useEffect, useState } from "react";
13+
import { lazy, useEffect, useState } from "react";
1414
import { useValidationErrorsForAppComponents } from "../../data/appValidation";
15-
import ThemedJsonForm from "../ThemedJsonForm";
1615
import "./AppEditor.css";
17-
import { AppInputSchemaEditor } from "./AppInputSchemaEditor";
18-
import { AppStepCard } from "./AppStepCard";
19-
import { TextFieldWithVars } from "./TextFieldWithVars";
2016
import { getJSONSchemaFromInputFields } from "../../data/utils";
21-
import ImageGeneratorWidget from "../store/ImageGeneratorWidget";
17+
18+
const ImageGeneratorWidget = lazy(
19+
() => import("../store/ImageGeneratorWidget"),
20+
);
21+
const ThemedJsonForm = lazy(() => import("../ThemedJsonForm"));
22+
const AppInputSchemaEditor = lazy(() => import("./AppInputSchemaEditor"));
23+
const AppStepCard = lazy(() => import("./AppStepCard"));
24+
const TextFieldWithVars = lazy(() => import("./TextFieldWithVars"));
2225

2326
export function AppConfigEditor({
2427
appType,

llmstack/client/src/components/apps/AppInputSchemaEditor.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const dataTypes = [
2626
"multi",
2727
];
2828

29-
export function AppInputSchemaEditor({
29+
export default function AppInputSchemaEditor({
3030
fields,
3131
setFields,
3232
readOnly = false,

llmstack/client/src/components/apps/AppOutputEditor.jsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import WebTwoToneIcon from "@mui/icons-material/WebTwoTone";
22
import { CardContent } from "@mui/material";
33
import TextField from "@mui/material/TextField";
4-
import { useEffect, useState } from "react";
4+
import { lazy, useEffect, useState } from "react";
55
import { useValidationErrorsForAppComponents } from "../../data/appValidation";
6-
import { AppStepCard } from "./AppStepCard";
7-
import { TextFieldWithVars } from "./TextFieldWithVars";
6+
7+
const AppStepCard = lazy(() => import("./AppStepCard"));
8+
const TextFieldWithVars = lazy(() => import("./TextFieldWithVars"));
89

910
export function AppOutputEditor({
1011
index,

llmstack/client/src/components/apps/AppStepCard.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
import { useState } from "react";
1010
import { ProviderIcon } from "./ProviderIcon";
1111

12-
export function AppStepCard({
12+
export default function AppStepCard({
1313
icon,
1414
title,
1515
description,

llmstack/client/src/components/apps/ProcessorEditor.jsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ import {
88
Typography,
99
} from "@mui/material";
1010
import validator from "@rjsf/validator-ajv8";
11-
import { useEffect, useState } from "react";
11+
import { lazy, useEffect, useState } from "react";
1212
import { useRecoilValue } from "recoil";
1313
import { useValidationErrorsForAppComponents } from "../../data/appValidation";
1414
import { appsState } from "../../data/atoms";
15-
import ThemedJsonForm from "../ThemedJsonForm";
1615
import "./AppEditor.css";
17-
import { AppSelector } from "./AppSelector";
18-
import { AppStepCard } from "./AppStepCard";
19-
import { TextFieldWithVars } from "./TextFieldWithVars";
16+
17+
const ThemedJsonForm = lazy(() => import("../ThemedJsonForm"));
18+
const AppSelector = lazy(() => import("./AppSelector"));
19+
const AppStepCard = lazy(() => import("./AppStepCard"));
20+
const TextFieldWithVars = lazy(() => import("./TextFieldWithVars"));
2021

2122
function PromptlyAppStepCard({
2223
appId,

llmstack/client/src/components/apps/TextFieldWithVars.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ const generateTreeItemsFromSchema = (
208208
return [treeItems, currentKeys];
209209
};
210210

211-
export function TextFieldWithVars(props) {
211+
export default function TextFieldWithVars(props) {
212212
const { value, onChange } = props;
213213
const [treeViewVisible, setTreeViewVisible] = useState(false);
214214
const [textFocus, setTextFocus] = useState(false);

llmstack/client/src/components/apps/lexical/LexicalRenderer.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ReactMarkdown } from "react-markdown/lib/react-markdown";
22
import "./LexicalEditor.css";
33

4-
export function LexicalRenderer({ text }) {
4+
export default function LexicalRenderer({ text }) {
55
const domParser = new DOMParser();
66
const doc = domParser.parseFromString(text, "text/html");
77

llmstack/client/src/components/apps/renderer/LayoutRenderer.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {
22
forwardRef,
3+
lazy,
34
memo,
45
useCallback,
56
useEffect,
@@ -45,8 +46,6 @@ import { HeyGenRealtimeAvatar } from "../HeyGenRealtimeAvatar";
4546
import { PDFViewer } from "../DocViewer";
4647
import { RemoteBrowserEmbed } from "../../connections/RemoteBrowser";
4748
import { appRunDataState, profileSelector } from "../../../data/atoms";
48-
import { LexicalRenderer } from "../lexical/LexicalRenderer";
49-
import ThemedJsonForm from "../../ThemedJsonForm";
5049
import loadingImage from "../../../assets/images/loading.gif";
5150
import { isEqual, get } from "lodash";
5251

@@ -58,6 +57,9 @@ import "ace-builds/src-noconflict/mode-html";
5857
import "ace-builds/src-noconflict/theme-dracula";
5958
import "./LayoutRenderer.css";
6059

60+
const LexicalRenderer = lazy(() => import("../lexical/LexicalRenderer"));
61+
const ThemedJsonForm = lazy(() => import("../../ThemedJsonForm"));
62+
6163
const liquidEngine = new Liquid();
6264

6365
const AppMessageToolbar = ({ message }) => {

llmstack/client/src/components/datasource/DataSourceSelector.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { dataSourcesState, orgDataSourcesState } from "../../data/atoms";
77
import { AddDataSourceModal } from "./AddDataSourceModal";
88
import WithLogin from "../WithLogin";
99

10-
export function DataSourceSelector(props) {
10+
export default function DataSourceSelector(props) {
1111
const dataSources = useRecoilValue(dataSourcesState);
1212
const orgDataSources = useRecoilValue(orgDataSourcesState);
1313
const [showAddDataSourceModal, setShowAddDataSourceModal] = useState(false);

0 commit comments

Comments
 (0)