aboutsummaryrefslogtreecommitdiffstats
path: root/language-web
Commit message (Collapse)AuthorAge
* build: move modules into subproject directoryLibravatar Kristóf Marussy2021-12-12
|
* chore(web): bump frontend dependenciesLibravatar Kristóf Marussy2021-12-12
|
* chore: bump typescript to 4.5Libravatar Kristóf Marussy2021-11-21
| | | | | Also requires yarn 3.2.0-rc.5 due to https://github.com/yarnpkg/berry/issues/3722
* build: move to yarn workspacesLibravatar Kristóf Marussy2021-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The root project (worktree) must have a valid package.json, .yarnrc.yaml, and have the gradle precompiled script plugin refinery-frontend-worktree applied to it. All frontend modules (workspaces) must have a valid package.json, be referenced in the worktree project.json, and be a valid gradle subproject with the gradle precompiled script plugin refinery-frontend-workspace applied to it. To reduce unnecessary downloads, we do the following workarounds: * The node version is pinned in gradle.properties and the installed node version is stored in .node/frontend.properties. A new node version is only downloaded if it differs from the installed one (or none is installed). This improves on the default gradle behavior, which would download a new node version if the classpath of the installNode task was changed. * The yarn classic version is pinned in gradle.properties and the installed yarn classic version is stored in .node/frontend.properties. This improves on the default gradle behavior, which would reinstall the yarn npm package at every build. * We disable the enableYarnBerry task, since a yarn berry version is already committed into the repository at .yarn/versions as it is recommended in http://yarnpkg.com/getting-started/qa/ * We use yarn set version --only-if-needed in the installYarn task. * The installFrontend task takes package.json and yarn.lock as inputs and produces .pnp.cjs and .pnp.loader.mjs as outputs. Whether this task is up-to-date can be checked by gradle quickly, since it doesn't have to traverse the node_module folder due to pnp resoltion: https://yarnpkg.com/features/pnp/ All workspaces have the installNode, installYarnGlobally, installYarn and installFrontend tasks disabled. However, these tasks depend on the task with the same name in the worktree project, so installation is still triggered globally. Moreover, the installFrontend task in the worktree has the package.json of the workspaces as inputs, so reinstallation is triggered when the workspace package.json changes.
* chore(web): remove eslint-plugin-sonarjsLibravatar Kristóf Marussy2021-11-20
| | | | | It is not compatible with eslint 8 yet: https://github.com/SonarSource/eslint-plugin-sonarjs/issues/286
* build: upgrade to yarn 3Libravatar Kristóf Marussy2021-11-20
| | | | | | | Also upgrades various frontend dependencies. We can't upgrade to typescript 4.5 yet, because https://github.com/yarnpkg/berry/pull/3760 is not released yet.
* build: library and application convetion pluginsLibravatar Kristóf Marussy2021-11-17
|
* build: merge java and junit conventionsLibravatar Kristóf Marussy2021-11-17
| | | | All Java code should have tests, anyways.
* build: move scripts into script pluginsLibravatar Kristóf Marussy2021-11-17
| | | | | Script plugins allow applying other plugins from plugins { } blocks, which simplifies the build script.
* build: use version catalogsLibravatar Kristóf Marussy2021-11-16
| | | | | | | | | | | Gradle version catalogs allow centralized management of dependency artifact coordinates using a toml file. Previously, we use the gradle.properties file, which cannot manage group and name coordinates, only versions. Node and yarn versions still have to be in gradle.properties, because they do not correspond to any coordiates of a maven artifact.
* chore(web): fix Sonar issueLibravatar Kristóf Marussy2021-11-16
|
* feat(web): xtext formatter clientLibravatar Kristóf Marussy2021-11-16
| | | | | | | | | Uses the xtext formatted on the server to format the document. Also adds the capability to take (delta) changes from the server and apply them before any pending local changes, then replay the changes. This means that the server-side formatter is effectively acting as a second user who is editing the document.
* chore(web): json validation with zodLibravatar Kristóf Marussy2021-11-16
| | | | | | Use the zod library instead of manually written type assertions for validating json messages from the server. This makes it easier to add and handle new messages.
* chore(lang): shorten keyword individual -> indivLibravatar Kristóf Marussy2021-11-06
|
* chore: rename unique to individualLibravatar Kristóf Marussy2021-11-05
| | | | Suggestion by @vincemolnar to match SysML V2 terminology more closely.
* chore(web): implicit completion info in grammarLibravatar Kristóf Marussy2021-11-05
| | | | | Move information about which tokens should support implicit completions into the Lezer grammar.
* fix(lang): make default and scope non-contextualLibravatar Kristóf Marussy2021-11-05
| | | | | Contextual keywords make Xtext parsing more complicated and degrade content assist.
* fix(web): fix fold gutter stylingLibravatar Kristóf Marussy2021-11-05
| | | | | | We can't seem to be able to style the fold gutter in the current line to set its background color, so we set the background of the whole gutter instead.
* fix(web): fix autocomplete prefix behaviorLibravatar Kristóf Marussy2021-11-03
| | | | | | | | | | Always try to complete the current token if it is a terminal (e.g., true, false, unknown, and error after a : or an = sign). Autocomplete still only starts without being explicitly invoked if there is a QualifiedName to complete. Discard completions with a shorter prefix than the current token, because they would be filtered out by CodeMirror anyways.
* chore: fix Sonar warningsLibravatar Kristóf Marussy2021-10-31
|
* chore: bump dependency versionsLibravatar Kristóf Marussy2021-10-31
|
* fix(web): not dot display spurious occurrencesLibravatar Kristóf Marussy2021-10-31
| | | | | | Only return find occurrences results for NamedElement instances, as other objects cannot be referenced by name and thus cannot have any references at all.
* fix(web): fix push message race conditionLibravatar Kristóf Marussy2021-10-31
| | | | | | | | | | | | | | In some resource-constrained environments (e.g., my VPS with 2 vCPUs), it was possible for validation and highlighting precomputation to be finished before the server responded to a deltaText updating completion request (updating completion take longer than a normal update, because they also have to compute the completions). Therefore, the client received push messages about a stateId it didn't know about yet. To fix this, we delay any push messages originating during servicing a call to be sent after the call is serviced. Thus the client first receives the updating completion response with the new stateId, followed by the push messages relating to that stateId.
* chore(web): refactor xtext clientLibravatar Kristóf Marussy2021-10-31
|
* fix(web): undo/redo button accessibility issueLibravatar Kristóf Marussy2021-10-31
| | | | | Do not misuse ToggleButtons as ImageButtons when there's no toggled state.
* feat(web): client support for transformation rulesLibravatar Kristóf Marussy2021-10-31
|
* fix(web): fix server-side content assist filteringLibravatar Kristóf Marussy2021-10-31
|
* feat(web): find occurrences when idleLibravatar Kristóf Marussy2021-10-31
|
* feat(web): use 4 space for indentationLibravatar Kristóf Marussy2021-10-31
|
* feat(web): semantic highlightingLibravatar Kristóf Marussy2021-10-31
|
* feat(web): show error count on generate buttonLibravatar Kristóf Marussy2021-10-31
|
* fix(web): make lint panel readableLibravatar Kristóf Marussy2021-10-31
|
* feat(web): use theme colors in error markersLibravatar Kristóf Marussy2021-10-31
|
* chore(web): refactor UpdateServiceLibravatar Kristóf Marussy2021-10-31
| | | | | extract utils/ConditionVariable from xtext/UpdateService as a generally useful utility class for waiting for conditions
* chore(web): move logger to utils/Libravatar Kristóf Marussy2021-10-31
|
* feat(web): server-side content assist filteringLibravatar Kristóf Marussy2021-10-31
|
* chore(web): refactor xtext clientLibravatar Kristóf Marussy2021-10-31
|
* feat(web): add xtext content assistLibravatar Kristóf Marussy2021-10-31
|
* chore(web): refactor PendingTaskLibravatar Kristóf Marussy2021-10-31
|
* chore(web): simplify websocket state machineLibravatar Kristóf Marussy2021-10-31
|
* chore(web): refactor websocket state machineLibravatar Kristóf Marussy2021-10-31
|
* feat(web): show lint status on lint buttonLibravatar Kristóf Marussy2021-10-31
|
* feat(web): disconnect background tabs onlyLibravatar Kristóf Marussy2021-10-31
|
* fix(web): only try to read properties of objectsLibravatar Kristóf Marussy2021-10-31
|
* feat(web): application-level pingsLibravatar Kristóf Marussy2021-10-31
|
* feat(web): add xtext websocket clientLibravatar Kristóf Marussy2021-10-31
|
* test(web): more websocket integration testsLibravatar Kristóf Marussy2021-10-31
|
* test(web): websockets fixes and testsLibravatar Kristóf Marussy2021-10-31
|
* feat(web): push precomputed service resultsLibravatar Kristóf Marussy2021-10-31
|
* feat(web): batched xtext websocket prototypeLibravatar Kristóf Marussy2021-10-31
|