@sjcx/vorma 0.0.0-pre.2 → 0.0.0-pre.4
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/dist/build/assemble-artifacts.d.ts +1 -1
- package/dist/build/bundle-client.d.ts +1 -1
- package/dist/build/cli.js +53 -44
- package/dist/build/compile-application.d.ts +2 -2
- package/dist/build/development-artifacts.d.ts +1 -1
- package/dist/build/development-build.d.ts +3 -6
- package/dist/build/development-server-process.d.ts +3 -3
- package/dist/build/development-work.d.ts +4 -3
- package/dist/build/generate-application.d.ts +4 -4
- package/dist/build/index.d.ts +2 -3
- package/dist/build/index.js +1 -1
- package/dist/build/inspect-projects.d.ts +3 -3
- package/dist/build/load-config.d.ts +17 -16
- package/dist/build/publish-artifacts.d.ts +1 -4
- package/dist/build/render-client-transport.d.ts +1 -1
- package/dist/build/render-server-generated.d.ts +1 -12
- package/dist/build/render-types.d.ts +1 -1
- package/dist/build/resolve-config.d.ts +6 -9
- package/dist/build/source-layout.d.ts +2 -2
- package/dist/build/typescript-projects.d.ts +5 -0
- package/dist/{build-DcP5_DUV.js → build-BeUTL6eX.js} +104 -301
- package/package.json +5 -36
- package/dist/build/compile-server.d.ts +0 -42
- package/dist/client/assembly.d.ts +0 -40
- package/dist/client/browser-http-client.d.ts +0 -10
- package/dist/client/client-loaders.d.ts +0 -93
- package/dist/client/commit.d.ts +0 -41
- package/dist/client/contracts.d.ts +0 -192
- package/dist/client/core.d.ts +0 -45
- package/dist/client/development.d.ts +0 -16
- package/dist/client/document-recovery.d.ts +0 -4
- package/dist/client/endpoints.d.ts +0 -54
- package/dist/client/errors.d.ts +0 -87
- package/dist/client/freshness.d.ts +0 -51
- package/dist/client/head.d.ts +0 -14
- package/dist/client/history.d.ts +0 -25
- package/dist/client/index.d.ts +0 -80
- package/dist/client/index.js +0 -150
- package/dist/client/links.d.ts +0 -48
- package/dist/client/materialize.d.ts +0 -21
- package/dist/client/modules.d.ts +0 -2
- package/dist/client/navigation.d.ts +0 -47
- package/dist/client/payload.d.ts +0 -54
- package/dist/client/prefetch.d.ts +0 -28
- package/dist/client/prepare.d.ts +0 -47
- package/dist/client/projections.d.ts +0 -26
- package/dist/client/queries.d.ts +0 -33
- package/dist/client/react/application.d.ts +0 -87
- package/dist/client/react/hooks.d.ts +0 -36
- package/dist/client/react/index.d.ts +0 -5
- package/dist/client/react/index.js +0 -3237
- package/dist/client/react/link.d.ts +0 -27
- package/dist/client/react/view.d.ts +0 -86
- package/dist/client/request.d.ts +0 -16
- package/dist/client/route-context.d.ts +0 -31
- package/dist/client/route-matching.d.ts +0 -22
- package/dist/client/route-synchronization.d.ts +0 -30
- package/dist/client/route-url.d.ts +0 -5
- package/dist/client/runtime.d.ts +0 -82
- package/dist/client/scroll.d.ts +0 -16
- package/dist/client/services.d.ts +0 -34
- package/dist/client/state.d.ts +0 -102
- package/dist/client/static-assets.d.ts +0 -3
- package/dist/client/stylesheets.d.ts +0 -7
- package/dist/client/transport-type-entries.d.ts +0 -2
- package/dist/client/types.d.ts +0 -152
- package/dist/client/view-definition.d.ts +0 -24
- package/dist/client/work-indicator.d.ts +0 -18
- package/dist/compile-Me8EOyMK.js +0 -870
- package/dist/development-B_rxuwY7.js +0 -128
- package/dist/hash-set-BPx3iXec.js +0 -141
- package/dist/href-Cqyax8Y0.js +0 -357
- package/dist/materialize-DZ7VSLFk.js +0 -739
- package/dist/metadata-BoPKo-G2.js +0 -32
- package/dist/primitives/tasks/index.d.ts +0 -1
- package/dist/primitives/tasks/index.js +0 -1
- package/dist/route-context-CtY_9U_W.js +0 -559
- package/dist/route-matching-D_uSG2P9.js +0 -33
- package/dist/search-parse-0f7oqVsG.js +0 -375
- package/dist/server/config/index.d.ts +0 -36
- package/dist/server/config/index.js +0 -30
- package/dist/server/development/metadata.d.ts +0 -11
- package/dist/server/document.d.ts +0 -37
- package/dist/server/form-data.d.ts +0 -21
- package/dist/server/graph/compile.d.ts +0 -118
- package/dist/server/graph/declarations.d.ts +0 -117
- package/dist/server/graph/literal-error-tag.d.ts +0 -14
- package/dist/server/graph/pattern-conflicts.d.ts +0 -36
- package/dist/server/graph/search-schema.d.ts +0 -13
- package/dist/server/graph/transport-schema.d.ts +0 -11
- package/dist/server/index.d.ts +0 -310
- package/dist/server/index.js +0 -2311
- package/dist/server/public-assets.d.ts +0 -18
- package/dist/server/runtime/application.d.ts +0 -15
- package/dist/server/runtime/assets.d.ts +0 -15
- package/dist/server/runtime/context.d.ts +0 -96
- package/dist/server/runtime/domain-errors.d.ts +0 -11
- package/dist/server/runtime/effects.d.ts +0 -83
- package/dist/server/runtime/execute.d.ts +0 -13
- package/dist/server/runtime/finalize.d.ts +0 -44
- package/dist/server/runtime/handler.d.ts +0 -106
- package/dist/server/runtime/head.d.ts +0 -22
- package/dist/server/runtime/payload.d.ts +0 -50
- package/dist/server/runtime/pipeline.d.ts +0 -27
- package/dist/server/runtime/plan.d.ts +0 -98
- package/dist/server/runtime/render-document.d.ts +0 -16
- package/dist/server/runtime/startup-error.d.ts +0 -11
- package/dist/server/runtime/transport-type-entries.d.ts +0 -2
- package/dist/server/runtime/vercel-deployment.d.ts +0 -2
- package/dist/server/url-pathname.d.ts +0 -13
- package/dist/static-assets-BrH3O0M8.js +0 -199
- package/dist/universal/generated-types.d.ts +0 -9
- package/dist/universal/href.d.ts +0 -17
- package/dist/universal/http-method.d.ts +0 -4
- package/dist/universal/json-transport.d.ts +0 -14
- package/dist/universal/null-prototype-record.d.ts +0 -7
- package/dist/universal/path-wire.d.ts +0 -71
- package/dist/universal/pattern-language.d.ts +0 -4
- package/dist/universal/protocol-schemas.d.ts +0 -99
- package/dist/universal/protocol.d.ts +0 -162
- package/dist/universal/search-grammar.d.ts +0 -7
- package/dist/universal/search-parse.d.ts +0 -22
- package/dist/universal/search-serialize.d.ts +0 -16
- package/dist/universal/search-shape.d.ts +0 -32
- package/dist/universal/static-assets.d.ts +0 -2
- package/dist/universal/transport-types/big-decimal.d.ts +0 -13
- package/dist/universal/transport-types/chunk.d.ts +0 -8
- package/dist/universal/transport-types/date-time-utc.d.ts +0 -13
- package/dist/universal/transport-types/date-time-zoned.d.ts +0 -13
- package/dist/universal/transport-types/duration.d.ts +0 -13
- package/dist/universal/transport-types/hash-map.d.ts +0 -8
- package/dist/universal/transport-types/hash-set.d.ts +0 -8
- package/dist/universal/transport-types/option.d.ts +0 -10
- package/dist/universal/transport-types/redacted.d.ts +0 -9
- package/dist/universal/value-transport.d.ts +0 -117
- package/dist/value-transport-Bst4Hk-n.js +0 -864
- /package/dist/{universal → build}/content-digest.d.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { type ProductionBuildMetadata } from "@vorma/protocol";
|
|
1
2
|
import { Effect } from "effect";
|
|
2
|
-
import { type ProductionBuildMetadata } from "../universal/protocol.ts";
|
|
3
3
|
import type { ClientBundle } from "./bundle-client.ts";
|
|
4
4
|
import type { ApplicationGeneration } from "./generate-application.ts";
|
|
5
5
|
export type ApplicationArtifact = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { type ClientModule, type ClientViewModule } from "@vorma/protocol";
|
|
1
2
|
import { Effect } from "effect";
|
|
2
3
|
import * as FileSystem from "effect/FileSystem";
|
|
3
4
|
import * as Path from "effect/Path";
|
|
4
|
-
import { type ClientModule, type ClientViewModule } from "../universal/protocol.ts";
|
|
5
5
|
import type { ApplicationGeneration } from "./generate-application.ts";
|
|
6
6
|
export type ClientBundleIssue = {
|
|
7
7
|
readonly _tag: "ClientBundleIssue";
|
package/dist/build/cli.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as
|
|
3
|
-
import { g as DEVELOPMENT_PROTOCOL, y as FRAMEWORK_IDENTITY_PROTOCOL } from "../value-transport-Bst4Hk-n.js";
|
|
2
|
+
import { C as projectBrowserContracts, S as getClientViewEntries, _ as createCssPublicAssets, a as acquireOutputOwnership, b as toContentDigest, c as writeAndCheckApplicationGeneration, d as readTypescriptProjectRoots, f as runTypescriptOperation, g as containsRelativePath, h as resolveVormaConfig, i as publishApplicationArtifacts, l as collectPublicAssets, m as getGeneratedSourceDirectories, n as loadApplicationSourceLayout, o as checkOutputPath, p as withTypescriptProjects, r as preparePublicOutput, s as assembleApplicationGeneration, t as buildApplication, u as inspectProjects, v as createClientPublicUrlPlugin, x as CLIENT_SHARED_PACKAGES, y as encodeCanonicalJson } from "../build-BeUTL6eX.js";
|
|
4
3
|
import { t as VORMA_BUILD_PLUGIN_NAME } from "../build-invocation-D7Fu8gBK.js";
|
|
5
|
-
import { VormaConfigSchema } from "../server/config/index.js";
|
|
6
4
|
import { NodeChildProcessSpawner, NodeCrypto, NodeFileSystem, NodePath, NodeRuntime, NodeSocketServer, NodeStdio, NodeTerminal } from "@effect/platform-node-shared";
|
|
7
5
|
import { Cause, Console, Deferred, Effect, Exit, Fiber, FileSystem, Layer, Path, Queue, Result, Schedule, Schema, ScopedRef, Stream } from "effect";
|
|
8
6
|
import { Command, Flag } from "effect/unstable/cli";
|
|
9
7
|
import { createFilter, createServer, loadConfigFromFile, normalizePath } from "vite";
|
|
10
|
-
import {
|
|
8
|
+
import { DEVELOPMENT_PROTOCOL, FRAMEWORK_IDENTITY_PROTOCOL } from "@vorma/protocol";
|
|
11
9
|
import { RolldownMagicString } from "rolldown";
|
|
10
|
+
import { dirname, isAbsolute, posix, relative, sep } from "node:path";
|
|
12
11
|
import { createServer as createServer$1 } from "node:http";
|
|
12
|
+
import { VormaConfigSchema } from "@vorma/server/config";
|
|
13
13
|
import { FetchHttpClient, HttpClient } from "effect/unstable/http";
|
|
14
14
|
import { ChildProcess } from "effect/unstable/process";
|
|
15
15
|
import { watch } from "chokidar";
|
|
@@ -136,7 +136,7 @@ function readDevelopmentStylesheet(input) {
|
|
|
136
136
|
}
|
|
137
137
|
//#endregion
|
|
138
138
|
//#region src/build/development-build.ts
|
|
139
|
-
/** Prepares
|
|
139
|
+
/** Prepares native CSS after the generation's public-asset inputs exist. */
|
|
140
140
|
function prepareDevelopmentBuild(input) {
|
|
141
141
|
return Effect.gen(function* () {
|
|
142
142
|
const { generation, client, previous } = input;
|
|
@@ -144,24 +144,18 @@ function prepareDevelopmentBuild(input) {
|
|
|
144
144
|
const inputsChanged = previous === void 0 || previous.work.inspectSources || previous.work.capturePublicAssets;
|
|
145
145
|
return {
|
|
146
146
|
generation,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
} : yield* readDevelopmentStylesheet({
|
|
160
|
-
server: client.server,
|
|
161
|
-
filePath
|
|
162
|
-
});
|
|
163
|
-
})
|
|
164
|
-
}, { concurrency: 2 })
|
|
147
|
+
stylesheet: yield* Effect.gen(function* () {
|
|
148
|
+
if (previous !== void 0 && inputsChanged) client.updateInputsFn(toDevelopmentClientInputs(application, generation.sources));
|
|
149
|
+
if (previous !== void 0 && !previous.work.prepareCriticalCss) return previous.build.stylesheet;
|
|
150
|
+
const filePath = application.config.criticalCssEntryFilePath;
|
|
151
|
+
return filePath === void 0 ? {
|
|
152
|
+
css: "",
|
|
153
|
+
inputFilePaths: []
|
|
154
|
+
} : yield* readDevelopmentStylesheet({
|
|
155
|
+
server: client.server,
|
|
156
|
+
filePath
|
|
157
|
+
});
|
|
158
|
+
})
|
|
165
159
|
};
|
|
166
160
|
});
|
|
167
161
|
}
|
|
@@ -316,7 +310,10 @@ function startDevelopmentClient(inputs, port, recordChangeFn) {
|
|
|
316
310
|
return new RegExp(`^${normalizePath(file).replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}(?:\\?.*)?$`);
|
|
317
311
|
})]
|
|
318
312
|
},
|
|
319
|
-
optimizeDeps: {
|
|
313
|
+
optimizeDeps: {
|
|
314
|
+
exclude: [FRAMEWORK_IDENTITY_PROTOCOL.moduleSpecifiers.clientTransportTypes],
|
|
315
|
+
entries: [inputs.clientEntryFilePath, ...inputs.clientViewModules]
|
|
316
|
+
},
|
|
320
317
|
server: {
|
|
321
318
|
middlewareMode: true,
|
|
322
319
|
origin: listener.origin,
|
|
@@ -578,7 +575,10 @@ function prepareDevelopmentGeneration(input) {
|
|
|
578
575
|
inspection: prepared.sources.inspection,
|
|
579
576
|
publicAssets: prepared.publicAssets
|
|
580
577
|
});
|
|
581
|
-
if (previous === void 0 || previous.work.inspectSources || previous.work.capturePublicAssets) yield* writeAndCheckApplicationGeneration(application
|
|
578
|
+
if (previous === void 0 || previous.work.inspectSources || previous.work.capturePublicAssets) yield* writeAndCheckApplicationGeneration(application, previous === void 0 || previous.work.inspectSources ? {
|
|
579
|
+
server: prepared.sources.inputs.serverRootFiles,
|
|
580
|
+
client: prepared.sources.inputs.clientRootFiles
|
|
581
|
+
} : void 0);
|
|
582
582
|
return {
|
|
583
583
|
application,
|
|
584
584
|
sources: prepared.sources.inputs
|
|
@@ -636,10 +636,12 @@ function getDevelopmentServerPort() {
|
|
|
636
636
|
return address.port;
|
|
637
637
|
}));
|
|
638
638
|
}
|
|
639
|
-
/** Runs the
|
|
639
|
+
/** Runs the configured server command; its Effect scope owns process termination. */
|
|
640
640
|
function startDevelopmentServerProcess(input) {
|
|
641
641
|
return Effect.gen(function* () {
|
|
642
|
-
const
|
|
642
|
+
const [executable, ...args] = input.command;
|
|
643
|
+
const process = yield* ChildProcess.make(executable, args, {
|
|
644
|
+
cwd: input.configDirectory,
|
|
643
645
|
env: { [DEVELOPMENT_PROTOCOL.serverPortEnvironmentVariable]: String(input.port) },
|
|
644
646
|
extendEnv: true,
|
|
645
647
|
stdin: "ignore",
|
|
@@ -823,7 +825,8 @@ function classifyDevelopmentChanges(input) {
|
|
|
823
825
|
const revalidate = compileDevelopmentPatterns(layout.dev?.revalidateClientOnChange ?? []);
|
|
824
826
|
let restartConfiguration = false;
|
|
825
827
|
let inspectSources = false;
|
|
826
|
-
let
|
|
828
|
+
let restartServer = false;
|
|
829
|
+
let restartVite = false;
|
|
827
830
|
let capturePublicAssets = false;
|
|
828
831
|
let prepareCriticalCss = false;
|
|
829
832
|
let revalidateClient = false;
|
|
@@ -835,7 +838,8 @@ function classifyDevelopmentChanges(input) {
|
|
|
835
838
|
const clientSource = inputs.sources.clientFiles.has(filePath) || inputs.sources.clientRootFiles.has(filePath);
|
|
836
839
|
const resolutionSource = inputs.sources.resolutionFiles.has(filePath);
|
|
837
840
|
inspectSources ||= serverSource || clientSource || resolutionSource;
|
|
838
|
-
|
|
841
|
+
restartServer ||= serverSource || resolutionSource;
|
|
842
|
+
restartVite ||= resolutionSource;
|
|
839
843
|
capturePublicAssets ||= containsFilePath({
|
|
840
844
|
path,
|
|
841
845
|
directory: layout.publicAssetsSourceDirectory,
|
|
@@ -855,12 +859,13 @@ function classifyDevelopmentChanges(input) {
|
|
|
855
859
|
const serverMembershipChanged = differsFromPreviousFiles(inputs.sources.serverRootFiles, roots.server);
|
|
856
860
|
const clientMembershipChanged = differsFromPreviousFiles(inputs.sources.clientRootFiles, roots.client);
|
|
857
861
|
inspectSources ||= serverMembershipChanged || clientMembershipChanged;
|
|
858
|
-
|
|
862
|
+
restartServer ||= serverMembershipChanged;
|
|
859
863
|
}
|
|
860
864
|
return {
|
|
861
865
|
restartConfiguration,
|
|
862
866
|
inspectSources,
|
|
863
|
-
|
|
867
|
+
restartServer,
|
|
868
|
+
restartVite,
|
|
864
869
|
capturePublicAssets,
|
|
865
870
|
prepareCriticalCss: layout.criticalCssEntryFilePath !== void 0 && (prepareCriticalCss || capturePublicAssets),
|
|
866
871
|
revalidateClient
|
|
@@ -896,8 +901,16 @@ function loadDevelopmentConfig(configPath) {
|
|
|
896
901
|
};
|
|
897
902
|
}
|
|
898
903
|
});
|
|
904
|
+
const config = yield* Schema.decodeUnknownEffect(VormaConfigSchema)(loaded?.config);
|
|
905
|
+
if (config.dev === void 0) return yield* Effect.fail({
|
|
906
|
+
_tag: "ConfigLoadError",
|
|
907
|
+
message: "vorma dev requires dev.serverCommand in the Vorma configuration"
|
|
908
|
+
});
|
|
899
909
|
return {
|
|
900
|
-
config:
|
|
910
|
+
config: {
|
|
911
|
+
...config,
|
|
912
|
+
dev: config.dev
|
|
913
|
+
},
|
|
901
914
|
configFilePath,
|
|
902
915
|
dependencies: loaded?.dependencies ?? []
|
|
903
916
|
};
|
|
@@ -990,7 +1003,6 @@ function runDevelopmentSession(input) {
|
|
|
990
1003
|
yield* input.watcher.watchPathsFn({
|
|
991
1004
|
paths: [
|
|
992
1005
|
...input.loaded.dependencies,
|
|
993
|
-
path.dirname(resolved.serverEntryFilePath),
|
|
994
1006
|
path.dirname(resolved.clientEntryFilePath),
|
|
995
1007
|
path.dirname(resolved.serverTsconfigFilePath),
|
|
996
1008
|
path.dirname(resolved.clientTsconfigFilePath),
|
|
@@ -1062,7 +1074,8 @@ function runDevelopmentSession(input) {
|
|
|
1062
1074
|
};
|
|
1063
1075
|
const fiber = yield* Effect.scoped(Effect.gen(function* () {
|
|
1064
1076
|
const server = yield* startDevelopmentServerProcess({
|
|
1065
|
-
|
|
1077
|
+
command: input.loaded.config.dev.serverCommand,
|
|
1078
|
+
configDirectory: layout.configDirectory,
|
|
1066
1079
|
port: input.port
|
|
1067
1080
|
});
|
|
1068
1081
|
announced = true;
|
|
@@ -1096,7 +1109,6 @@ function runDevelopmentSession(input) {
|
|
|
1096
1109
|
return Effect.gen(function* () {
|
|
1097
1110
|
inputs = {
|
|
1098
1111
|
sources: next.generation.sources,
|
|
1099
|
-
serverFiles: new Set(next.server.inputFilePaths.map(normalizePath)),
|
|
1100
1112
|
criticalCssFiles: new Set(next.stylesheet.inputFilePaths.map(normalizePath)),
|
|
1101
1113
|
configurationFiles: new Set(input.loaded.dependencies.map(normalizePath)),
|
|
1102
1114
|
viteConfigurationFiles: new Set(client.server.config.configFileDependencies)
|
|
@@ -1109,7 +1121,6 @@ function runDevelopmentSession(input) {
|
|
|
1109
1121
|
yield* input.watcher.watchPathsFn({
|
|
1110
1122
|
paths: [
|
|
1111
1123
|
...sourcePaths,
|
|
1112
|
-
...inputs.serverFiles,
|
|
1113
1124
|
...inputs.criticalCssFiles,
|
|
1114
1125
|
...inputs.configurationFiles,
|
|
1115
1126
|
layout.configFilePath,
|
|
@@ -1123,7 +1134,6 @@ function runDevelopmentSession(input) {
|
|
|
1123
1134
|
}
|
|
1124
1135
|
yield* publishApplicationArtifacts({
|
|
1125
1136
|
generation: generation.application,
|
|
1126
|
-
server: build.server,
|
|
1127
1137
|
artifacts
|
|
1128
1138
|
});
|
|
1129
1139
|
yield* startApplication;
|
|
@@ -1150,7 +1160,7 @@ function runDevelopmentSession(input) {
|
|
|
1150
1160
|
if (preparingRevision === revision) pendingPaths.clear();
|
|
1151
1161
|
return;
|
|
1152
1162
|
}
|
|
1153
|
-
if (work.
|
|
1163
|
+
if (work.restartServer || work.restartConfiguration) notifyFn({ kind: "rebuilding" });
|
|
1154
1164
|
if (work.restartConfiguration) {
|
|
1155
1165
|
const next = yield* loadDevelopmentConfig(layout.configFilePath);
|
|
1156
1166
|
const nextLayout = yield* resolveVormaConfig(next).pipe(Effect.flatMap(loadApplicationSourceLayout));
|
|
@@ -1174,7 +1184,7 @@ function runDevelopmentSession(input) {
|
|
|
1174
1184
|
work
|
|
1175
1185
|
}
|
|
1176
1186
|
});
|
|
1177
|
-
})), work.
|
|
1187
|
+
})), work.restartServer ? stopApplication : Effect.void], { concurrency: 2 });
|
|
1178
1188
|
const previousArtifacts = artifacts;
|
|
1179
1189
|
head = yield* client.readHeadHtml;
|
|
1180
1190
|
const nextArtifacts = assembleDevelopmentArtifacts({
|
|
@@ -1182,14 +1192,13 @@ function runDevelopmentSession(input) {
|
|
|
1182
1192
|
client,
|
|
1183
1193
|
developmentHeadHtml: head
|
|
1184
1194
|
});
|
|
1185
|
-
const restartVite = work.
|
|
1186
|
-
const reload = restartVite || previousArtifacts.metadata.clientBuildId !== nextArtifacts.metadata.clientBuildId;
|
|
1195
|
+
const restartVite = work.restartVite || JSON.stringify(previousArtifacts.metadata.clientViews) !== JSON.stringify(nextArtifacts.metadata.clientViews);
|
|
1196
|
+
const reload = work.restartServer || restartVite || previousArtifacts.metadata.clientBuildId !== nextArtifacts.metadata.clientBuildId;
|
|
1187
1197
|
yield* publishApplicationArtifacts({
|
|
1188
1198
|
generation: next.generation.application,
|
|
1189
|
-
artifacts: nextArtifacts
|
|
1190
|
-
...work.compileServer ? { server: next.server } : {}
|
|
1199
|
+
artifacts: nextArtifacts
|
|
1191
1200
|
});
|
|
1192
|
-
if (work.
|
|
1201
|
+
if (work.restartServer) yield* startApplication;
|
|
1193
1202
|
client.resumeInspectionFn(reload);
|
|
1194
1203
|
if (restartVite) {
|
|
1195
1204
|
yield* client.restart;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CompiledNestedPattern, PatternCompileError } from "@vorma/primitives/matcher";
|
|
2
|
+
import { type ConflictingDynamicParameterNameError } from "@vorma/protocol/path";
|
|
3
|
+
import { type PathWireError } from "@vorma/protocol/path";
|
|
2
4
|
import { Result } from "effect";
|
|
3
|
-
import { type ConflictingDynamicParameterNameError } from "../server/graph/pattern-conflicts.ts";
|
|
4
|
-
import { type PathWireError } from "../universal/path-wire.ts";
|
|
5
5
|
import type { DeclarationSource, InspectedClientView, InspectedEndpoint, InspectedProjects, InspectedServerDeclaration, InspectedUiLoader } from "./inspect-projects.ts";
|
|
6
6
|
export type ApplicationSegment = {
|
|
7
7
|
/** The authored pattern, as the loader or the view wrote it. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientModule } from "
|
|
1
|
+
import type { ClientModule } from "@vorma/protocol";
|
|
2
2
|
import type { DevelopmentBuild, DevelopmentClient } from "./development-build.ts";
|
|
3
3
|
export declare function toDevelopmentModuleUrl(input: {
|
|
4
4
|
readonly origin: string;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import { type CompiledServer } from "./compile-server.ts";
|
|
3
2
|
import type { startDevelopmentClient } from "./development-client.ts";
|
|
4
3
|
import type { DevelopmentGeneration } from "./development-generation.ts";
|
|
5
4
|
import type { DevelopmentWork } from "./development-work.ts";
|
|
6
5
|
export type DevelopmentClient = Effect.Success<ReturnType<typeof startDevelopmentClient>>;
|
|
7
6
|
export type DevelopmentBuild = {
|
|
8
7
|
readonly generation: DevelopmentGeneration;
|
|
9
|
-
readonly server: CompiledServer;
|
|
10
8
|
readonly stylesheet: {
|
|
11
9
|
readonly css: string;
|
|
12
10
|
readonly inputFilePaths: ReadonlyArray<string>;
|
|
13
11
|
};
|
|
14
12
|
};
|
|
15
|
-
/** Prepares
|
|
13
|
+
/** Prepares native CSS after the generation's public-asset inputs exist. */
|
|
16
14
|
export declare function prepareDevelopmentBuild(input: {
|
|
17
15
|
readonly generation: DevelopmentGeneration;
|
|
18
16
|
readonly client: DevelopmentClient;
|
|
@@ -21,10 +19,9 @@ export declare function prepareDevelopmentBuild(input: {
|
|
|
21
19
|
readonly work: DevelopmentWork;
|
|
22
20
|
};
|
|
23
21
|
}): Effect.Effect<{
|
|
24
|
-
|
|
22
|
+
generation: DevelopmentGeneration;
|
|
25
23
|
stylesheet: {
|
|
26
24
|
readonly css: string;
|
|
27
25
|
readonly inputFilePaths: ReadonlyArray<string>;
|
|
28
26
|
};
|
|
29
|
-
|
|
30
|
-
}, import("./development-stylesheet.ts").DevelopmentStylesheetIssue | import("./compile-server.ts").ServerCompilationIssue, never>;
|
|
27
|
+
}, import("./development-stylesheet.ts").DevelopmentStylesheetIssue, never>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { ApplicationSourceLayout } from "./source-layout.ts";
|
|
3
2
|
export type DevelopmentServerExit = {
|
|
4
3
|
readonly _tag: "DevelopmentServerExit";
|
|
5
4
|
readonly exitCode: number;
|
|
@@ -10,9 +9,10 @@ export type DevelopmentServerReadinessIssue = {
|
|
|
10
9
|
};
|
|
11
10
|
/** Reserves a port until the enclosing allocation scope closes. */
|
|
12
11
|
export declare function getDevelopmentServerPort(): Effect.Effect<number, import("effect/unstable/socket/SocketServer").SocketServerError, import("effect/Scope").Scope>;
|
|
13
|
-
/** Runs the
|
|
12
|
+
/** Runs the configured server command; its Effect scope owns process termination. */
|
|
14
13
|
export declare function startDevelopmentServerProcess(input: {
|
|
15
|
-
readonly
|
|
14
|
+
readonly command: readonly [string, ...Array<string>];
|
|
15
|
+
readonly configDirectory: string;
|
|
16
16
|
readonly port: number;
|
|
17
17
|
}): Effect.Effect<{
|
|
18
18
|
process: import("effect/unstable/process/ChildProcessSpawner").ChildProcessHandle;
|
|
@@ -5,14 +5,14 @@ import type { ApplicationSourceLayout } from "./source-layout.ts";
|
|
|
5
5
|
export type DevelopmentWork = {
|
|
6
6
|
readonly restartConfiguration: boolean;
|
|
7
7
|
readonly inspectSources: boolean;
|
|
8
|
-
readonly
|
|
8
|
+
readonly restartServer: boolean;
|
|
9
|
+
readonly restartVite: boolean;
|
|
9
10
|
readonly capturePublicAssets: boolean;
|
|
10
11
|
readonly prepareCriticalCss: boolean;
|
|
11
12
|
readonly revalidateClient: boolean;
|
|
12
13
|
};
|
|
13
14
|
export type DevelopmentInputs = {
|
|
14
15
|
readonly sources: DevelopmentSourceInputs;
|
|
15
|
-
readonly serverFiles: ReadonlySet<string>;
|
|
16
16
|
readonly configurationFiles: ReadonlySet<string>;
|
|
17
17
|
readonly viteConfigurationFiles: ReadonlySet<string>;
|
|
18
18
|
readonly criticalCssFiles: ReadonlySet<string>;
|
|
@@ -25,7 +25,8 @@ export declare function classifyDevelopmentChanges(input: {
|
|
|
25
25
|
}): Effect.Effect<{
|
|
26
26
|
restartConfiguration: boolean;
|
|
27
27
|
inspectSources: boolean;
|
|
28
|
-
|
|
28
|
+
restartServer: boolean;
|
|
29
|
+
restartVite: boolean;
|
|
29
30
|
capturePublicAssets: boolean;
|
|
30
31
|
prepareCriticalCss: boolean;
|
|
31
32
|
revalidateClient: boolean;
|
|
@@ -7,7 +7,7 @@ import { type PublicAssetIssue, type PublicAssetProjection } from "./public-asse
|
|
|
7
7
|
import type { GeneratedSource } from "./render-source-text.ts";
|
|
8
8
|
import type { ConfigResolutionError } from "./resolve-config.ts";
|
|
9
9
|
import type { ApplicationSourceLayout, ApplicationSourceLayoutIssues } from "./source-layout.ts";
|
|
10
|
-
import { type TypescriptProjectError } from "./typescript-projects.ts";
|
|
10
|
+
import { type TypescriptProjectRoots, type TypescriptProjectError } from "./typescript-projects.ts";
|
|
11
11
|
export type ApplicationModelIssues = {
|
|
12
12
|
readonly _tag: "ApplicationModelIssues";
|
|
13
13
|
readonly issues: ReadonlyArray<ApplicationModelIssue>;
|
|
@@ -29,14 +29,14 @@ export type ApplicationGeneration = {
|
|
|
29
29
|
readonly config: ApplicationSourceLayout;
|
|
30
30
|
readonly model: ApplicationModel;
|
|
31
31
|
readonly inspection: InspectedProjects;
|
|
32
|
-
/** The declaration augmenting
|
|
32
|
+
/** The declaration augmenting `@vorma/client` with this application's contracts: types only. */
|
|
33
33
|
readonly clientContracts: GeneratedSource;
|
|
34
34
|
/** Runtime adapters for the Effect data types that occur in this application's contracts. */
|
|
35
35
|
readonly clientTransport: GeneratedSource;
|
|
36
36
|
readonly publicAssets: PublicAssetProjection;
|
|
37
37
|
};
|
|
38
38
|
/** Writes correlated generated sources and verifies their native TypeScript inclusion. */
|
|
39
|
-
export declare function writeAndCheckApplicationGeneration(generation: ApplicationGeneration): Effect.Effect<void, GeneratedApplicationWriteError | TypescriptProjectError, FileSystem.FileSystem | Path.Path>;
|
|
39
|
+
export declare function writeAndCheckApplicationGeneration(generation: ApplicationGeneration, knownRootFiles?: TypescriptProjectRoots): Effect.Effect<void, GeneratedApplicationWriteError | TypescriptProjectError, FileSystem.FileSystem | Path.Path>;
|
|
40
40
|
/** Reads both projects through the checker, captures public assets, and prepares generated build inputs without publishing them. */
|
|
41
41
|
export declare function prepareApplicationGeneration(sourceLayout: ApplicationSourceLayout): Effect.Effect<ApplicationGeneration, ApplicationGenerationError, FileSystem.FileSystem | Path.Path>;
|
|
42
42
|
/** Reads declarations and public URL call sites independently of public asset hashing. */
|
|
@@ -55,7 +55,7 @@ export declare function assembleApplicationGeneration(input: {
|
|
|
55
55
|
export declare function writeApplicationGeneration(generation: ApplicationGeneration): Effect.Effect<void, GeneratedApplicationWriteError, FileSystem.FileSystem | Path.Path>;
|
|
56
56
|
/**
|
|
57
57
|
* Writes the internal registration module and the application
|
|
58
|
-
* contract types before
|
|
58
|
+
* contract types before application startup.
|
|
59
59
|
*/
|
|
60
60
|
export declare function writeGeneratedServerApplication(input: {
|
|
61
61
|
readonly generation: ApplicationGeneration;
|
package/dist/build/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { VormaConfig } from "@vorma/server/config";
|
|
1
2
|
import { Effect } from "effect";
|
|
2
|
-
import type { VormaConfig } from "../server/config/index.ts";
|
|
3
3
|
/**
|
|
4
4
|
* Builds and publishes one production application while holding all generated
|
|
5
5
|
* output ownership. `configFilePath` is the absolute path of the configuration
|
|
@@ -11,5 +11,4 @@ export declare function buildApplication(input: {
|
|
|
11
11
|
}): Effect.Effect<{
|
|
12
12
|
clientBuildId: string;
|
|
13
13
|
publicDirectory: string;
|
|
14
|
-
|
|
15
|
-
}, import("./assemble-artifacts.ts").ArtifactAssemblyIssue | import("./publish-artifacts.ts").ArtifactPublicationIssue | import("./bundle-client.ts").ClientBundleIssue | import("./generate-application.ts").GeneratedApplicationWriteError | import("./output-ownership.ts").OutputOwnershipIssue | import("effect/PlatformError").PlatformError | import("./compile-server.ts").ServerCompilationIssue | import("./generate-application.ts").ApplicationGenerationError, import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
|
|
14
|
+
}, import("./assemble-artifacts.ts").ArtifactAssemblyIssue | import("./publish-artifacts.ts").ArtifactPublicationIssue | import("./bundle-client.ts").ClientBundleIssue | import("./generate-application.ts").GeneratedApplicationWriteError | import("./output-ownership.ts").OutputOwnershipIssue | import("effect/PlatformError").PlatformError | import("./generate-application.ts").ApplicationGenerationError, import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
|
package/dist/build/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as buildApplication } from "../build-
|
|
1
|
+
import { t as buildApplication } from "../build-BeUTL6eX.js";
|
|
2
2
|
export { buildApplication };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { HttpMethod, InputTransportKind } from "@vorma/protocol";
|
|
2
|
+
import type { EffectTransportMarkKind } from "@vorma/protocol/transport";
|
|
1
3
|
import { Effect } from "effect";
|
|
2
4
|
import * as Path from "effect/Path";
|
|
3
|
-
import type { HttpMethod, InputTransport } from "../server/graph/declarations.ts";
|
|
4
|
-
import type { EffectTransportMarkKind } from "../universal/value-transport.ts";
|
|
5
5
|
import type { ApplicationSourceLayout } from "./source-layout.ts";
|
|
6
6
|
import { type TypescriptProjectError, type TypescriptProjects } from "./typescript-projects.ts";
|
|
7
7
|
export type DeclarationSource = {
|
|
@@ -26,7 +26,7 @@ export type InspectedEndpoint = DeclarationSource & {
|
|
|
26
26
|
readonly method: HttpMethod;
|
|
27
27
|
readonly pattern: string;
|
|
28
28
|
readonly input: string | undefined;
|
|
29
|
-
readonly inputTransport:
|
|
29
|
+
readonly inputTransport: InputTransportKind;
|
|
30
30
|
readonly output: string | undefined;
|
|
31
31
|
readonly event: string | undefined;
|
|
32
32
|
readonly errors: ReadonlyArray<InspectedEndpointError>;
|
|
@@ -2,31 +2,33 @@ import { Effect, Path, Schema } from "effect";
|
|
|
2
2
|
type ConfigLoadError = {
|
|
3
3
|
readonly _tag: "ConfigLoadError";
|
|
4
4
|
readonly message: string;
|
|
5
|
-
readonly cause
|
|
5
|
+
readonly cause?: unknown;
|
|
6
6
|
};
|
|
7
7
|
/** Vite's configuration loader recompiles configuration dependencies on each development restart. */
|
|
8
8
|
export declare function loadDevelopmentConfig(configPath: string): Effect.Effect<{
|
|
9
9
|
config: {
|
|
10
|
-
|
|
10
|
+
importMeta: {
|
|
11
11
|
readonly url: string;
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
readonly dev?: {
|
|
13
|
+
serverTsconfigFile: string;
|
|
14
|
+
clientEntry: string;
|
|
15
|
+
clientTsconfigFile: string;
|
|
16
|
+
publicAssetsDir: string;
|
|
17
|
+
viteConfigFile: string;
|
|
18
|
+
criticalCssEntry?: string;
|
|
19
|
+
publicAssetsBasePath: string;
|
|
20
|
+
bodySsr?: boolean;
|
|
21
|
+
dev: {
|
|
22
|
+
readonly serverCommand: readonly [string, ...string[]];
|
|
24
23
|
readonly revalidateClientOnChange?: readonly string[];
|
|
25
24
|
};
|
|
26
25
|
};
|
|
27
26
|
configFilePath: string;
|
|
28
27
|
dependencies: string[];
|
|
29
|
-
}, ConfigLoadError | Schema.SchemaError
|
|
28
|
+
}, ConfigLoadError | Schema.SchemaError | {
|
|
29
|
+
_tag: "ConfigLoadError";
|
|
30
|
+
message: string;
|
|
31
|
+
}, Path.Path>;
|
|
30
32
|
/**
|
|
31
33
|
* Imports the explicitly selected configuration using the CLI host's module
|
|
32
34
|
* loader and reports the absolute path of the file it was loaded from,
|
|
@@ -37,17 +39,16 @@ export declare function loadVormaConfig(configPath: string): Effect.Effect<{
|
|
|
37
39
|
readonly importMeta: {
|
|
38
40
|
readonly url: string;
|
|
39
41
|
};
|
|
40
|
-
readonly serverEntry: string;
|
|
41
42
|
readonly serverTsconfigFile: string;
|
|
42
43
|
readonly clientEntry: string;
|
|
43
44
|
readonly clientTsconfigFile: string;
|
|
44
45
|
readonly publicAssetsDir: string;
|
|
45
46
|
readonly viteConfigFile: string;
|
|
46
47
|
readonly criticalCssEntry?: string;
|
|
47
|
-
readonly serverExternalPackages?: readonly string[];
|
|
48
48
|
readonly publicAssetsBasePath: string;
|
|
49
49
|
readonly bodySsr?: boolean;
|
|
50
50
|
readonly dev?: {
|
|
51
|
+
readonly serverCommand: readonly [string, ...string[]];
|
|
51
52
|
readonly revalidateClientOnChange?: readonly string[];
|
|
52
53
|
};
|
|
53
54
|
};
|
|
@@ -2,7 +2,6 @@ import { Effect } from "effect";
|
|
|
2
2
|
import * as FileSystem from "effect/FileSystem";
|
|
3
3
|
import * as Path from "effect/Path";
|
|
4
4
|
import type { ApplicationArtifacts } from "./assemble-artifacts.ts";
|
|
5
|
-
import type { CompiledServer } from "./compile-server.ts";
|
|
6
5
|
import type { ApplicationGeneration } from "./generate-application.ts";
|
|
7
6
|
import type { ApplicationSourceLayout } from "./source-layout.ts";
|
|
8
7
|
export type ArtifactPublicationIssue = {
|
|
@@ -11,13 +10,11 @@ export type ArtifactPublicationIssue = {
|
|
|
11
10
|
};
|
|
12
11
|
/** Prepares one public output before Vite adds its browser files to it. */
|
|
13
12
|
export declare function preparePublicOutput(config: ApplicationSourceLayout): Effect.Effect<void, import("./output-ownership.ts").OutputOwnershipIssue | import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
|
|
14
|
-
/** Publishes
|
|
13
|
+
/** Publishes private metadata for the completed browser build. */
|
|
15
14
|
export declare function publishApplicationArtifacts(input: {
|
|
16
15
|
readonly artifacts: ApplicationArtifacts;
|
|
17
|
-
readonly server?: CompiledServer;
|
|
18
16
|
readonly generation: ApplicationGeneration;
|
|
19
17
|
}): Effect.Effect<{
|
|
20
18
|
clientBuildId: string;
|
|
21
19
|
publicDirectory: string;
|
|
22
|
-
serverEntryPath: string;
|
|
23
20
|
}, ArtifactPublicationIssue, FileSystem.FileSystem | Path.Path>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EffectTransportMarkKind } from "
|
|
1
|
+
import { type EffectTransportMarkKind } from "@vorma/protocol/transport";
|
|
2
2
|
import type { GeneratedSource } from "./render-source-text.ts";
|
|
3
3
|
/**
|
|
4
4
|
* Selects generic value adapters without generating application schemas or route
|
|
@@ -3,24 +3,13 @@ import type { ApplicationModel } from "./compile-application.ts";
|
|
|
3
3
|
import type { DeclarationSource } from "./inspect-projects.ts";
|
|
4
4
|
import { type PublicAssetProjection } from "./public-assets.ts";
|
|
5
5
|
import { type GeneratedSource } from "./render-source-text.ts";
|
|
6
|
-
/**
|
|
7
|
-
* The URL of the published public directory relative to a compiled server
|
|
8
|
-
* module. Every compiled module sits directly in the server entry's Vorma
|
|
9
|
-
* directory, so one relative URL locates the bytes from all of them.
|
|
10
|
-
*/
|
|
11
|
-
export declare function getPublicDirectoryRelativeUrl(input: {
|
|
12
|
-
readonly path: Path.Path;
|
|
13
|
-
readonly serverGeneratedDirectory: string;
|
|
14
|
-
readonly publicDirectory: string;
|
|
15
|
-
}): string;
|
|
16
6
|
/** Renders registration imports independently of final browser output. */
|
|
17
7
|
export declare function renderGeneratedBuildModule(input: {
|
|
18
8
|
readonly declarations: ReadonlyArray<DeclarationSource>;
|
|
19
|
-
readonly publicDirectoryRelativeUrl: string;
|
|
20
9
|
readonly filePath: string;
|
|
21
10
|
readonly path: Path.Path;
|
|
22
11
|
}): GeneratedSource;
|
|
23
|
-
/** Renders the declaration that augments
|
|
12
|
+
/** Renders the declaration that augments `@vorma/server` with this application's patterns, search types, and asset keys. */
|
|
24
13
|
export declare function renderGeneratedServerContracts(input: {
|
|
25
14
|
readonly model: ApplicationModel;
|
|
26
15
|
readonly publicAssets: PublicAssetProjection;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { EffectTransportMarkKind } from "@vorma/protocol/transport";
|
|
1
2
|
import { Result } from "effect";
|
|
2
3
|
import { type Checker, type Emitter, type Program, type Symbol as TypeSymbol, type Type } from "typescript/unstable/async";
|
|
3
|
-
import type { EffectTransportMarkKind } from "../universal/value-transport.ts";
|
|
4
4
|
export type TypeRenderIssue = {
|
|
5
5
|
readonly _tag: "UnrenderableContractType";
|
|
6
6
|
readonly reason: string;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
+
import { type VormaConfig } from "@vorma/server/config";
|
|
1
2
|
import { Effect } from "effect";
|
|
2
3
|
import * as Path from "effect/Path";
|
|
3
|
-
import { type VormaConfig } from "../server/config/index.ts";
|
|
4
4
|
export type PublicAssetsBasePath = "/" | `/${string}/`;
|
|
5
5
|
export type ResolvedVormaConfig = {
|
|
6
6
|
readonly configFilePath: string;
|
|
7
7
|
/** The directory of the configuration file; every configured path is relative to it. */
|
|
8
8
|
readonly configDirectory: string;
|
|
9
|
-
readonly serverEntryFilePath: string;
|
|
10
9
|
readonly serverTsconfigFilePath: string;
|
|
11
10
|
/** The directory containing the server tsconfig, used as the compiler's working directory. */
|
|
12
11
|
readonly serverProjectDirectory: string;
|
|
@@ -15,7 +14,6 @@ export type ResolvedVormaConfig = {
|
|
|
15
14
|
readonly publicAssetsSourceDirectory: string;
|
|
16
15
|
readonly viteConfigFilePath: string;
|
|
17
16
|
readonly criticalCssEntryFilePath?: string;
|
|
18
|
-
readonly serverExternalPackages: ReadonlyArray<string>;
|
|
19
17
|
readonly publicAssetsBasePath: PublicAssetsBasePath;
|
|
20
18
|
readonly bodySsr: VormaConfig["bodySsr"];
|
|
21
19
|
readonly dev: VormaConfig["dev"];
|
|
@@ -25,17 +23,16 @@ export type VormaOwnedPaths = {
|
|
|
25
23
|
readonly ignoreFilePaths: ReadonlyArray<string>;
|
|
26
24
|
readonly serverGeneratedDirectory: string;
|
|
27
25
|
readonly clientGeneratedDirectory: string;
|
|
28
|
-
readonly
|
|
26
|
+
readonly generatedRegistrationFilePath: string;
|
|
29
27
|
readonly generatedServerContractsFilePath: string;
|
|
30
|
-
readonly compiledServerEntryFilePath: string;
|
|
31
28
|
};
|
|
32
|
-
/** The build
|
|
29
|
+
/** The build excludes both projects' generated directories from application source. */
|
|
33
30
|
export declare function getGeneratedSourceDirectories(config: VormaOwnedPaths): ReadonlyArray<string>;
|
|
34
|
-
/** Derives generated source, public assets, and build coordination from the
|
|
31
|
+
/** Derives generated source, public assets, and build coordination from the tsconfig directories. */
|
|
35
32
|
export declare function getVormaOwnedPaths(input: {
|
|
36
33
|
readonly path: Path.Path;
|
|
37
|
-
readonly
|
|
38
|
-
readonly
|
|
34
|
+
readonly serverProjectDirectory: string;
|
|
35
|
+
readonly clientProjectDirectory: string;
|
|
39
36
|
}): VormaOwnedPaths;
|
|
40
37
|
export type ConfigResolutionError = {
|
|
41
38
|
readonly _tag: "ConfigResolutionError";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import * as FileSystem from "effect/FileSystem";
|
|
3
3
|
import * as Path from "effect/Path";
|
|
4
|
-
import {
|
|
4
|
+
import type { ResolvedVormaConfig } from "./resolve-config.ts";
|
|
5
5
|
declare const APPLICATION_SOURCE_LAYOUT_BRAND: unique symbol;
|
|
6
6
|
export type ApplicationSourceLayout = ResolvedVormaConfig & {
|
|
7
7
|
readonly [APPLICATION_SOURCE_LAYOUT_BRAND]: true;
|
|
8
8
|
};
|
|
9
|
-
export type ApplicationSourcePathField = "
|
|
9
|
+
export type ApplicationSourcePathField = "serverTsconfigFile" | "clientEntry" | "clientTsconfigFile" | "publicAssetsDir" | "viteConfigFile" | "criticalCssEntry";
|
|
10
10
|
export type ApplicationSourceLayoutIssue = {
|
|
11
11
|
readonly field: ApplicationSourcePathField;
|
|
12
12
|
readonly path: string;
|