refactor(core): support tiered layer nodes (#33937)

This commit is contained in:
James Long
2026-06-25 14:34:17 -04:00
committed by GitHub
parent 21b78c49fc
commit 0e731c2a1a
80 changed files with 1132 additions and 601 deletions
+5 -10
View File
@@ -62,15 +62,10 @@ export const defaultLayer: Layer.Layer<Service> = layer.pipe(
]),
)
export const node = LayerNode.make(layer, [
Config.node,
Format.node,
LSP.node,
Plugin.node,
Project.node,
ShareNext.node,
Snapshot.node,
Vcs.node,
])
export const node = LayerNode.make({
service: Service,
layer: layer,
deps: [Config.node, Format.node, LSP.node, Plugin.node, Project.node, ShareNext.node, Snapshot.node, Vcs.node],
})
export * as InstanceBootstrap from "./bootstrap"
@@ -204,6 +204,10 @@ export const layer: Layer.Layer<Service, never, Project.Service | InstanceBootst
export const defaultLayer = layer.pipe(Layer.provide(Project.defaultLayer))
export const node = LayerNode.make(layer, [Project.node, InstanceBootstrapGraph.node])
export const node = LayerNode.make({
service: Service,
layer: layer,
deps: [Project.node, InstanceBootstrapGraph.node],
})
export * as InstanceStore from "./instance-store"
+14 -10
View File
@@ -476,15 +476,19 @@ export const defaultLayer = layer.pipe(
export const use = serviceUse(Service)
export const node = LayerNode.make(layer, [
FSUtil.node,
AppProcess.node,
CrossSpawnSpawner.node,
ProjectV2.node,
ProjectDirectories.node,
EventV2Bridge.node,
RuntimeFlags.node,
Database.node,
])
export const node = LayerNode.make({
service: Service,
layer: layer,
deps: [
FSUtil.node,
AppProcess.node,
CrossSpawnSpawner.node,
ProjectV2.node,
ProjectDirectories.node,
EventV2Bridge.node,
RuntimeFlags.node,
Database.node,
],
})
export * as Project from "./project"
+1 -1
View File
@@ -420,6 +420,6 @@ export const layer: Layer.Layer<Service, never, Git.Service | EventV2Bridge.Serv
export const defaultLayer = layer.pipe(Layer.provide(Git.defaultLayer), Layer.provide(EventV2Bridge.defaultLayer))
export const node = LayerNode.make(layer, [Git.node, EventV2Bridge.node])
export const node = LayerNode.make({ service: Service, layer: layer, deps: [Git.node, EventV2Bridge.node] })
export * as Vcs from "./vcs"