Skip to content

Commit 95408e6

Browse files
committed
feat(react): new 'page' concept for defining custom endpoints
Instead of opening a node you open a page that calls a named renderer. This allows designing UIs that have a different structure than the AST.
1 parent 95380af commit 95408e6

File tree

30 files changed

+2074
-238
lines changed

30 files changed

+2074
-238
lines changed

.github/workflows/build.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ jobs:
2828
node-version-file: '.nvmrc'
2929
registry-url: 'https://artifacts.itemis.cloud/repository/npm-open/'
3030
scope: '<@modelix>'
31+
- name: Install Playwright Browsers
32+
run: npx playwright install --with-deps
3133
- name: Build
3234
env:
3335
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -44,6 +46,13 @@ jobs:
4446
path: |
4547
*/build/test-results
4648
*/build/reports
49+
- name: Publish test results
50+
uses: EnricoMi/publish-unit-test-result-action@3a74b2957438d0b6e2e61d67b05318aa25c9e6c6 # v2
51+
# Also report in case the build failed
52+
if: always()
53+
with:
54+
files: |
55+
**/test-results/**/*.xml
4756
4857
# Disabled because the repository is private and they need payment
4958
# # Deploy job

gradle/libs.versions.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
99
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
1010

1111
[versions]
12-
modelixCore = "16.5.0"
12+
modelixCore = "16.6.0"
1313
modelixBuildtools="2.0.1"
1414
kotlin = "2.2.21"
1515

@@ -22,8 +22,12 @@ modelix-modelql-untyped = { group = "org.modelix", name = "modelql-untyped", ver
2222
modelix-modelql-html = { group = "org.modelix", name = "modelql-html", version.ref = "modelixCore" }
2323
modelix-model-datastructure = { group = "org.modelix", name = "model-datastructure", version.ref = "modelixCore" }
2424
modelix-mps-model-adapters = { group = "org.modelix.mps", name = "model-adapters", version.ref = "modelixCore" }
25+
modelix-mps-model-adapters-plugin = { group = "org.modelix.mps", name = "mps-model-adapters-plugin", version.ref = "modelixCore" }
26+
modelix-mps-repository-concepts = { group = "org.modelix.mps.modules", name = "repositoryconcepts", version.ref = "modelixCore" }
2527
kotlin-html = "org.jetbrains.kotlinx:kotlinx-html:0.12.0"
2628
modelix-build-tools-lib = { group = "org.modelix.mps", name = "build-tools-lib", version.ref = "modelixBuildtools" }
2729
kotlin-logging = { group = "io.github.oshai", name = "kotlin-logging", version = "7.0.13" }
2830
slf4j-api = { group = "org.slf4j", name = "slf4j-api", version = "2.0.17" }
2931
kotlin-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version = "0.4.0" }
32+
playwright = { group = "com.microsoft.playwright", name = "playwright", version = "1.55.0" }
33+
testcontainers = { group = "org.testcontainers", name = "testcontainers", version = "1.21.3" }

mps/.mps/modules.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.notation.impl.baseLanguage/org.modelix.mps.notation.impl.baseLanguage.msd" folder="text" />
66
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.notation/org.modelix.mps.notation.mpl" folder="text" />
77
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.react.ide/org.modelix.mps.react.ide.msd" folder="react" />
8-
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.react.impl.baseLanguage/org.modelix.mps.react.impl.baseLanguage.msd" folder="react" />
98
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.react/org.modelix.mps.react.mpl" folder="react" />
109
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.webaspect.devkit/org.modelix.mps.webaspect.devkit.devkit" folder="aspect" />
1110
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.webaspect.genplan/org.modelix.mps.webaspect.genplan.msd" folder="aspect" />
1211
<modulePath path="$PROJECT_DIR$/modules/org.modelix.mps.webaspect.runtime/org.modelix.mps.webaspect.runtime.msd" folder="aspect" />
12+
<modulePath path="$PROJECT_DIR$/modules/test.org.modelix.webaspect/test.org.modelix.webaspect.msd" folder="test" />
1313
</projectModules>
1414
</component>
1515
</project>

mps/build.gradle.kts

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,20 @@ plugins {
99

1010
group = "org.modelix.mps.modules"
1111

12+
val repositoryConcepts by configurations.creating
13+
14+
dependencies {
15+
repositoryConcepts(libs.modelix.mps.repository.concepts)
16+
}
17+
18+
val repositoryConceptsFolder = layout.buildDirectory.dir("repositoryConcepts")
19+
val extractRepositoryConcepts = tasks.register("extractRepositoryConcepts", Sync::class) {
20+
from(zipTree({ repositoryConcepts.singleFile }))
21+
into(repositoryConceptsFolder)
22+
}
23+
1224
mpsBuild {
25+
dependsOn(extractRepositoryConcepts)
1326
dependsOn(":editor-common-mps:buildPlugin")
1427
dependsOn(":projectional-editor-ssr-mps:buildPlugin")
1528
dependsOn(":react-ssr-mps:buildPlugin")
@@ -20,18 +33,20 @@ mpsBuild {
2033
search("../editor-common-mps/build/idea-sandbox/plugins/editor-common-mps")
2134
search("../projectional-editor-ssr-mps/build/idea-sandbox/plugins/projectional-editor-ssr-mps")
2235
search("../react-ssr-mps/build/idea-sandbox/plugins/react-ssr-mps")
36+
search(repositoryConceptsFolder.get().asFile.absolutePath)
2337
search("modules")
24-
publication("editor-languages") {
25-
module("org.modelix.mps.webaspect.devkit")
26-
module("org.modelix.mps.webaspect.genplan")
27-
module("org.modelix.mps.notation")
28-
}
2938
publication("baseLanguage-notation") {
3039
module("org.modelix.mps.notation.impl.baseLanguage")
3140
}
32-
publication("react") {
41+
publication("editor-devkit") {
42+
module("org.modelix.mps.notation")
3343
module("org.modelix.mps.react")
3444
module("org.modelix.mps.react.ide")
45+
module("org.modelix.mps.webaspect.devkit")
46+
module("org.modelix.mps.webaspect.genplan")
47+
}
48+
publication("tests") {
49+
module("test.org.modelix.webaspect")
3550
}
3651
}
3752

mps/modules/org.modelix.mps.react.impl.baseLanguage/models/org.modelix.mps.react.impl.baseLanguage.modelix.mps

Lines changed: 0 additions & 131 deletions
This file was deleted.

0 commit comments

Comments
 (0)