Skip to content

Commit 0ad87fa

Browse files
authored
Merge pull request #44 from lstreckeisen/CMI-69-FR-4.1-Generate-PlantUML-diagrams
Cmi 69 fr 4.1 generate plant uml diagrams
2 parents 0272a4a + 5df4252 commit 0ad87fa

30 files changed

+2713
-1648
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ syntaxes/
1111
.idea
1212
.DS_Store
1313
cml-ls/
14-
docs/*.png
14+
docs/*.png
15+
*.tsbuildinfo

.yarn/install-state.gz

-14.1 KB
Binary file not shown.

.yarn/releases/yarn-4.8.1.cjs

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

.yarn/releases/yarn-4.9.1.cjs

Lines changed: 948 additions & 0 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ npmScopes:
1414
npmAuthToken: <TOKEN>
1515
npmPublishRegistry: "https://npm.pkg.github.com/lstreckeisen"
1616

17-
yarnPath: .yarn/releases/yarn-4.8.1.cjs
17+
yarnPath: .yarn/releases/yarn-4.9.1.cjs

docs/class_generators.puml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@startuml
2+
3+
class ContextMapperCommandHandler {
4+
+ registerCommands(ExecuteCommandAcceptor)
5+
}
6+
7+
class GeneratorCommandExecutor {
8+
- serviceRegistry: ServiceRegistry
9+
+ execute(ContextMapperGenerator, unknown[], CancellationToken)
10+
}
11+
12+
interface ContextMapperGenerator {
13+
+ generate(ContextMappingModel, string, unknown[], CancellationToken)
14+
}
15+
16+
ContextMapperCommandHandler *-- "1" GeneratorCommandExecutor
17+
ContextMapperCommandHandler o-- "0..*" ContextMapperGenerator
18+
19+
@enduml

esbuild.mjs

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

eslint.config.mjs

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,30 @@
1-
import eslint from '@eslint/js'
2-
import typescriptEslint from 'typescript-eslint';
1+
import tsLint from 'typescript-eslint'
2+
import stylisticLint from '@stylistic/eslint-plugin-ts'
33

4-
export default typescriptEslint.config({
4+
const files = ['src/**/*.ts', 'test/**/*.ts']
5+
6+
export default tsLint.config({
57
ignores: [
6-
'esbuild.mjs',
7-
'eslint.config.mjs',
8-
'**/generated/**'
9-
],
8+
'**/generated/**',
9+
'**/*.{js,cjs,mjs}'
10+
]
1011
},
11-
eslint.configs.recommended,
12-
typescriptEslint.configs.recommendedTypeChecked,
13-
typescriptEslint.configs.stylisticTypeChecked,
12+
tsLint.configs.recommendedTypeChecked.map((config) => {
13+
return {
14+
...config,
15+
files
16+
}
17+
}),
1418
{
19+
...stylisticLint.configs.all,
20+
files
21+
},
22+
{
23+
files,
1524
languageOptions: {
1625
parserOptions: {
17-
project: ['./tsconfig.json']
26+
project: ['./tsconfig.json'],
27+
tsconfigRootDir: import.meta.dirname
1828
}
1929
},
2030
rules: {
@@ -25,7 +35,22 @@ export default typescriptEslint.config({
2535
'varsIgnorePattern': '^_',
2636
'caughtErrorsIgnorePattern': '^_'
2737
}
28-
]
38+
],
39+
'@stylistic/ts/indent': ['error', 2],
40+
'@stylistic/ts/quotes': ['error', 'single'],
41+
'@stylistic/ts/semi': ['error', 'never'],
42+
'@stylistic/ts/object-curly-spacing': ['error', 'always'],
43+
'@stylistic/ts/quote-props': ['error', 'consistent-as-needed'],
44+
'@stylistic/ts/member-delimiter-style': ['error', {
45+
multiline: {
46+
delimiter: 'comma',
47+
requireLast: false
48+
},
49+
singleline: {
50+
delimiter: 'comma',
51+
requireLast: false
52+
}
53+
}]
2954
}
3055
}
31-
);
56+
)

package.json

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@lstreckeisen/context-mapper-language-server",
33
"description": "Langium language server for the ContextMapper DSL",
4-
"version": "0.3.0",
4+
"version": "0.4.0",
55
"license": "Apache-2.0",
66
"publishConfig": {
77
"registry": "https://npm.pkg.github.com"
@@ -15,21 +15,15 @@
1515
"type": "url",
1616
"url": "https://github.com/lstreckeisen/context-mapper-language-server.git"
1717
},
18-
"main": "cml-ls/index.cjs",
19-
"bin": {
20-
"cml-language-server": "cml-ls/index.cjs"
21-
},
2218
"scripts": {
23-
"build": "tsc -b tsconfig.src.json && node esbuild.mjs",
24-
"watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.src.json --watch\" \"node esbuild.mjs --watch\"",
25-
"lint": "eslint src test --ext ts",
26-
"lint:fix": "eslint src test --ext ts --fix",
19+
"build": "tsc -b tsconfig.src.json",
20+
"lint": "eslint",
21+
"lint:fix": "eslint --fix",
2722
"langium:generate": "langium generate",
2823
"langium:generate:production": "langium generate --mode=production",
29-
"langium:watch": "langium generate --watch",
30-
"bundle:language-server": "npx ncc build dist/main.cjs -o cml-ls",
24+
"bundle:language-server": "npx ncc build out/language/main.js -o cml-ls",
3125
"test": "vitest run --coverage",
32-
"clean": "rm -rf src/language/generated && rm -rf cml-ls/ && rm -rf dist/"
26+
"clean": "rm -rf src/language/generated && rm -rf cml-ls/ && rm -rf out/"
3327
},
3428
"dependencies": {
3529
"langium": "~3.5.0",
@@ -38,17 +32,17 @@
3832
},
3933
"devDependencies": {
4034
"@eslint/js": "^9.26.0",
35+
"@stylistic/eslint-plugin-ts": "^4.2.0",
4136
"@types/node": "^22.15.17",
4237
"@vercel/ncc": "^0.38.3",
4338
"@vitest/coverage-v8": "^3.1.3",
4439
"concurrently": "~9.1.2",
45-
"esbuild": "~0.25.4",
4640
"eslint": "~9.26.0",
4741
"jiti": "^2.4.2",
4842
"langium-cli": "~3.5.0",
4943
"typescript": "~5.8.3",
50-
"typescript-eslint": "^8.32.0",
44+
"typescript-eslint": "^8.32.1",
5145
"vitest": "^3.1.3"
5246
},
53-
"packageManager": "yarn@4.8.1"
47+
"packageManager": "yarn@4.9.1"
5448
}

0 commit comments

Comments
 (0)