@likec4/language-server 1.10.1 → 1.11.0

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.
Files changed (43) hide show
  1. package/dist/browser.cjs +5 -1
  2. package/dist/browser.d.cts +7 -5
  3. package/dist/browser.d.mts +7 -5
  4. package/dist/browser.d.ts +7 -5
  5. package/dist/browser.mjs +3 -2
  6. package/dist/index.cjs +15 -2
  7. package/dist/index.d.cts +14 -11
  8. package/dist/index.d.mts +14 -11
  9. package/dist/index.d.ts +14 -11
  10. package/dist/index.mjs +17 -1
  11. package/dist/likec4lib.cjs +949 -952
  12. package/dist/likec4lib.d.cts +1 -1
  13. package/dist/likec4lib.d.mts +1 -1
  14. package/dist/likec4lib.d.ts +1 -1
  15. package/dist/likec4lib.mjs +949 -952
  16. package/dist/protocol.cjs +1 -1
  17. package/dist/protocol.d.cts +3 -1
  18. package/dist/protocol.d.mts +3 -1
  19. package/dist/protocol.d.ts +3 -1
  20. package/dist/protocol.mjs +1 -1
  21. package/dist/shared/{language-server.Bfc-5M8A.cjs → language-server.C8lV6gDw.cjs} +116 -115
  22. package/dist/shared/{language-server.BFBeyvV8.mjs → language-server.CCOotWDz.mjs} +116 -116
  23. package/dist/shared/{language-server.CnVuAxDh.d.ts → language-server.Cyw-bCtc.d.ts} +143 -136
  24. package/dist/shared/{language-server.DEK39RmI.d.mts → language-server.DGjTE7xL.d.mts} +143 -136
  25. package/dist/shared/{language-server.BGy3FJPJ.d.cts → language-server.Ol32Kygo.d.cts} +143 -136
  26. package/package.json +30 -26
  27. package/src/Rpc.ts +10 -6
  28. package/src/ast.ts +1 -1
  29. package/src/browser.ts +5 -0
  30. package/src/generated-lib/icons.ts +949 -952
  31. package/src/index.ts +23 -2
  32. package/src/likec4lib.ts +1 -1
  33. package/src/logger.ts +16 -16
  34. package/src/model/model-builder.ts +12 -12
  35. package/src/model-graph/utils/applyCustomRelationProperties.ts +1 -1
  36. package/src/protocol.ts +5 -1
  37. package/src/shared/WorkspaceManager.ts +1 -1
  38. package/dist/node.cjs +0 -18
  39. package/dist/node.d.cts +0 -19
  40. package/dist/node.d.mts +0 -19
  41. package/dist/node.d.ts +0 -19
  42. package/dist/node.mjs +0 -16
  43. package/src/node.ts +0 -20
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@likec4/language-server",
3
3
  "description": "LikeC4 Language Server",
4
- "version": "1.10.1",
4
+ "version": "1.11.0",
5
5
  "license": "MIT",
6
6
  "bugs": "https://github.com/likec4/likec4/issues",
7
7
  "homepage": "https://likec4.dev",
@@ -24,9 +24,16 @@
24
24
  "sideEffects": false,
25
25
  "exports": {
26
26
  ".": {
27
- "types": "./dist/index.d.ts",
28
- "import": "./dist/index.mjs",
29
- "require": "./dist/index.cjs"
27
+ "browser": {
28
+ "types": "./dist/browser.d.ts",
29
+ "import": "./dist/browser.mjs",
30
+ "require": "./dist/browser.cjs"
31
+ },
32
+ "default": {
33
+ "types": "./dist/index.d.ts",
34
+ "import": "./dist/index.mjs",
35
+ "require": "./dist/index.cjs"
36
+ }
30
37
  },
31
38
  "./likec4lib": {
32
39
  "types": "./dist/likec4lib.d.ts",
@@ -43,11 +50,6 @@
43
50
  "import": "./dist/protocol.mjs",
44
51
  "require": "./dist/protocol.cjs"
45
52
  },
46
- "./node": {
47
- "types": "./dist/node.d.ts",
48
- "import": "./dist/node.mjs",
49
- "require": "./dist/node.cjs"
50
- },
51
53
  "./model-graph": {
52
54
  "types": "./dist/model-graph/index.d.ts",
53
55
  "import": "./dist/model-graph/index.mjs",
@@ -59,9 +61,16 @@
59
61
  "access": "public",
60
62
  "exports": {
61
63
  ".": {
62
- "types": "./dist/index.d.ts",
63
- "import": "./dist/index.mjs",
64
- "require": "./dist/index.cjs"
64
+ "browser": {
65
+ "types": "./dist/browser.d.ts",
66
+ "import": "./dist/browser.mjs",
67
+ "require": "./dist/browser.cjs"
68
+ },
69
+ "default": {
70
+ "types": "./dist/index.d.ts",
71
+ "import": "./dist/index.mjs",
72
+ "require": "./dist/index.cjs"
73
+ }
65
74
  },
66
75
  "./likec4lib": {
67
76
  "types": "./dist/likec4lib.d.ts",
@@ -78,11 +87,6 @@
78
87
  "import": "./dist/protocol.mjs",
79
88
  "require": "./dist/protocol.cjs"
80
89
  },
81
- "./node": {
82
- "types": "./dist/node.d.ts",
83
- "import": "./dist/node.mjs",
84
- "require": "./dist/node.cjs"
85
- },
86
90
  "./model-graph": {
87
91
  "types": "./dist/model-graph/index.d.ts",
88
92
  "import": "./dist/model-graph/index.mjs",
@@ -100,7 +104,7 @@
100
104
  "generate": "langium generate && tsx scripts/generate-icons.ts",
101
105
  "dev": "run-p 'watch:*'",
102
106
  "lint": "run -T eslint src/ --fix",
103
- "clean": "run -T rimraf dist contrib",
107
+ "clean": "rm -r -f dist contrib",
104
108
  "test": "vitest run --no-isolate",
105
109
  "test-dbg": "vitest run --no-isolate -t formating",
106
110
  "vitest:ui": "vitest --no-isolate --ui",
@@ -108,8 +112,8 @@
108
112
  },
109
113
  "dependencies": {
110
114
  "@dagrejs/graphlib": "^2.2.4",
111
- "@likec4/core": "1.10.1",
112
- "@likec4/log": "1.10.1",
115
+ "@likec4/core": "1.11.0",
116
+ "@likec4/log": "1.11.0",
113
117
  "@msgpack/msgpack": "^3.0.0-beta2",
114
118
  "@smithy/util-base64": "^3.0.0",
115
119
  "fast-equals": "^5.0.1",
@@ -118,10 +122,10 @@
118
122
  "langium": "3.2.0",
119
123
  "object-hash": "^3.0.0",
120
124
  "p-debounce": "^4.0.0",
121
- "remeda": "^2.11.0",
125
+ "remeda": "^2.14.0",
122
126
  "string-hash": "^1.1.3",
123
127
  "strip-indent": "^4.0.0",
124
- "type-fest": "^4.26.1",
128
+ "type-fest": "4.26.1",
125
129
  "ufo": "^1.5.4",
126
130
  "vscode-jsonrpc": "8.2.0",
127
131
  "vscode-languageserver": "9.0.1",
@@ -129,12 +133,12 @@
129
133
  "vscode-uri": "3.0.8"
130
134
  },
131
135
  "devDependencies": {
132
- "@likec4/icons": "1.10.1",
133
- "@likec4/tsconfig": "1.10.1",
136
+ "@likec4/icons": "1.11.0",
137
+ "@likec4/tsconfig": "1.11.0",
134
138
  "@types/node": "^20.16.1",
135
139
  "@types/object-hash": "^3.0.6",
136
140
  "@types/string-hash": "^1.1.3",
137
- "@vitest/coverage-v8": "^2.1.0",
141
+ "@vitest/coverage-v8": "^2.1.1",
138
142
  "execa": "^9.3.1",
139
143
  "langium-cli": "3.2.0",
140
144
  "npm-run-all2": "^6.2.2",
@@ -142,7 +146,7 @@
142
146
  "turbo": "^2.1.1",
143
147
  "typescript": "^5.6.2",
144
148
  "unbuild": "^3.0.0-rc.7",
145
- "vitest": "^2.1.0"
149
+ "vitest": "^2.1.1"
146
150
  },
147
151
  "packageManager": "yarn@4.4.1"
148
152
  }
package/src/Rpc.ts CHANGED
@@ -35,15 +35,16 @@ export class Rpc implements Disposable {
35
35
  const DocumentBuilder = this.services.shared.workspace.DocumentBuilder
36
36
 
37
37
  const notifyModelParsed = debounce(
38
- () =>
39
- void connection.sendNotification(onDidChangeModel, '').catch(e => {
38
+ () => {
39
+ connection.sendNotification(onDidChangeModel, '').catch(e => {
40
40
  logger.error(`[ServerRpc] error sending onDidChangeModel: ${e}`)
41
41
  return Promise.resolve()
42
- }),
42
+ })
43
+ },
43
44
  {
44
45
  timing: 'both',
45
- waitMs: 350,
46
- maxWaitMs: 1000
46
+ waitMs: 300,
47
+ maxWaitMs: 600
47
48
  }
48
49
  )
49
50
 
@@ -54,7 +55,10 @@ export class Rpc implements Disposable {
54
55
  notifyModelParsed.cancel()
55
56
  }),
56
57
  modelBuilder.onModelParsed(() => notifyModelParsed.call()),
57
- connection.onRequest(fetchComputedModel, async cancelToken => {
58
+ connection.onRequest(fetchComputedModel, async ({ cleanCaches }, cancelToken) => {
59
+ if (cleanCaches) {
60
+ this.services.WorkspaceCache.clear()
61
+ }
58
62
  const model = await modelBuilder.buildComputedModel(cancelToken)
59
63
  return { model }
60
64
  }),
package/src/ast.ts CHANGED
@@ -288,7 +288,7 @@ export type ChecksFromDiagnostics = ReturnType<typeof checksFromDiagnostics>
288
288
  export type IsValidFn = ChecksFromDiagnostics['isValid']
289
289
 
290
290
  export function* streamModel(doc: LikeC4LangiumDocument, isValid: IsValidFn) {
291
- const traverseStack = doc.parseResult.value.models.flatMap(m => (isValid(m) ? m.elements : []))
291
+ const traverseStack = doc.parseResult.value.models.flatMap(m => m.elements)
292
292
  const relations = [] as ast.Relation[]
293
293
  let el
294
294
  while ((el = traverseStack.shift())) {
package/src/browser.ts CHANGED
@@ -2,6 +2,11 @@ import { startLanguageServer as startLanguim } from 'langium/lsp'
2
2
  import { BrowserMessageReader, BrowserMessageWriter, createConnection } from 'vscode-languageserver/browser'
3
3
  import { createLanguageServices } from './module'
4
4
 
5
+ export { setLogLevel } from './logger'
6
+ export type * from './model'
7
+ export type * from './module'
8
+ export { createCustomLanguageServices, createLanguageServices, LikeC4Module } from './module'
9
+
5
10
  // This is an example copied as is from here:
6
11
  // https://github.com/microsoft/vscode-extension-samples/blob/main/lsp-web-extension-sample/server/src/browserServerMain.ts
7
12
  // the only addition is the following line: