Skip to content

Commit a8fa21b

Browse files
committed
live-web-edit: Fixed routing of css errors.
1 parent 4f6c20f commit a8fa21b

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

packages/live-web-edit/lib/server/WorkspaceCompilation.lv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ component WorkspaceCompilation{
115115
styles: this.styles.map(s => s.file),
116116
assets: this.assets.map(a => a.name),
117117
errors: this.errors,
118-
main: this.mainAsset.name,
118+
main: this.mainAsset ? this.mainAsset.name : null,
119119
usages: this.usageAssignments,
120120
stamp: this.stamp.toISOString()
121121
}

packages/live-web-edit/lib/server/WorkspaceRoute.lv

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import live-elements-web-server.page.index
33
import .lib.middle
44

55
import PackagePath from 'live-elements-web-server/lib/package-path.cjs'
6+
import CSSError from 'live-elements-web-server/shared/errors/css-error.mjs'
7+
import StandardError from 'live-elements-web-server/shared/errors/standard-error.mjs'
68
import path from 'path'
79
import fs from 'fs'
810

@@ -11,6 +13,7 @@ component WorkspaceRoute < Route{
1113

1214
string workspacesPath = ''
1315
string templatesPath = ''
16+
string defaultProject = 'page'
1417
WorkspaceContainer workspaces = null
1518
Object view = null
1619
Array<Object> templates = []
@@ -104,8 +107,8 @@ component WorkspaceRoute < Route{
104107
const wsname = req.params.wsname
105108
let ws = null
106109
if ( wsname === '-' ){
107-
if ( fs.existsSync(path.join(workspaceRoute.workspaces.path, 'page'))){
108-
ws = await workspaceRoute.workspaces.loadWorkspace('page')
110+
if ( fs.existsSync(path.join(workspaceRoute.workspaces.path, workspaceRoute.defaultProject))){
111+
ws = await workspaceRoute.workspaces.loadWorkspace(workspaceRoute.defaultProject)
109112
} else {
110113
ws = await workspaceRoute.workspaces.createWorkspaceFrom('default')
111114
ws.save()
@@ -189,6 +192,7 @@ component WorkspaceRoute < Route{
189192
const ws = workspaceRoute.workspaces.loadWorkspace(req.params.wsname)
190193
const result = await ws.compile(workspaceRoute.workspaces.operations, workspaceRoute.url)
191194
if ( result.hasErrors() ){
195+
ws.save()
192196
res.json({error: { messages: result.errors.map(e => e.message)} }).end()
193197
} else {
194198
res.json({success: true, compilation: result.identifier }).end()
@@ -252,11 +256,20 @@ component WorkspaceRoute < Route{
252256
if ( ws.compilation.usageAssignments ){
253257
assignmentsToSend = ws.compilation.usageAssignments
254258
} else {
255-
assignmentsToSend = await workspaceRoute.workspaces.operations.updateCompilationUsages(
256-
ws.compilation, req.body.page, ws.name, workspaceRoute.url
257-
)
258-
// assignmentsToSend = await ws.compilation.updateUsages(req.body.page, ws.name, workspaceRoute.url)
259-
ws.save()
259+
try{
260+
assignmentsToSend = await workspaceRoute.workspaces.operations.updateCompilationUsages(
261+
ws.compilation, req.body.page, ws.name, workspaceRoute.url
262+
)
263+
// assignmentsToSend = await ws.compilation.updateUsages(req.body.page, ws.name, workspaceRoute.url)
264+
ws.save()
265+
} catch ( e ){
266+
if ( e instanceof CSSError ){
267+
res.json({ error: { message: WorkspaceCompilation.__replaceMessageWorkspacePaths(e.message, ws) }})
268+
ws.save()
269+
return
270+
}
271+
throw e
272+
}
260273
}
261274
res.json(assignmentsToSend).end()
262275
return

packages/live-web-edit/resources/loader/loader.jstpl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ importer.then(imp => {
3232

3333
ky.post('<<<usagesRoute>>>', {json: { page: pageUsages } }).json()
3434
.then(serverData => {
35+
if ( serverData.error ){
36+
window.parent.postMessage({
37+
type: 'error',
38+
message: serverData.error.message
39+
}, '*')
40+
return null
41+
}
3542
return Loader.loadAwaitingModule(importer, "*", [], {
3643
scopedStyles: serverData.scopedStyles,
3744
scopedStyleLinks: serverData.scopedStyleLinks,

0 commit comments

Comments
 (0)