@lowdefy/server-dev 0.0.0-experimental-20260720072521 → 0.0.0-experimental-20260720135014
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.yaml +1 -0
- package/lib/build/app.js +1 -8
- package/lib/build/appMeta.js +1 -8
- package/lib/build/auth.js +1 -8
- package/lib/build/config.js +1 -8
- package/lib/build/i18n.js +1 -8
- package/lib/build/logger.js +1 -8
- package/lib/build/theme.js +1 -8
- package/lib/client/App.js +80 -0
- package/{client/Page.jsx → lib/client/Page.js} +5 -5
- package/{client/Reload.jsx → lib/client/Reload.js} +7 -5
- package/lib/client/auth/{Auth.jsx → Auth.js} +5 -12
- package/lib/client/auth/AuthConfigured.js +61 -0
- package/lib/client/auth/AuthNotConfigured.js +2 -22
- package/lib/client/setPageId.js +5 -6
- package/lib/client/utils/useMutateCache.js +1 -14
- package/lib/client/utils/usePageConfig.js +11 -31
- package/lib/server/apiWrapper.js +116 -0
- package/lib/server/auth/{getStrategies.js → getAuthOptions.js} +9 -14
- package/lib/server/auth/{getMockUser.js → getMockSession.js} +19 -10
- package/{src/routes/docs/checkpointsRevert.js → lib/server/auth/getServerSession.js} +13 -11
- package/lib/server/compileCss.js +39 -0
- package/lib/server/jitPageBuilder.js +11 -36
- package/lib/server/log/logRequest.js +3 -1
- package/manager/getContext.mjs +7 -3
- package/manager/processes/compileCss.mjs +54 -0
- package/manager/processes/initialBuild.mjs +2 -0
- package/manager/processes/installPlugins.mjs +11 -19
- package/manager/processes/lowdefyBuild.mjs +7 -29
- package/manager/processes/nextBuild.mjs +50 -0
- package/manager/processes/readDotEnv.mjs +1 -13
- package/manager/processes/shutdownServer.mjs +6 -6
- package/manager/processes/startServer.mjs +7 -8
- package/manager/processes/startWatchers.mjs +2 -2
- package/manager/run.mjs +0 -41
- package/manager/utils/createCustomPluginMessagesMap.mjs +1 -8
- package/manager/utils/createCustomPluginTypesMap.mjs +2 -3
- package/manager/utils/{getViteBin.mjs → getNextBin.mjs} +10 -7
- package/manager/utils/updatePageTailwindCss.mjs +1 -7
- package/manager/watchers/lowdefyBuildWatcher.mjs +1 -0
- package/manager/watchers/moduleBuildWatcher.mjs +1 -0
- package/manager/watchers/{serverArtifactWatcher.mjs → nextBuildWatcher.mjs} +22 -18
- package/next.config.js +25 -0
- package/package.json +47 -63
- package/package.original.json +55 -66
- package/{src/routes/devTools.js → pages/404.js} +2 -4
- package/{src/routes/docs/appMap.js → pages/[[...pageId]].js} +2 -6
- package/{client/App.jsx → pages/_app.js} +33 -21
- package/pages/_document.js +107 -0
- package/pages/api/agent/[...path].js +86 -0
- package/pages/api/auth/[...nextauth].js +48 -0
- package/pages/api/client-error.js +45 -0
- package/{src/routes/docs/buildStatus.js → pages/api/dev-tools.js} +4 -5
- package/{lib/docs/clientErrorStore.js → pages/api/endpoints/[...endpointId].js} +11 -15
- package/{src/lib/serveBuildJs.js → pages/api/icons/dynamic.js} +12 -8
- package/{src/routes/jsEnv.js → pages/api/js/[env].js} +20 -8
- package/pages/api/page/[...pageId].js +74 -0
- package/{src/routes → pages/api}/ping.js +2 -4
- package/pages/api/reload.js +53 -0
- package/pages/api/request/[...path].js +41 -0
- package/{src/routes → pages/api}/root.js +4 -4
- package/client/Inspector.jsx +0 -206
- package/client/Routing.jsx +0 -106
- package/client/feedback/FeedbackMount.jsx +0 -83
- package/client/feedback/FeedbackOverlay.jsx +0 -901
- package/client/feedback/captureTabScreenshot.js +0 -84
- package/client/feedback/copyToClipboard.js +0 -45
- package/client/feedback/drawAnnotationsSvg.js +0 -119
- package/client/feedback/elementInspect.js +0 -99
- package/client/feedback/feedbackStyles.js +0 -301
- package/client/feedback/pinResponsiveImages.js +0 -59
- package/client/feedback/sendFeedback.js +0 -39
- package/client/feedback/useFeedbackToggle.js +0 -70
- package/client/main.jsx +0 -42
- package/client/openInEditor/OpenInEditorListener.jsx +0 -261
- package/client/openInEditor/findBlockLocation.js +0 -51
- package/lib/client/auth/AuthConfigured.jsx +0 -155
- package/lib/docs/captureAnnotatedScreenshot.js +0 -88
- package/lib/docs/checkpointPaths.js +0 -91
- package/lib/docs/checkpointStore.js +0 -234
- package/lib/docs/checkpointToMocks.js +0 -65
- package/lib/docs/configCheckpoints.test.mjs +0 -156
- package/lib/docs/createConfigCheckpoint.js +0 -92
- package/lib/docs/createDocsMcpServer.js +0 -506
- package/lib/docs/createDocsMcpServer.test.mjs +0 -123
- package/lib/docs/devMockRegistry.js +0 -68
- package/lib/docs/docs.test.mjs +0 -448
- package/lib/docs/enrichFeedback.js +0 -71
- package/lib/docs/evalOperator.js +0 -39
- package/lib/docs/evalOperator.test.mjs +0 -112
- package/lib/docs/evalOperatorHeadless.js +0 -87
- package/lib/docs/evalOperatorHeadless.test.mjs +0 -72
- package/lib/docs/evalOperatorInTab.js +0 -48
- package/lib/docs/findConfig.js +0 -260
- package/lib/docs/formatFeedback.js +0 -121
- package/lib/docs/formatFeedback.test.mjs +0 -204
- package/lib/docs/getAppMap.js +0 -180
- package/lib/docs/getBrowser.js +0 -115
- package/lib/docs/getBuildStatus.js +0 -37
- package/lib/docs/getCoreDoc.js +0 -63
- package/lib/docs/getDocsManifest.js +0 -40
- package/lib/docs/getExamples.js +0 -58
- package/lib/docs/getOverview.js +0 -115
- package/lib/docs/getPageConfig.js +0 -53
- package/lib/docs/getPluginDoc.js +0 -55
- package/lib/docs/getSchema.js +0 -65
- package/lib/docs/inspectState.js +0 -41
- package/lib/docs/inspectState.test.mjs +0 -91
- package/lib/docs/inspectStateFromTab.js +0 -40
- package/lib/docs/inspectStateHeadless.js +0 -84
- package/lib/docs/inspectStateHeadless.test.mjs +0 -60
- package/lib/docs/isWriteRequestsAllowed.js +0 -50
- package/lib/docs/listConfigCheckpoints.js +0 -55
- package/lib/docs/listPlugins.js +0 -80
- package/lib/docs/listTypes.js +0 -105
- package/lib/docs/loadState.js +0 -139
- package/lib/docs/mapPageBuildErrors.js +0 -28
- package/lib/docs/normalizeTypeKind.js +0 -40
- package/lib/docs/readBuildArtifact.js +0 -35
- package/lib/docs/readPageArtifact.js +0 -26
- package/lib/docs/resolvePluginDir.js +0 -49
- package/lib/docs/revertConfigCheckpoint.js +0 -73
- package/lib/docs/runRequest.js +0 -141
- package/lib/docs/saveAnnotatedScreenshot.js +0 -43
- package/lib/docs/scaffoldPage.js +0 -75
- package/lib/docs/scaffoldPage.test.mjs +0 -97
- package/lib/docs/screenshotPage.js +0 -109
- package/lib/docs/screenshotPage.test.mjs +0 -59
- package/lib/docs/screenshotPageClip.test.mjs +0 -102
- package/lib/docs/searchDocs.js +0 -67
- package/lib/docs/setupTestFixtures.mjs +0 -335
- package/lib/docs/snapshotState.js +0 -59
- package/lib/docs/stateCheckpoints.test.mjs +0 -348
- package/lib/docs/tabAvailable.js +0 -28
- package/lib/docs/tabChannel.js +0 -119
- package/lib/docs/tabChannel.test.mjs +0 -130
- package/lib/server/auth/createSystemContext.js +0 -70
- package/lib/server/auth/getAuth.js +0 -46
- package/lib/server/auth/getHeadlessUser.js +0 -39
- package/lib/server/auth/headlessUser.js +0 -30
- package/lib/server/createLowdefyContext.js +0 -133
- package/lib/server/loadDynamicJsMap.js +0 -47
- package/manager/processes/lowdefyBuild.test.mjs +0 -102
- package/manager/utils/formatNoticeBox.mjs +0 -30
- package/manager/utils/writeBuildStatus.mjs +0 -39
- package/manager/utils/writeBuildStatus.test.mjs +0 -76
- package/postcss.config.cjs +0 -1
- package/src/app.js +0 -188
- package/src/html/renderDevPage.js +0 -86
- package/src/lib/getPathSegments.js +0 -25
- package/src/lib/safeScriptJson.js +0 -38
- package/src/middleware/apiContext.js +0 -32
- package/src/middleware/errorHandler.js +0 -55
- package/src/routes/agent.js +0 -64
- package/src/routes/auth.js +0 -43
- package/src/routes/clientError.js +0 -57
- package/src/routes/cron.js +0 -44
- package/src/routes/detached.js +0 -51
- package/src/routes/devInspect.js +0 -94
- package/src/routes/docs/checkpointsCreate.js +0 -28
- package/src/routes/docs/checkpointsList.js +0 -23
- package/src/routes/docs/content.js +0 -31
- package/src/routes/docs/evalOperator.js +0 -46
- package/src/routes/docs/examples.js +0 -33
- package/src/routes/docs/find.js +0 -30
- package/src/routes/docs/index.js +0 -23
- package/src/routes/docs/inspectState.js +0 -34
- package/src/routes/docs/loadState.js +0 -38
- package/src/routes/docs/mcp.js +0 -30
- package/src/routes/docs/pageConfig.js +0 -36
- package/src/routes/docs/pluginDoc.js +0 -33
- package/src/routes/docs/plugins.js +0 -23
- package/src/routes/docs/runRequest.js +0 -34
- package/src/routes/docs/schema.js +0 -37
- package/src/routes/docs/screenshot.js +0 -66
- package/src/routes/docs/search.js +0 -27
- package/src/routes/docs/snapshotState.js +0 -36
- package/src/routes/docs/stateCheckpointsList.js +0 -26
- package/src/routes/docs/types.js +0 -33
- package/src/routes/endpoints.js +0 -76
- package/src/routes/feedback.js +0 -110
- package/src/routes/feedback.test.mjs +0 -204
- package/src/routes/iconsDynamic.js +0 -25
- package/src/routes/jitPage.js +0 -99
- package/src/routes/reload.js +0 -81
- package/src/routes/request.js +0 -66
- package/src/routes/usage.js +0 -46
- package/src/routes/user.js +0 -27
- package/src/routes/websocket.js +0 -33
- package/src/websocket/devWebSocket.js +0 -78
- package/vite.config.js +0 -111
- /package/lib/client/{BuildErrorPage.jsx → BuildErrorPage.js} +0 -0
- /package/lib/client/{BuildingPage.jsx → BuildingPage.js} +0 -0
- /package/lib/client/{ErrorBar.jsx → ErrorBar.js} +0 -0
- /package/lib/client/{InstallingPluginsPage.jsx → InstallingPluginsPage.js} +0 -0
- /package/lib/client/{RestartingPage.jsx → RestartingPage.js} +0 -0
package/manager/run.mjs
CHANGED
|
@@ -16,11 +16,9 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { wait } from '@lowdefy/helpers';
|
|
19
|
-
import { findAvailablePort } from '@lowdefy/node-utils';
|
|
20
19
|
import opener from 'opener';
|
|
21
20
|
import getContext from './getContext.mjs';
|
|
22
21
|
import startServer from './processes/startServer.mjs';
|
|
23
|
-
import formatNoticeBox from './utils/formatNoticeBox.mjs';
|
|
24
22
|
|
|
25
23
|
/*
|
|
26
24
|
The run script does the following:
|
|
@@ -80,16 +78,6 @@ The run script does the following:
|
|
|
80
78
|
|
|
81
79
|
const context = await getContext();
|
|
82
80
|
|
|
83
|
-
// Shut the Vite child down on direct signals (process managers, scripts/dev.mjs
|
|
84
|
-
// signal forwarding) — terminal Ctrl+C signals the whole process group, but a
|
|
85
|
-
// targeted SIGTERM would otherwise orphan the child.
|
|
86
|
-
for (const signal of ['SIGINT', 'SIGTERM']) {
|
|
87
|
-
process.on(signal, () => {
|
|
88
|
-
context.shutdownServer();
|
|
89
|
-
process.exit(0);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
81
|
try {
|
|
94
82
|
await context.initialBuild();
|
|
95
83
|
|
|
@@ -97,37 +85,8 @@ try {
|
|
|
97
85
|
// because chokidar sometimes doesn't fire this event, and it seems like there isn't an issue with not waiting.
|
|
98
86
|
context.startWatchers();
|
|
99
87
|
|
|
100
|
-
// The manager is the component that binds the port, so it re-checks here to
|
|
101
|
-
// cover every launch path (CLI, monorepo dev script, direct run.mjs) and any
|
|
102
|
-
// process that grabbed the port during the initial build.
|
|
103
|
-
const availablePort = await findAvailablePort({ port: context.options.port });
|
|
104
|
-
if (availablePort !== context.options.port) {
|
|
105
|
-
context.logger.warn(
|
|
106
|
-
`Port ${context.options.port} is in use, using port ${availablePort} instead.`
|
|
107
|
-
);
|
|
108
|
-
context.options.port = availablePort;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
88
|
startServer(context);
|
|
112
89
|
await wait(800);
|
|
113
|
-
const docsUrl = `http://localhost:${context.options.port}/lowdefy-docs`;
|
|
114
|
-
context.logger.info(
|
|
115
|
-
{ color: 'blue' },
|
|
116
|
-
formatNoticeBox({
|
|
117
|
-
title: 'Lowdefy coding agent tools',
|
|
118
|
-
lines: [
|
|
119
|
-
`Docs & MCP ${docsUrl}`,
|
|
120
|
-
' run `lowdefy agent-setup` to connect your agent',
|
|
121
|
-
'',
|
|
122
|
-
'Annotate Press Cmd/Ctrl+/ in the browser to point, draw,',
|
|
123
|
-
' and comment on the running app, then paste the',
|
|
124
|
-
' copied feedback into your coding agent session.',
|
|
125
|
-
'',
|
|
126
|
-
'Open code Cmd/Ctrl+click any element in the browser to open',
|
|
127
|
-
' its yaml in VS Code at the defining line.',
|
|
128
|
-
],
|
|
129
|
-
})
|
|
130
|
-
);
|
|
131
90
|
if (process.env.LOWDEFY_SERVER_DEV_OPEN_BROWSER === 'true') {
|
|
132
91
|
// TODO: Wait 1 sec for a ping and don't open if a ping is seen
|
|
133
92
|
opener(`http://localhost:${context.options.port}`);
|
|
@@ -23,10 +23,6 @@ import YAML from 'yaml';
|
|
|
23
23
|
|
|
24
24
|
const require = createRequire(import.meta.url);
|
|
25
25
|
|
|
26
|
-
// The map is rebuilt on every config rebuild — warn once per plugin per
|
|
27
|
-
// process instead of repeating the same skip message on each rebuild.
|
|
28
|
-
const warnedMissingMessages = new Set();
|
|
29
|
-
|
|
30
26
|
async function getPluginDefinitions({ directories }) {
|
|
31
27
|
let lowdefyYaml = await readFile(path.join(directories.config, 'lowdefy.yaml'));
|
|
32
28
|
if (!lowdefyYaml) {
|
|
@@ -49,10 +45,7 @@ async function createCustomPluginMessagesMap({ directories, logger }) {
|
|
|
49
45
|
messagesModule = require(`${plugin.name}/messages`);
|
|
50
46
|
} catch (e) {
|
|
51
47
|
// Plugin does not ship a `./messages` export — silently skip.
|
|
52
|
-
|
|
53
|
-
warnedMissingMessages.add(plugin.name);
|
|
54
|
-
logger?.debug?.(`Plugin "${plugin.name}" has no "./messages" export; skipping.`);
|
|
55
|
-
}
|
|
48
|
+
logger?.debug?.(`Plugin "${plugin.name}" has no "./messages" export; skipping.`);
|
|
56
49
|
continue;
|
|
57
50
|
}
|
|
58
51
|
const messages = messagesModule.default ?? messagesModule;
|
|
@@ -42,11 +42,11 @@ async function createCustomPluginTypesMap({ directories, logger }) {
|
|
|
42
42
|
agents: {},
|
|
43
43
|
auth: {
|
|
44
44
|
adapters: {},
|
|
45
|
+
callbacks: {},
|
|
46
|
+
events: {},
|
|
45
47
|
providers: {},
|
|
46
|
-
strategies: {},
|
|
47
48
|
},
|
|
48
49
|
blockMetas: {},
|
|
49
|
-
connectionMetas: {},
|
|
50
50
|
blocks: {},
|
|
51
51
|
connections: {},
|
|
52
52
|
icons: {},
|
|
@@ -55,7 +55,6 @@ async function createCustomPluginTypesMap({ directories, logger }) {
|
|
|
55
55
|
server: {},
|
|
56
56
|
},
|
|
57
57
|
requests: {},
|
|
58
|
-
websockets: {},
|
|
59
58
|
};
|
|
60
59
|
|
|
61
60
|
const pluginDefinitions = await getPluginDefinitions({ directories });
|
|
@@ -17,17 +17,20 @@
|
|
|
17
17
|
import path from 'path';
|
|
18
18
|
import { createRequire } from 'module';
|
|
19
19
|
|
|
20
|
-
function
|
|
20
|
+
function getNextBin() {
|
|
21
21
|
const require = createRequire(import.meta.url);
|
|
22
|
-
const
|
|
23
|
-
|
|
22
|
+
const nextPackageJson = require('next/package.json');
|
|
23
|
+
|
|
24
|
+
const nextPath = require.resolve('next');
|
|
25
|
+
let nextMainFragment = nextPackageJson.main.substring(1);
|
|
26
|
+
let nextBinFragment = nextPackageJson.bin.next;
|
|
24
27
|
|
|
25
|
-
let viteBinFragment = vitePackageJson.bin.vite;
|
|
26
28
|
if (process.platform === 'win32') {
|
|
27
|
-
|
|
29
|
+
nextMainFragment = nextMainFragment.replaceAll('/', '\\');
|
|
30
|
+
nextBinFragment = nextBinFragment.replaceAll('/', '\\');
|
|
28
31
|
}
|
|
29
32
|
|
|
30
|
-
return path.join(
|
|
33
|
+
return path.join(nextPath.replace(nextMainFragment, ''), nextBinFragment);
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
export default
|
|
36
|
+
export default getNextBin;
|
|
@@ -65,13 +65,7 @@ async function updatePageTailwindCss({ changedFiles, context }) {
|
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
if (contentWritten) {
|
|
68
|
-
|
|
69
|
-
// globals.css imports it, putting it in the dev module graph.
|
|
70
|
-
const candidatesPath = path.join(context.directories.build, 'tailwind-candidates.css');
|
|
71
|
-
fs.writeFileSync(
|
|
72
|
-
candidatesPath,
|
|
73
|
-
`/* Generated by Lowdefy build — rewritten on page changes to trigger CSS recompilation */\n/* ${Date.now()} */\n`
|
|
74
|
-
);
|
|
68
|
+
await context.compileCss();
|
|
75
69
|
}
|
|
76
70
|
return contentWritten;
|
|
77
71
|
}
|
|
@@ -51,6 +51,7 @@ function lowdefyBuildWatcher(context) {
|
|
|
51
51
|
|
|
52
52
|
if (isSkeletonChange) {
|
|
53
53
|
await context.lowdefyBuild();
|
|
54
|
+
await context.compileCss();
|
|
54
55
|
} else {
|
|
55
56
|
const invalidatePath = path.join(context.directories.build, 'invalidatePages');
|
|
56
57
|
fs.writeFileSync(invalidatePath, String(Date.now()));
|
|
@@ -56,6 +56,7 @@ function moduleBuildWatcher(context) {
|
|
|
56
56
|
: 'Module skeleton files changed, running shallow rebuild.'
|
|
57
57
|
);
|
|
58
58
|
await context.lowdefyBuild();
|
|
59
|
+
await context.compileCss();
|
|
59
60
|
} else {
|
|
60
61
|
const invalidatePath = path.join(context.directories.build, 'invalidatePages');
|
|
61
62
|
fs.writeFileSync(invalidatePath, String(Date.now()));
|
|
@@ -22,18 +22,25 @@ import setupWatcher from '../utils/setupWatcher.mjs';
|
|
|
22
22
|
|
|
23
23
|
const hashes = {};
|
|
24
24
|
|
|
25
|
-
// Replaces nextBuildWatcher. Only files the server reads at startup are
|
|
26
|
-
// tracked — a change requires a server restart for a fresh ESM module cache.
|
|
27
|
-
// Client-side artifacts (blocks.js, operators/client.js, globals.css, ...)
|
|
28
|
-
// are watched by Vite itself and hot-replaced without a restart.
|
|
29
25
|
const trackedFiles = [
|
|
30
26
|
'build/app.json',
|
|
31
27
|
'build/auth.json',
|
|
32
28
|
'build/config.json',
|
|
29
|
+
'build/plugins/actions.js',
|
|
33
30
|
'build/plugins/auth/adapters.js',
|
|
31
|
+
'build/plugins/auth/callbacks.js',
|
|
32
|
+
'build/plugins/auth/events.js',
|
|
34
33
|
'build/plugins/auth/providers.js',
|
|
34
|
+
'build/plugins/blocks.js',
|
|
35
35
|
'build/plugins/connections.js',
|
|
36
|
+
'build/plugins/icons.js',
|
|
37
|
+
'build/plugins/operators/client.js',
|
|
38
|
+
'build/plugins/operators/clientJsMap.js',
|
|
36
39
|
'build/plugins/operators/server.js',
|
|
40
|
+
'build/plugins/operators/serverJsMap.js',
|
|
41
|
+
'build/plugins/styles.css',
|
|
42
|
+
'build/globals.css',
|
|
43
|
+
'public/styles.css',
|
|
37
44
|
'package.json',
|
|
38
45
|
];
|
|
39
46
|
|
|
@@ -54,8 +61,8 @@ async function sha1(filePath) {
|
|
|
54
61
|
.digest('base64');
|
|
55
62
|
}
|
|
56
63
|
|
|
57
|
-
async function
|
|
58
|
-
// Initialize hashes so that
|
|
64
|
+
async function nextBuildWatcher(context) {
|
|
65
|
+
// Initialize hashes so that app does not rebuild the first time
|
|
59
66
|
// Lowdefy build is run.
|
|
60
67
|
await Promise.all(
|
|
61
68
|
trackedFiles.map(async (filePath) => {
|
|
@@ -65,21 +72,21 @@ async function serverArtifactWatcher(context) {
|
|
|
65
72
|
|
|
66
73
|
const callback = async () => {
|
|
67
74
|
let install = false;
|
|
68
|
-
let
|
|
75
|
+
let build = false;
|
|
69
76
|
await Promise.all(
|
|
70
77
|
trackedFiles.map(async (filePath) => {
|
|
71
78
|
const hash = await sha1(filePath);
|
|
72
79
|
if (hashes[filePath] === hash) {
|
|
73
80
|
return;
|
|
74
81
|
}
|
|
75
|
-
|
|
82
|
+
build = true;
|
|
76
83
|
if (filePath.endsWith('package.json')) {
|
|
77
84
|
install = true;
|
|
78
85
|
}
|
|
79
86
|
hashes[filePath] = hash;
|
|
80
87
|
})
|
|
81
88
|
);
|
|
82
|
-
if (!
|
|
89
|
+
if (!build) {
|
|
83
90
|
context.logger.info({ spin: 'succeed' }, 'Reloaded app.');
|
|
84
91
|
return;
|
|
85
92
|
}
|
|
@@ -88,8 +95,8 @@ async function serverArtifactWatcher(context) {
|
|
|
88
95
|
if (install) {
|
|
89
96
|
context.logger.warn('Plugin dependencies have changed and will be reinstalled.');
|
|
90
97
|
await context.installPlugins();
|
|
91
|
-
// Rebuild Lowdefy artifacts (blocks.js, icons.js,
|
|
92
|
-
// so newly installed packages are included in the
|
|
98
|
+
// Rebuild Lowdefy artifacts (blocks.js, icons.js, styles.css, etc.)
|
|
99
|
+
// so newly installed packages are included in the Next.js bundle.
|
|
93
100
|
await context.lowdefyBuild();
|
|
94
101
|
// Re-hash all tracked files to avoid detecting our own build output
|
|
95
102
|
// changes as new changes on the next watcher callback.
|
|
@@ -99,6 +106,8 @@ async function serverArtifactWatcher(context) {
|
|
|
99
106
|
})
|
|
100
107
|
);
|
|
101
108
|
}
|
|
109
|
+
await context.nextBuild();
|
|
110
|
+
await context.compileCss();
|
|
102
111
|
context.restartServer();
|
|
103
112
|
};
|
|
104
113
|
|
|
@@ -106,13 +115,8 @@ async function serverArtifactWatcher(context) {
|
|
|
106
115
|
callback,
|
|
107
116
|
context,
|
|
108
117
|
watchDotfiles: true,
|
|
109
|
-
watchPaths: [
|
|
110
|
-
path.join(context.directories.server, 'package.json'),
|
|
111
|
-
...trackedFiles
|
|
112
|
-
.filter((filePath) => filePath.startsWith('build/'))
|
|
113
|
-
.map((filePath) => path.join(context.directories.server, filePath)),
|
|
114
|
-
],
|
|
118
|
+
watchPaths: [path.join(context.directories.server, 'package.json')],
|
|
115
119
|
});
|
|
116
120
|
}
|
|
117
121
|
|
|
118
|
-
export default
|
|
122
|
+
export default nextBuildWatcher;
|
package/next.config.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const lowdefyConfig = require('./build/config.json');
|
|
2
|
+
const blockPackages = require('./build/blockPackages.json');
|
|
3
|
+
const serverExternalPackages = require('./build/serverExternalPackages.json');
|
|
4
|
+
|
|
5
|
+
// Transpile @lowdefy/client plus all block plugin packages that may
|
|
6
|
+
// contain CSS imports (e.g., AG Grid themes, loaders, markdown).
|
|
7
|
+
// Built dynamically so custom user plugins are included automatically.
|
|
8
|
+
const transpilePackages = [
|
|
9
|
+
'@lowdefy/client',
|
|
10
|
+
'@ant-design/x',
|
|
11
|
+
'@ant-design/x-markdown',
|
|
12
|
+
...blockPackages,
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const nextConfig = {
|
|
16
|
+
basePath: lowdefyConfig.basePath,
|
|
17
|
+
// reactStrictMode: true,
|
|
18
|
+
turbopack: {},
|
|
19
|
+
transpilePackages,
|
|
20
|
+
serverExternalPackages,
|
|
21
|
+
compress: false,
|
|
22
|
+
poweredByHeader: false,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
module.exports = nextConfig;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lowdefy/server-dev",
|
|
3
|
-
"version": "0.0.0-experimental-
|
|
3
|
+
"version": "0.0.0-experimental-20260720135014",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"homepage": "https://lowdefy.com",
|
|
@@ -28,97 +28,81 @@
|
|
|
28
28
|
"files": [
|
|
29
29
|
"lib/*",
|
|
30
30
|
"manager/*",
|
|
31
|
+
"pages/*",
|
|
31
32
|
"public_default/*",
|
|
33
|
+
"next.config.js",
|
|
32
34
|
"package.original.json",
|
|
33
35
|
".eslintrc.yaml",
|
|
34
|
-
".npmrc"
|
|
35
|
-
"src/*",
|
|
36
|
-
"client/*",
|
|
37
|
-
"vite.config.js",
|
|
38
|
-
"postcss.config.cjs"
|
|
36
|
+
".npmrc"
|
|
39
37
|
],
|
|
40
38
|
"dependencies": {
|
|
39
|
+
"@lowdefy/actions-core": "0.0.0-experimental-20260720135014",
|
|
40
|
+
"@lowdefy/api": "0.0.0-experimental-20260720135014",
|
|
41
|
+
"@lowdefy/block-utils": "0.0.0-experimental-20260720135014",
|
|
42
|
+
"@lowdefy/blocks-aggrid": "0.0.0-experimental-20260720135014",
|
|
43
|
+
"@lowdefy/blocks-antd": "0.0.0-experimental-20260720135014",
|
|
44
|
+
"@lowdefy/blocks-antd-x": "0.0.0-experimental-20260720135014",
|
|
45
|
+
"@lowdefy/blocks-basic": "0.0.0-experimental-20260720135014",
|
|
46
|
+
"@lowdefy/blocks-echarts": "0.0.0-experimental-20260720135014",
|
|
47
|
+
"@lowdefy/blocks-loaders": "0.0.0-experimental-20260720135014",
|
|
48
|
+
"@lowdefy/blocks-markdown": "0.0.0-experimental-20260720135014",
|
|
49
|
+
"@lowdefy/blocks-tiptap": "0.0.0-experimental-20260720135014",
|
|
50
|
+
"@lowdefy/build": "0.0.0-experimental-20260720135014",
|
|
51
|
+
"@lowdefy/client": "0.0.0-experimental-20260720135014",
|
|
52
|
+
"@lowdefy/connection-axios-http": "0.0.0-experimental-20260720135014",
|
|
53
|
+
"@lowdefy/engine": "0.0.0-experimental-20260720135014",
|
|
54
|
+
"@lowdefy/errors": "0.0.0-experimental-20260720135014",
|
|
55
|
+
"@lowdefy/helpers": "0.0.0-experimental-20260720135014",
|
|
56
|
+
"@lowdefy/layout": "0.0.0-experimental-20260720135014",
|
|
57
|
+
"@lowdefy/logger": "0.0.0-experimental-20260720135014",
|
|
58
|
+
"@lowdefy/node-utils": "0.0.0-experimental-20260720135014",
|
|
59
|
+
"@lowdefy/operators-change-case": "0.0.0-experimental-20260720135014",
|
|
60
|
+
"@lowdefy/operators-dayjs": "0.0.0-experimental-20260720135014",
|
|
61
|
+
"@lowdefy/operators-diff": "0.0.0-experimental-20260720135014",
|
|
62
|
+
"@lowdefy/operators-js": "0.0.0-experimental-20260720135014",
|
|
63
|
+
"@lowdefy/operators-mql": "0.0.0-experimental-20260720135014",
|
|
64
|
+
"@lowdefy/operators-nunjucks": "0.0.0-experimental-20260720135014",
|
|
65
|
+
"@lowdefy/operators-uuid": "0.0.0-experimental-20260720135014",
|
|
66
|
+
"@lowdefy/operators-yaml": "0.0.0-experimental-20260720135014",
|
|
67
|
+
"@lowdefy/plugin-next-auth": "0.0.0-experimental-20260720135014",
|
|
41
68
|
"@ant-design/cssinjs": "2.1.2",
|
|
42
69
|
"@ant-design/x": "2.7.0",
|
|
43
|
-
"@better-auth/passkey": "1.6.23",
|
|
44
|
-
"@hono/mcp": "0.3.0",
|
|
45
|
-
"@hono/node-server": "2.0.4",
|
|
46
|
-
"@hono/vite-dev-server": "0.26.0",
|
|
47
|
-
"@lowdefy/actions-core": "0.0.0-experimental-20260720072521",
|
|
48
|
-
"@lowdefy/api": "0.0.0-experimental-20260720072521",
|
|
49
|
-
"@lowdefy/block-utils": "0.0.0-experimental-20260720072521",
|
|
50
|
-
"@lowdefy/blocks-aggrid": "0.0.0-experimental-20260720072521",
|
|
51
|
-
"@lowdefy/blocks-antd": "0.0.0-experimental-20260720072521",
|
|
52
|
-
"@lowdefy/blocks-antd-x": "0.0.0-experimental-20260720072521",
|
|
53
|
-
"@lowdefy/blocks-basic": "0.0.0-experimental-20260720072521",
|
|
54
|
-
"@lowdefy/blocks-captcha": "0.0.0-experimental-20260720072521",
|
|
55
|
-
"@lowdefy/blocks-echarts": "0.0.0-experimental-20260720072521",
|
|
56
|
-
"@lowdefy/blocks-loaders": "0.0.0-experimental-20260720072521",
|
|
57
|
-
"@lowdefy/blocks-markdown": "0.0.0-experimental-20260720072521",
|
|
58
|
-
"@lowdefy/blocks-tiptap": "0.0.0-experimental-20260720072521",
|
|
59
|
-
"@lowdefy/build": "0.0.0-experimental-20260720072521",
|
|
60
|
-
"@lowdefy/client": "0.0.0-experimental-20260720072521",
|
|
61
|
-
"@lowdefy/connection-axios-http": "0.0.0-experimental-20260720072521",
|
|
62
|
-
"@lowdefy/connection-mongodb": "0.0.0-experimental-20260720072521",
|
|
63
|
-
"@lowdefy/docs-content": "0.0.0-experimental-20260720072521",
|
|
64
|
-
"@lowdefy/engine": "0.0.0-experimental-20260720072521",
|
|
65
|
-
"@lowdefy/errors": "0.0.0-experimental-20260720072521",
|
|
66
|
-
"@lowdefy/helpers": "0.0.0-experimental-20260720072521",
|
|
67
|
-
"@lowdefy/layout": "0.0.0-experimental-20260720072521",
|
|
68
|
-
"@lowdefy/logger": "0.0.0-experimental-20260720072521",
|
|
69
|
-
"@lowdefy/node-utils": "0.0.0-experimental-20260720072521",
|
|
70
|
-
"@lowdefy/operators-change-case": "0.0.0-experimental-20260720072521",
|
|
71
|
-
"@lowdefy/operators-dayjs": "0.0.0-experimental-20260720072521",
|
|
72
|
-
"@lowdefy/operators-diff": "0.0.0-experimental-20260720072521",
|
|
73
|
-
"@lowdefy/operators-js": "0.0.0-experimental-20260720072521",
|
|
74
|
-
"@lowdefy/operators-mql": "0.0.0-experimental-20260720072521",
|
|
75
|
-
"@lowdefy/operators-nunjucks": "0.0.0-experimental-20260720072521",
|
|
76
|
-
"@lowdefy/operators-uuid": "0.0.0-experimental-20260720072521",
|
|
77
|
-
"@lowdefy/operators-yaml": "0.0.0-experimental-20260720072521",
|
|
78
|
-
"@lowdefy/plugin-better-auth": "0.0.0-experimental-20260720072521",
|
|
79
|
-
"@lowdefy/websockets-core": "0.0.0-experimental-20260720072521",
|
|
80
|
-
"@modelcontextprotocol/sdk": "1.29.0",
|
|
81
|
-
"@tailwindcss/postcss": "4.3.1",
|
|
82
|
-
"@vitejs/plugin-react": "6.0.2",
|
|
83
70
|
"antd": "6.3.1",
|
|
84
|
-
"
|
|
71
|
+
"dayjs": "1.11.19",
|
|
85
72
|
"chokidar": "3.5.3",
|
|
86
|
-
"dayjs": "1.11.20",
|
|
87
73
|
"dotenv": "16.3.1",
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"opener": "1.5.2",
|
|
91
|
-
"pino": "10.3.1",
|
|
92
|
-
"playwright-core": "1.59.1",
|
|
74
|
+
"@tailwindcss/postcss": "4.2.1",
|
|
75
|
+
"next": "16.1.6",
|
|
93
76
|
"postcss": "8.5.6",
|
|
77
|
+
"tailwindcss": "4.2.1",
|
|
78
|
+
"next-auth": "4.24.10",
|
|
79
|
+
"opener": "1.5.2",
|
|
80
|
+
"pino": "8.16.2",
|
|
94
81
|
"process": "0.11.10",
|
|
95
82
|
"react": "18.2.0",
|
|
96
83
|
"react-dom": "18.2.0",
|
|
97
84
|
"react-icons": "5.6.0",
|
|
98
85
|
"swr": "2.2.4",
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"vite": "8.0.16",
|
|
103
|
-
"ws": "8.18.0",
|
|
104
|
-
"yaml": "2.9.0",
|
|
105
|
-
"yargs": "18.0.0",
|
|
106
|
-
"zod": "3.25.76"
|
|
86
|
+
"uuid": "13.0.0",
|
|
87
|
+
"yaml": "2.3.4",
|
|
88
|
+
"yargs": "17.7.2"
|
|
107
89
|
},
|
|
108
90
|
"devDependencies": {
|
|
91
|
+
"@next/eslint-plugin-next": "16.1.6",
|
|
109
92
|
"jest": "28.1.3",
|
|
110
93
|
"webpack": "5.94.0"
|
|
111
94
|
},
|
|
112
95
|
"engines": {
|
|
113
|
-
"node": ">=
|
|
96
|
+
"node": ">=18"
|
|
114
97
|
},
|
|
115
98
|
"publishConfig": {
|
|
116
99
|
"access": "public"
|
|
117
100
|
},
|
|
118
|
-
"type": "module",
|
|
119
101
|
"scripts": {
|
|
120
102
|
"build": "cp package.json package.original.json || copy package.json package.original.json",
|
|
121
103
|
"start": "node manager/run.mjs",
|
|
104
|
+
"lint": "next lint",
|
|
105
|
+
"next": "next",
|
|
122
106
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
|
|
123
107
|
}
|
|
124
108
|
}
|
package/package.original.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lowdefy/server-dev",
|
|
3
|
-
"version": "0.0.0-experimental-
|
|
3
|
+
"version": "0.0.0-experimental-20260720135014",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"homepage": "https://lowdefy.com",
|
|
@@ -28,98 +28,87 @@
|
|
|
28
28
|
"files": [
|
|
29
29
|
"lib/*",
|
|
30
30
|
"manager/*",
|
|
31
|
+
"pages/*",
|
|
31
32
|
"public_default/*",
|
|
33
|
+
"next.config.js",
|
|
32
34
|
"package.original.json",
|
|
33
35
|
".eslintrc.yaml",
|
|
34
|
-
".npmrc"
|
|
35
|
-
"src/*",
|
|
36
|
-
"client/*",
|
|
37
|
-
"vite.config.js",
|
|
38
|
-
"postcss.config.cjs"
|
|
36
|
+
".npmrc"
|
|
39
37
|
],
|
|
40
38
|
"scripts": {
|
|
41
39
|
"build": "cp package.json package.original.json || copy package.json package.original.json",
|
|
42
|
-
"prepublishOnly": "pnpm build",
|
|
43
40
|
"start": "node manager/run.mjs",
|
|
44
|
-
"
|
|
41
|
+
"lint": "next lint",
|
|
42
|
+
"next": "next",
|
|
43
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
44
|
+
"prepublishOnly": "pnpm build"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@lowdefy/actions-core": "0.0.0-experimental-20260720135014",
|
|
48
|
+
"@lowdefy/api": "0.0.0-experimental-20260720135014",
|
|
49
|
+
"@lowdefy/block-utils": "0.0.0-experimental-20260720135014",
|
|
50
|
+
"@lowdefy/blocks-aggrid": "0.0.0-experimental-20260720135014",
|
|
51
|
+
"@lowdefy/blocks-antd": "0.0.0-experimental-20260720135014",
|
|
52
|
+
"@lowdefy/blocks-antd-x": "0.0.0-experimental-20260720135014",
|
|
53
|
+
"@lowdefy/blocks-basic": "0.0.0-experimental-20260720135014",
|
|
54
|
+
"@lowdefy/blocks-echarts": "0.0.0-experimental-20260720135014",
|
|
55
|
+
"@lowdefy/blocks-loaders": "0.0.0-experimental-20260720135014",
|
|
56
|
+
"@lowdefy/blocks-markdown": "0.0.0-experimental-20260720135014",
|
|
57
|
+
"@lowdefy/blocks-tiptap": "0.0.0-experimental-20260720135014",
|
|
58
|
+
"@lowdefy/build": "0.0.0-experimental-20260720135014",
|
|
59
|
+
"@lowdefy/client": "0.0.0-experimental-20260720135014",
|
|
60
|
+
"@lowdefy/connection-axios-http": "0.0.0-experimental-20260720135014",
|
|
61
|
+
"@lowdefy/engine": "0.0.0-experimental-20260720135014",
|
|
62
|
+
"@lowdefy/errors": "0.0.0-experimental-20260720135014",
|
|
63
|
+
"@lowdefy/helpers": "0.0.0-experimental-20260720135014",
|
|
64
|
+
"@lowdefy/layout": "0.0.0-experimental-20260720135014",
|
|
65
|
+
"@lowdefy/logger": "0.0.0-experimental-20260720135014",
|
|
66
|
+
"@lowdefy/node-utils": "0.0.0-experimental-20260720135014",
|
|
67
|
+
"@lowdefy/operators-change-case": "0.0.0-experimental-20260720135014",
|
|
68
|
+
"@lowdefy/operators-dayjs": "0.0.0-experimental-20260720135014",
|
|
69
|
+
"@lowdefy/operators-diff": "0.0.0-experimental-20260720135014",
|
|
70
|
+
"@lowdefy/operators-js": "0.0.0-experimental-20260720135014",
|
|
71
|
+
"@lowdefy/operators-mql": "0.0.0-experimental-20260720135014",
|
|
72
|
+
"@lowdefy/operators-nunjucks": "0.0.0-experimental-20260720135014",
|
|
73
|
+
"@lowdefy/operators-uuid": "0.0.0-experimental-20260720135014",
|
|
74
|
+
"@lowdefy/operators-yaml": "0.0.0-experimental-20260720135014",
|
|
75
|
+
"@lowdefy/plugin-next-auth": "0.0.0-experimental-20260720135014",
|
|
47
76
|
"@ant-design/cssinjs": "2.1.2",
|
|
48
77
|
"@ant-design/x": "2.7.0",
|
|
49
|
-
"@better-auth/passkey": "1.6.23",
|
|
50
|
-
"@hono/mcp": "0.3.0",
|
|
51
|
-
"@hono/node-server": "2.0.4",
|
|
52
|
-
"@hono/vite-dev-server": "0.26.0",
|
|
53
|
-
"@lowdefy/actions-core": "0.0.0-experimental-20260720072521",
|
|
54
|
-
"@lowdefy/api": "0.0.0-experimental-20260720072521",
|
|
55
|
-
"@lowdefy/block-utils": "0.0.0-experimental-20260720072521",
|
|
56
|
-
"@lowdefy/blocks-aggrid": "0.0.0-experimental-20260720072521",
|
|
57
|
-
"@lowdefy/blocks-antd": "0.0.0-experimental-20260720072521",
|
|
58
|
-
"@lowdefy/blocks-antd-x": "0.0.0-experimental-20260720072521",
|
|
59
|
-
"@lowdefy/blocks-basic": "0.0.0-experimental-20260720072521",
|
|
60
|
-
"@lowdefy/blocks-captcha": "0.0.0-experimental-20260720072521",
|
|
61
|
-
"@lowdefy/blocks-echarts": "0.0.0-experimental-20260720072521",
|
|
62
|
-
"@lowdefy/blocks-loaders": "0.0.0-experimental-20260720072521",
|
|
63
|
-
"@lowdefy/blocks-markdown": "0.0.0-experimental-20260720072521",
|
|
64
|
-
"@lowdefy/blocks-tiptap": "0.0.0-experimental-20260720072521",
|
|
65
|
-
"@lowdefy/build": "0.0.0-experimental-20260720072521",
|
|
66
|
-
"@lowdefy/client": "0.0.0-experimental-20260720072521",
|
|
67
|
-
"@lowdefy/connection-axios-http": "0.0.0-experimental-20260720072521",
|
|
68
|
-
"@lowdefy/connection-mongodb": "0.0.0-experimental-20260720072521",
|
|
69
|
-
"@lowdefy/docs-content": "0.0.0-experimental-20260720072521",
|
|
70
|
-
"@lowdefy/engine": "0.0.0-experimental-20260720072521",
|
|
71
|
-
"@lowdefy/errors": "0.0.0-experimental-20260720072521",
|
|
72
|
-
"@lowdefy/helpers": "0.0.0-experimental-20260720072521",
|
|
73
|
-
"@lowdefy/layout": "0.0.0-experimental-20260720072521",
|
|
74
|
-
"@lowdefy/logger": "0.0.0-experimental-20260720072521",
|
|
75
|
-
"@lowdefy/node-utils": "0.0.0-experimental-20260720072521",
|
|
76
|
-
"@lowdefy/operators-change-case": "0.0.0-experimental-20260720072521",
|
|
77
|
-
"@lowdefy/operators-dayjs": "0.0.0-experimental-20260720072521",
|
|
78
|
-
"@lowdefy/operators-diff": "0.0.0-experimental-20260720072521",
|
|
79
|
-
"@lowdefy/operators-js": "0.0.0-experimental-20260720072521",
|
|
80
|
-
"@lowdefy/operators-mql": "0.0.0-experimental-20260720072521",
|
|
81
|
-
"@lowdefy/operators-nunjucks": "0.0.0-experimental-20260720072521",
|
|
82
|
-
"@lowdefy/operators-uuid": "0.0.0-experimental-20260720072521",
|
|
83
|
-
"@lowdefy/operators-yaml": "0.0.0-experimental-20260720072521",
|
|
84
|
-
"@lowdefy/plugin-better-auth": "0.0.0-experimental-20260720072521",
|
|
85
|
-
"@lowdefy/websockets-core": "0.0.0-experimental-20260720072521",
|
|
86
|
-
"@modelcontextprotocol/sdk": "1.29.0",
|
|
87
|
-
"@tailwindcss/postcss": "4.3.1",
|
|
88
|
-
"@vitejs/plugin-react": "6.0.2",
|
|
89
78
|
"antd": "6.3.1",
|
|
90
|
-
"
|
|
79
|
+
"dayjs": "1.11.19",
|
|
91
80
|
"chokidar": "3.5.3",
|
|
92
|
-
"dayjs": "1.11.20",
|
|
93
81
|
"dotenv": "16.3.1",
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"opener": "1.5.2",
|
|
97
|
-
"pino": "10.3.1",
|
|
98
|
-
"playwright-core": "1.59.1",
|
|
82
|
+
"@tailwindcss/postcss": "4.2.1",
|
|
83
|
+
"next": "16.1.6",
|
|
99
84
|
"postcss": "8.5.6",
|
|
85
|
+
"tailwindcss": "4.2.1",
|
|
86
|
+
"next-auth": "4.24.10",
|
|
87
|
+
"opener": "1.5.2",
|
|
88
|
+
"pino": "8.16.2",
|
|
100
89
|
"process": "0.11.10",
|
|
101
90
|
"react": "18.2.0",
|
|
102
91
|
"react-dom": "18.2.0",
|
|
103
92
|
"react-icons": "5.6.0",
|
|
104
93
|
"swr": "2.2.4",
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"vite": "8.0.16",
|
|
109
|
-
"ws": "8.18.0",
|
|
110
|
-
"yaml": "2.9.0",
|
|
111
|
-
"yargs": "18.0.0",
|
|
112
|
-
"zod": "3.25.76"
|
|
94
|
+
"uuid": "13.0.0",
|
|
95
|
+
"yaml": "2.3.4",
|
|
96
|
+
"yargs": "17.7.2"
|
|
113
97
|
},
|
|
114
98
|
"devDependencies": {
|
|
99
|
+
"@next/eslint-plugin-next": "16.1.6",
|
|
115
100
|
"jest": "28.1.3",
|
|
116
101
|
"webpack": "5.94.0"
|
|
117
102
|
},
|
|
118
103
|
"engines": {
|
|
119
|
-
"node": ">=
|
|
104
|
+
"node": ">=18"
|
|
105
|
+
},
|
|
106
|
+
"pnpm": {
|
|
107
|
+
"onlyBuiltDependencies": [
|
|
108
|
+
"better-sqlite3"
|
|
109
|
+
]
|
|
120
110
|
},
|
|
121
111
|
"publishConfig": {
|
|
122
112
|
"access": "public"
|
|
123
|
-
}
|
|
124
|
-
"type": "module"
|
|
113
|
+
}
|
|
125
114
|
}
|
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
return c.json({ directories: { config: process.env.LOWDEFY_DIRECTORY_CONFIG } });
|
|
19
|
-
}
|
|
17
|
+
import App from '../lib/client/App.js';
|
|
20
18
|
|
|
21
|
-
export default
|
|
19
|
+
export default App;
|
|
@@ -14,10 +14,6 @@
|
|
|
14
14
|
limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
import App from '../lib/client/App.js';
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
return c.json(getAppMap());
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export default docsAppMapHandler;
|
|
19
|
+
export default App;
|