wip-monaco
Hugo PRADIER 2 years ago
parent 6d5db1ce62
commit 0881cc687f

@ -22,10 +22,21 @@
"tsConfig": "tsconfig.app.json", "tsConfig": "tsconfig.app.json",
"assets": [ "assets": [
"src/favicon.ico", "src/favicon.ico",
"src/assets" "src/assets",
{
"glob": "**/*",
"input": "node_modules/monaco-editor/min",
"output": "./assets/monaco/min"
},
{
"glob": "**/*",
"input": "node_modules/monaco-editor/min-maps",
"output": "./assets/monaco/min-maps"
}
], ],
"styles": [ "styles": [
"src/styles.css" "src/styles.css",
"node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css"
], ],
"scripts": [] "scripts": []
}, },

@ -16,6 +16,8 @@
"@angular/platform-browser": "^16.2.0", "@angular/platform-browser": "^16.2.0",
"@angular/platform-browser-dynamic": "^16.2.0", "@angular/platform-browser-dynamic": "^16.2.0",
"@angular/router": "^16.2.0", "@angular/router": "^16.2.0",
"monaco-editor": "^0.41.0",
"ngx-monaco-editor-v2": "^16.0.1",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.13.0" "zone.js": "~0.13.0"
@ -25,12 +27,14 @@
"@angular/cli": "~16.2.2", "@angular/cli": "~16.2.2",
"@angular/compiler-cli": "^16.2.0", "@angular/compiler-cli": "^16.2.0",
"@types/jasmine": "~4.3.0", "@types/jasmine": "~4.3.0",
"css-loader": "^6.8.1",
"jasmine-core": "~4.6.0", "jasmine-core": "~4.6.0",
"karma": "~6.4.0", "karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0", "karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0", "karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0", "karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0", "karma-jasmine-html-reporter": "~2.1.0",
"style-loader": "^3.3.3",
"typescript": "~5.1.3" "typescript": "~5.1.3"
} }
}, },
@ -48,12 +52,12 @@
} }
}, },
"node_modules/@angular-devkit/architect": { "node_modules/@angular-devkit/architect": {
"version": "0.1602.2", "version": "0.1602.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.3.tgz",
"integrity": "sha512-JFIeKKW7V2+/C8+pTReM6gfQkVU9l1IR1OCb9vvHWTRvuTr7E5h2L1rUInnmLiRWkEvkYfG29B+UPpYlkVl9oQ==", "integrity": "sha512-7f4U5LzAYRcQcOvRJwunSwLd5/nwbNxY/E4jTgwFxCNvCBSMysNJBi3g9v0t8zm2XYOv4ok5eYqIwriXVypRBg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"rxjs": "7.8.1" "rxjs": "7.8.1"
}, },
"engines": { "engines": {
@ -63,15 +67,15 @@
} }
}, },
"node_modules/@angular-devkit/build-angular": { "node_modules/@angular-devkit/build-angular": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.3.tgz",
"integrity": "sha512-j2lni4mN6NaMLT85sJUPSz/pNuaTCAYG3EYUeuMRNkC5keH/f4W0Tiuq6DxY4OLEF1JnEnfkp+k0Z84mEti/xA==", "integrity": "sha512-GQo14ui3jGBa3ORslO9AcNLCmLuV6EohFk7KbHMTpTY1267z3kdkJfUXhwPKTYQX4ZvQZK2lHLMrSjpFQ5vtOQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@ampproject/remapping": "2.2.1", "@ampproject/remapping": "2.2.1",
"@angular-devkit/architect": "0.1602.2", "@angular-devkit/architect": "0.1602.3",
"@angular-devkit/build-webpack": "0.1602.2", "@angular-devkit/build-webpack": "0.1602.3",
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"@babel/core": "7.22.9", "@babel/core": "7.22.9",
"@babel/generator": "7.22.9", "@babel/generator": "7.22.9",
"@babel/helper-annotate-as-pure": "7.22.5", "@babel/helper-annotate-as-pure": "7.22.5",
@ -83,7 +87,7 @@
"@babel/runtime": "7.22.6", "@babel/runtime": "7.22.6",
"@babel/template": "7.22.5", "@babel/template": "7.22.5",
"@discoveryjs/json-ext": "0.5.7", "@discoveryjs/json-ext": "0.5.7",
"@ngtools/webpack": "16.2.2", "@ngtools/webpack": "16.2.3",
"@vitejs/plugin-basic-ssl": "1.0.1", "@vitejs/plugin-basic-ssl": "1.0.1",
"ansi-colors": "4.1.3", "ansi-colors": "4.1.3",
"autoprefixer": "10.4.14", "autoprefixer": "10.4.14",
@ -191,12 +195,12 @@
"dev": true "dev": true
}, },
"node_modules/@angular-devkit/build-webpack": { "node_modules/@angular-devkit/build-webpack": {
"version": "0.1602.2", "version": "0.1602.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.3.tgz",
"integrity": "sha512-V9+tsBgNrXJPeabq9vJzN3Cfz9joaNOxs6l6M4XItcMGmAtzvxxGZ7qS5uRH1RE+SOMpYyh9uPY4QMHRNRD/gA==", "integrity": "sha512-ls2aC7UvM748f/UqCDNsz9apWb4ArAKHtJ1Jwxx1DUQo+qT4c9/8WpiqxgTNkZTjCZbZZG1Ojub/rviw9Y88lA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@angular-devkit/architect": "0.1602.2", "@angular-devkit/architect": "0.1602.3",
"rxjs": "7.8.1" "rxjs": "7.8.1"
}, },
"engines": { "engines": {
@ -210,9 +214,9 @@
} }
}, },
"node_modules/@angular-devkit/core": { "node_modules/@angular-devkit/core": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.3.tgz",
"integrity": "sha512-6H4FsvP3rLJaGiWpIhCFPS7ZeNoM4sSrnFtRhhecu6s7MidzE4aqzuGdzJpzLammw1KL+DuTlN0gpLtM1Bvcwg==", "integrity": "sha512-oZLdg2XTx7likYAXRj1CU0XmrsCfe5f2grj3iwuI3OB1LXwwpdbHBztruj03y3yHES+TnO+dIbkvRnvMXs7uAA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ajv": "8.12.0", "ajv": "8.12.0",
@ -237,12 +241,12 @@
} }
}, },
"node_modules/@angular-devkit/schematics": { "node_modules/@angular-devkit/schematics": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.3.tgz",
"integrity": "sha512-KeXIlibVrQEwIKbR9GViLKc3m1SXi/xuSXgIvSv+22FNu5i91ScsAhYLe65sDUL6m6MM1XQQMS46XN1Z9bRqQw==", "integrity": "sha512-+lBiHxi/C9HCfiCbtW25DldwvJDXXXv5oWw+Tg4s18BO/lYZLveGUEaZWu9ZJ5VIJ8GliUi2LohxhDxBkh4Oxg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"jsonc-parser": "3.2.0", "jsonc-parser": "3.2.0",
"magic-string": "0.30.1", "magic-string": "0.30.1",
"ora": "5.4.1", "ora": "5.4.1",
@ -255,9 +259,9 @@
} }
}, },
"node_modules/@angular/animations": { "node_modules/@angular/animations": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.6.tgz",
"integrity": "sha512-2reD50S9zWvhewRvwl320iuRICN9s0fI+3nKULlwcyJ0praLRhJ1SnaAK3NEEu7MWo3n9sb3iVTzA6S9qZRJ4g==", "integrity": "sha512-NHnHdZFKLr1PB8RhscjsE/DMSVHhtjCqc3bhtOiOMYfAgm4nYrSFvp6nAaT5OoMTeAWuM0n8/HvAiFweEQgVQA==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -265,19 +269,19 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "16.2.5" "@angular/core": "16.2.6"
} }
}, },
"node_modules/@angular/cli": { "node_modules/@angular/cli": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.3.tgz",
"integrity": "sha512-PmhR/NMVVCiATXxHLkVCV781Q5aa5DaYye9+plZGX3rdKTilEunRNIfT13w7IuRfa0K/pKZj6PJU1S6yb7sqZg==", "integrity": "sha512-XYewIme6CPxgyK9A4aBDUOwv88h8RHwCeLxuBQcOYY2kVhWIiQjFwdkODQPG0WZkRZxtwXk6wErIO80Nz1K8BA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@angular-devkit/architect": "0.1602.2", "@angular-devkit/architect": "0.1602.3",
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"@angular-devkit/schematics": "16.2.2", "@angular-devkit/schematics": "16.2.3",
"@schematics/angular": "16.2.2", "@schematics/angular": "16.2.3",
"@yarnpkg/lockfile": "1.1.0", "@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.3", "ansi-colors": "4.1.3",
"ini": "4.1.1", "ini": "4.1.1",
@ -303,9 +307,9 @@
} }
}, },
"node_modules/@angular/common": { "node_modules/@angular/common": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.6.tgz",
"integrity": "sha512-MCPSZfPXTEqdkswPczivwjqV117YeVjObtyxZsDAwrTZHzYBtfQreQG1XJ1IRRgDncznP6ke0mdH9LyD2LgZKQ==", "integrity": "sha512-BjnahvtJHh2zXfCZjpWit+zMkggl/PrgUtPd02egzLmEKyXIMmQLYNpDZ+Pqgpb7eefU8yBPhL7WA2oKFjHjSg==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -313,14 +317,14 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "16.2.5", "@angular/core": "16.2.6",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/compiler": { "node_modules/@angular/compiler": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.6.tgz",
"integrity": "sha512-DpLfWWZFk4lbr81W7sLRt15+/nbyyqTvz+UmGcrSfKBTSbV0VSoUjC3XZeIdPWoIgQXiKUCpaC0YXw0BjaOl0g==", "integrity": "sha512-FKv9isn8BdM9TydyhdqcFhFD8nn11+fGqg3qbIQnOlnLb0ryYign93zBmlx/qFu46PvPtTmhsa4saE2NwvrSbg==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -328,7 +332,7 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "16.2.5" "@angular/core": "16.2.6"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/core": { "@angular/core": {
@ -337,9 +341,9 @@
} }
}, },
"node_modules/@angular/compiler-cli": { "node_modules/@angular/compiler-cli": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.6.tgz",
"integrity": "sha512-6TtyFxro4iukVXhLlzxz7sVCMfAlNQhSYnizIJRSW31uQ0Uku8rjlUmX1tCAmhW6CacLumiz2tcy04Xn/QFWyw==", "integrity": "sha512-rzyI4dKVj8T9dCnZCIffoxZ2PplYLmC9yd65VoaKxOQFxf/95/hgIRdt5kafjnZvzFN1qUbQuEfyviY+KFdQKg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/core": "7.22.5", "@babel/core": "7.22.5",
@ -360,7 +364,7 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/compiler": "16.2.5", "@angular/compiler": "16.2.6",
"typescript": ">=4.9.3 <5.2" "typescript": ">=4.9.3 <5.2"
} }
}, },
@ -404,9 +408,9 @@
} }
}, },
"node_modules/@angular/core": { "node_modules/@angular/core": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.6.tgz",
"integrity": "sha512-Po2LMUnPg23D2qI7EYaoA4x3lRswx9nxfpwROzfFPbMNJ3JVbTK0HkTD2dFPGxRua2UjfJTb1um23tEGO4OGMQ==", "integrity": "sha512-F7kJbkVHLupdVQbwjjEuWp5rtxmfnL571VtqRN/8OJZAI2OjZjnSbL+FRZGEZHDmOZ2cNgPKpYt/d3nbK8hpSw==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -419,9 +423,9 @@
} }
}, },
"node_modules/@angular/forms": { "node_modules/@angular/forms": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.6.tgz",
"integrity": "sha512-iYJImRji1OiYIcC2mDBcXhtvPfAoEGT+HqZpivu+/ZPLuf+QegC9+ktJw90SQXR+xccmpkUb9MsJ52SN2MgkPA==", "integrity": "sha512-TsSpV6Oh0Z5WlCmRB6jEsChLA8ChBn8CY1uOkTh4YQEzdMCwvBvc1Q2DugER5iGvZU/hRNgjyHX7VR3ysB3JlQ==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -429,16 +433,16 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "16.2.5", "@angular/common": "16.2.6",
"@angular/core": "16.2.5", "@angular/core": "16.2.6",
"@angular/platform-browser": "16.2.5", "@angular/platform-browser": "16.2.6",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/platform-browser": { "node_modules/@angular/platform-browser": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.6.tgz",
"integrity": "sha512-p+1GH/M4Vwoyp7brKkNBcMTxscoZxA1zehetFlNr8kArXWiISgPolyqOVzvT6cycYKu5uSRLnvHOTDss6xrAuA==", "integrity": "sha512-jXtarSZ/n6ytZQ9+Y0aDuazz5POz4UmLN3GxIWtc4kqPOQp4o3DCM16Ig4ioSm53Z/WSDASVaMwtRWN5SXCKfw==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -446,9 +450,9 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/animations": "16.2.5", "@angular/animations": "16.2.6",
"@angular/common": "16.2.5", "@angular/common": "16.2.6",
"@angular/core": "16.2.5" "@angular/core": "16.2.6"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/animations": { "@angular/animations": {
@ -457,9 +461,9 @@
} }
}, },
"node_modules/@angular/platform-browser-dynamic": { "node_modules/@angular/platform-browser-dynamic": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.6.tgz",
"integrity": "sha512-kzC4z/KmLss8Du9uM1Q16r+3EqDExKKHnrb3G3tuEQ1jTvYCysdWoooVSBmtIlQUw13znpBm1B7XLoyviFvnwA==", "integrity": "sha512-i3prfdjnOMMemQMLk7vywGueDsjRIcug+jNf4ZdSb4AEaAhv86mzt5z3iNNSSA3bec7oJfrxOayMz3o6zq3QXA==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -467,16 +471,16 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "16.2.5", "@angular/common": "16.2.6",
"@angular/compiler": "16.2.5", "@angular/compiler": "16.2.6",
"@angular/core": "16.2.5", "@angular/core": "16.2.6",
"@angular/platform-browser": "16.2.5" "@angular/platform-browser": "16.2.6"
} }
}, },
"node_modules/@angular/router": { "node_modules/@angular/router": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.6.tgz",
"integrity": "sha512-5IXhe6G7zYFUwHSfUgPw+I/q6M1AcfSyaOVcjMFQ94bVSWEMq5KrGCDc8HQtkdw7GqJ4txwbyQKSKp7khpqShQ==", "integrity": "sha512-huORA6D1UriaswbvVgfxpYQJofZ3hSDdJYRMI4lDcu1n6CaCoYnj8E3rqaU5U1Va0OeFmxzOuXG+3WyL+YfZgg==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -484,9 +488,9 @@
"node": "^16.14.0 || >=18.10.0" "node": "^16.14.0 || >=18.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "16.2.5", "@angular/common": "16.2.6",
"@angular/core": "16.2.5", "@angular/core": "16.2.6",
"@angular/platform-browser": "16.2.5", "@angular/platform-browser": "16.2.6",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
@ -2845,9 +2849,9 @@
"dev": true "dev": true
}, },
"node_modules/@ngtools/webpack": { "node_modules/@ngtools/webpack": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.3.tgz",
"integrity": "sha512-BDZ2yyXdzVE8kILOM0lhRpmKlvfLMluuZvqVa1r5dHkjCLbyOo1jXoYTCXvrQ2JU5GXc/MBBLXwmIHgtPWk8/A==", "integrity": "sha512-GkMGYMXL2tyxjjh7plKOFptJJPU2arzxLsYZs706InOJKmM9pE9prz//LohSdcXiPAw+S3Qfsc27k/VqNdKJxA==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^16.14.0 || >=18.10.0", "node": "^16.14.0 || >=18.10.0",
@ -3044,13 +3048,13 @@
} }
}, },
"node_modules/@schematics/angular": { "node_modules/@schematics/angular": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.3.tgz",
"integrity": "sha512-OqPhpodkQx9pzSz7H2AGeEbf3ut6WOkJFP2YlX2JIGholfG/0FQMJmfTEyRoFXCBeVIDGt3sOmlfK7An0PS8uA==", "integrity": "sha512-QZOh6iH3BQo4azmqGIoydW95KuxTGezTXl+cfekr4ru5IJ7FqCwrg4wQKWD8/3FkxakXjAFdqsWhlxn1kGtyqw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"@angular-devkit/schematics": "16.2.2", "@angular-devkit/schematics": "16.2.3",
"jsonc-parser": "3.2.0" "jsonc-parser": "3.2.0"
}, },
"engines": { "engines": {
@ -3305,9 +3309,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.6.2", "version": "20.6.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz",
"integrity": "sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==", "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==",
"dev": true "dev": true
}, },
"node_modules/@types/qs": { "node_modules/@types/qs": {
@ -4211,9 +4215,9 @@
"dev": true "dev": true
}, },
"node_modules/browserslist": { "node_modules/browserslist": {
"version": "4.21.10", "version": "4.21.11",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz",
"integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -4230,10 +4234,10 @@
} }
], ],
"dependencies": { "dependencies": {
"caniuse-lite": "^1.0.30001517", "caniuse-lite": "^1.0.30001538",
"electron-to-chromium": "^1.4.477", "electron-to-chromium": "^1.4.526",
"node-releases": "^2.0.13", "node-releases": "^2.0.13",
"update-browserslist-db": "^1.0.11" "update-browserslist-db": "^1.0.13"
}, },
"bin": { "bin": {
"browserslist": "cli.js" "browserslist": "cli.js"
@ -4323,9 +4327,9 @@
} }
}, },
"node_modules/cacache/node_modules/glob": { "node_modules/cacache/node_modules/glob": {
"version": "10.3.4", "version": "10.3.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz",
"integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"foreground-child": "^3.1.0", "foreground-child": "^3.1.0",
@ -4409,9 +4413,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001535", "version": "1.0.30001538",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001535.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz",
"integrity": "sha512-48jLyUkiWFfhm/afF7cQPqPjaUmSraEhK4j+FCTJpgnGGEZHqyLe3hmWH7lIooZdSzXL0ReMvHz0vKDoTBsrwg==", "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -5369,9 +5373,9 @@
"dev": true "dev": true
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.523", "version": "1.4.527",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz",
"integrity": "sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==", "integrity": "sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA==",
"dev": true "dev": true
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -6089,9 +6093,9 @@
"dev": true "dev": true
}, },
"node_modules/follow-redirects": { "node_modules/follow-redirects": {
"version": "1.15.2", "version": "1.15.3",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -8431,6 +8435,11 @@
"mkdirp": "bin/cmd.js" "mkdirp": "bin/cmd.js"
} }
}, },
"node_modules/monaco-editor": {
"version": "0.41.0",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.41.0.tgz",
"integrity": "sha512-1o4olnZJsiLmv5pwLEAmzHTE/5geLKQ07BrGxlF4Ri/AXAc2yyDGZwHjiTqD8D/ROKUZmwMA28A+yEowLNOEcA=="
},
"node_modules/mrmime": { "node_modules/mrmime": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
@ -8539,6 +8548,19 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true "dev": true
}, },
"node_modules/ngx-monaco-editor-v2": {
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/ngx-monaco-editor-v2/-/ngx-monaco-editor-v2-16.0.1.tgz",
"integrity": "sha512-fhvqiQUtzEB3o6W1PrMzZkAM7N9owhoXiUF5Go/Bl/nOL90O22el+TUhszTz1o24ZQnPQZeNKhN7O+u/jVAWtg==",
"dependencies": {
"tslib": "^2.1.0"
},
"peerDependencies": {
"@angular/common": "^16.0.4",
"@angular/core": "^16.0.4",
"monaco-editor": "^0.41.0"
}
},
"node_modules/nice-napi": { "node_modules/nice-napi": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
@ -9774,9 +9796,9 @@
} }
}, },
"node_modules/read-package-json/node_modules/glob": { "node_modules/read-package-json/node_modules/glob": {
"version": "10.3.4", "version": "10.3.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz",
"integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"foreground-child": "^3.1.0", "foreground-child": "^3.1.0",
@ -10766,9 +10788,9 @@
} }
}, },
"node_modules/spdx-license-ids": { "node_modules/spdx-license-ids": {
"version": "3.0.13", "version": "3.0.15",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz",
"integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==",
"dev": true "dev": true
}, },
"node_modules/spdy": { "node_modules/spdy": {
@ -10923,6 +10945,22 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/style-loader": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz",
"integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==",
"dev": true,
"engines": {
"node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
"webpack": "^5.0.0"
}
},
"node_modules/supports-color": { "node_modules/supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@ -11419,9 +11457,9 @@
} }
}, },
"node_modules/update-browserslist-db": { "node_modules/update-browserslist-db": {
"version": "1.0.11", "version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
"integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -11806,9 +11844,9 @@
} }
}, },
"node_modules/webpack-dev-server/node_modules/ws": { "node_modules/webpack-dev-server/node_modules/ws": {
"version": "8.14.1", "version": "8.14.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
"integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==", "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
@ -12212,25 +12250,25 @@
} }
}, },
"@angular-devkit/architect": { "@angular-devkit/architect": {
"version": "0.1602.2", "version": "0.1602.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.3.tgz",
"integrity": "sha512-JFIeKKW7V2+/C8+pTReM6gfQkVU9l1IR1OCb9vvHWTRvuTr7E5h2L1rUInnmLiRWkEvkYfG29B+UPpYlkVl9oQ==", "integrity": "sha512-7f4U5LzAYRcQcOvRJwunSwLd5/nwbNxY/E4jTgwFxCNvCBSMysNJBi3g9v0t8zm2XYOv4ok5eYqIwriXVypRBg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"rxjs": "7.8.1" "rxjs": "7.8.1"
} }
}, },
"@angular-devkit/build-angular": { "@angular-devkit/build-angular": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.3.tgz",
"integrity": "sha512-j2lni4mN6NaMLT85sJUPSz/pNuaTCAYG3EYUeuMRNkC5keH/f4W0Tiuq6DxY4OLEF1JnEnfkp+k0Z84mEti/xA==", "integrity": "sha512-GQo14ui3jGBa3ORslO9AcNLCmLuV6EohFk7KbHMTpTY1267z3kdkJfUXhwPKTYQX4ZvQZK2lHLMrSjpFQ5vtOQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@ampproject/remapping": "2.2.1", "@ampproject/remapping": "2.2.1",
"@angular-devkit/architect": "0.1602.2", "@angular-devkit/architect": "0.1602.3",
"@angular-devkit/build-webpack": "0.1602.2", "@angular-devkit/build-webpack": "0.1602.3",
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"@babel/core": "7.22.9", "@babel/core": "7.22.9",
"@babel/generator": "7.22.9", "@babel/generator": "7.22.9",
"@babel/helper-annotate-as-pure": "7.22.5", "@babel/helper-annotate-as-pure": "7.22.5",
@ -12242,7 +12280,7 @@
"@babel/runtime": "7.22.6", "@babel/runtime": "7.22.6",
"@babel/template": "7.22.5", "@babel/template": "7.22.5",
"@discoveryjs/json-ext": "0.5.7", "@discoveryjs/json-ext": "0.5.7",
"@ngtools/webpack": "16.2.2", "@ngtools/webpack": "16.2.3",
"@vitejs/plugin-basic-ssl": "1.0.1", "@vitejs/plugin-basic-ssl": "1.0.1",
"ansi-colors": "4.1.3", "ansi-colors": "4.1.3",
"autoprefixer": "10.4.14", "autoprefixer": "10.4.14",
@ -12303,19 +12341,19 @@
} }
}, },
"@angular-devkit/build-webpack": { "@angular-devkit/build-webpack": {
"version": "0.1602.2", "version": "0.1602.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.3.tgz",
"integrity": "sha512-V9+tsBgNrXJPeabq9vJzN3Cfz9joaNOxs6l6M4XItcMGmAtzvxxGZ7qS5uRH1RE+SOMpYyh9uPY4QMHRNRD/gA==", "integrity": "sha512-ls2aC7UvM748f/UqCDNsz9apWb4ArAKHtJ1Jwxx1DUQo+qT4c9/8WpiqxgTNkZTjCZbZZG1Ojub/rviw9Y88lA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@angular-devkit/architect": "0.1602.2", "@angular-devkit/architect": "0.1602.3",
"rxjs": "7.8.1" "rxjs": "7.8.1"
} }
}, },
"@angular-devkit/core": { "@angular-devkit/core": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.3.tgz",
"integrity": "sha512-6H4FsvP3rLJaGiWpIhCFPS7ZeNoM4sSrnFtRhhecu6s7MidzE4aqzuGdzJpzLammw1KL+DuTlN0gpLtM1Bvcwg==", "integrity": "sha512-oZLdg2XTx7likYAXRj1CU0XmrsCfe5f2grj3iwuI3OB1LXwwpdbHBztruj03y3yHES+TnO+dIbkvRnvMXs7uAA==",
"dev": true, "dev": true,
"requires": { "requires": {
"ajv": "8.12.0", "ajv": "8.12.0",
@ -12327,12 +12365,12 @@
} }
}, },
"@angular-devkit/schematics": { "@angular-devkit/schematics": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.3.tgz",
"integrity": "sha512-KeXIlibVrQEwIKbR9GViLKc3m1SXi/xuSXgIvSv+22FNu5i91ScsAhYLe65sDUL6m6MM1XQQMS46XN1Z9bRqQw==", "integrity": "sha512-+lBiHxi/C9HCfiCbtW25DldwvJDXXXv5oWw+Tg4s18BO/lYZLveGUEaZWu9ZJ5VIJ8GliUi2LohxhDxBkh4Oxg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"jsonc-parser": "3.2.0", "jsonc-parser": "3.2.0",
"magic-string": "0.30.1", "magic-string": "0.30.1",
"ora": "5.4.1", "ora": "5.4.1",
@ -12340,23 +12378,23 @@
} }
}, },
"@angular/animations": { "@angular/animations": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.6.tgz",
"integrity": "sha512-2reD50S9zWvhewRvwl320iuRICN9s0fI+3nKULlwcyJ0praLRhJ1SnaAK3NEEu7MWo3n9sb3iVTzA6S9qZRJ4g==", "integrity": "sha512-NHnHdZFKLr1PB8RhscjsE/DMSVHhtjCqc3bhtOiOMYfAgm4nYrSFvp6nAaT5OoMTeAWuM0n8/HvAiFweEQgVQA==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/cli": { "@angular/cli": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.3.tgz",
"integrity": "sha512-PmhR/NMVVCiATXxHLkVCV781Q5aa5DaYye9+plZGX3rdKTilEunRNIfT13w7IuRfa0K/pKZj6PJU1S6yb7sqZg==", "integrity": "sha512-XYewIme6CPxgyK9A4aBDUOwv88h8RHwCeLxuBQcOYY2kVhWIiQjFwdkODQPG0WZkRZxtwXk6wErIO80Nz1K8BA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@angular-devkit/architect": "0.1602.2", "@angular-devkit/architect": "0.1602.3",
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"@angular-devkit/schematics": "16.2.2", "@angular-devkit/schematics": "16.2.3",
"@schematics/angular": "16.2.2", "@schematics/angular": "16.2.3",
"@yarnpkg/lockfile": "1.1.0", "@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.3", "ansi-colors": "4.1.3",
"ini": "4.1.1", "ini": "4.1.1",
@ -12374,25 +12412,25 @@
} }
}, },
"@angular/common": { "@angular/common": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.6.tgz",
"integrity": "sha512-MCPSZfPXTEqdkswPczivwjqV117YeVjObtyxZsDAwrTZHzYBtfQreQG1XJ1IRRgDncznP6ke0mdH9LyD2LgZKQ==", "integrity": "sha512-BjnahvtJHh2zXfCZjpWit+zMkggl/PrgUtPd02egzLmEKyXIMmQLYNpDZ+Pqgpb7eefU8yBPhL7WA2oKFjHjSg==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/compiler": { "@angular/compiler": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.6.tgz",
"integrity": "sha512-DpLfWWZFk4lbr81W7sLRt15+/nbyyqTvz+UmGcrSfKBTSbV0VSoUjC3XZeIdPWoIgQXiKUCpaC0YXw0BjaOl0g==", "integrity": "sha512-FKv9isn8BdM9TydyhdqcFhFD8nn11+fGqg3qbIQnOlnLb0ryYign93zBmlx/qFu46PvPtTmhsa4saE2NwvrSbg==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/compiler-cli": { "@angular/compiler-cli": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.6.tgz",
"integrity": "sha512-6TtyFxro4iukVXhLlzxz7sVCMfAlNQhSYnizIJRSW31uQ0Uku8rjlUmX1tCAmhW6CacLumiz2tcy04Xn/QFWyw==", "integrity": "sha512-rzyI4dKVj8T9dCnZCIffoxZ2PplYLmC9yd65VoaKxOQFxf/95/hgIRdt5kafjnZvzFN1qUbQuEfyviY+KFdQKg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/core": "7.22.5", "@babel/core": "7.22.5",
@ -12439,41 +12477,41 @@
} }
}, },
"@angular/core": { "@angular/core": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.6.tgz",
"integrity": "sha512-Po2LMUnPg23D2qI7EYaoA4x3lRswx9nxfpwROzfFPbMNJ3JVbTK0HkTD2dFPGxRua2UjfJTb1um23tEGO4OGMQ==", "integrity": "sha512-F7kJbkVHLupdVQbwjjEuWp5rtxmfnL571VtqRN/8OJZAI2OjZjnSbL+FRZGEZHDmOZ2cNgPKpYt/d3nbK8hpSw==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/forms": { "@angular/forms": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.6.tgz",
"integrity": "sha512-iYJImRji1OiYIcC2mDBcXhtvPfAoEGT+HqZpivu+/ZPLuf+QegC9+ktJw90SQXR+xccmpkUb9MsJ52SN2MgkPA==", "integrity": "sha512-TsSpV6Oh0Z5WlCmRB6jEsChLA8ChBn8CY1uOkTh4YQEzdMCwvBvc1Q2DugER5iGvZU/hRNgjyHX7VR3ysB3JlQ==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/platform-browser": { "@angular/platform-browser": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.6.tgz",
"integrity": "sha512-p+1GH/M4Vwoyp7brKkNBcMTxscoZxA1zehetFlNr8kArXWiISgPolyqOVzvT6cycYKu5uSRLnvHOTDss6xrAuA==", "integrity": "sha512-jXtarSZ/n6ytZQ9+Y0aDuazz5POz4UmLN3GxIWtc4kqPOQp4o3DCM16Ig4ioSm53Z/WSDASVaMwtRWN5SXCKfw==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/platform-browser-dynamic": { "@angular/platform-browser-dynamic": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.6.tgz",
"integrity": "sha512-kzC4z/KmLss8Du9uM1Q16r+3EqDExKKHnrb3G3tuEQ1jTvYCysdWoooVSBmtIlQUw13znpBm1B7XLoyviFvnwA==", "integrity": "sha512-i3prfdjnOMMemQMLk7vywGueDsjRIcug+jNf4ZdSb4AEaAhv86mzt5z3iNNSSA3bec7oJfrxOayMz3o6zq3QXA==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/router": { "@angular/router": {
"version": "16.2.5", "version": "16.2.6",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.5.tgz", "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.6.tgz",
"integrity": "sha512-5IXhe6G7zYFUwHSfUgPw+I/q6M1AcfSyaOVcjMFQ94bVSWEMq5KrGCDc8HQtkdw7GqJ4txwbyQKSKp7khpqShQ==", "integrity": "sha512-huORA6D1UriaswbvVgfxpYQJofZ3hSDdJYRMI4lDcu1n6CaCoYnj8E3rqaU5U1Va0OeFmxzOuXG+3WyL+YfZgg==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
@ -14044,9 +14082,9 @@
"dev": true "dev": true
}, },
"@ngtools/webpack": { "@ngtools/webpack": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.3.tgz",
"integrity": "sha512-BDZ2yyXdzVE8kILOM0lhRpmKlvfLMluuZvqVa1r5dHkjCLbyOo1jXoYTCXvrQ2JU5GXc/MBBLXwmIHgtPWk8/A==", "integrity": "sha512-GkMGYMXL2tyxjjh7plKOFptJJPU2arzxLsYZs706InOJKmM9pE9prz//LohSdcXiPAw+S3Qfsc27k/VqNdKJxA==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
@ -14186,13 +14224,13 @@
"optional": true "optional": true
}, },
"@schematics/angular": { "@schematics/angular": {
"version": "16.2.2", "version": "16.2.3",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.2.tgz", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.3.tgz",
"integrity": "sha512-OqPhpodkQx9pzSz7H2AGeEbf3ut6WOkJFP2YlX2JIGholfG/0FQMJmfTEyRoFXCBeVIDGt3sOmlfK7An0PS8uA==", "integrity": "sha512-QZOh6iH3BQo4azmqGIoydW95KuxTGezTXl+cfekr4ru5IJ7FqCwrg4wQKWD8/3FkxakXjAFdqsWhlxn1kGtyqw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@angular-devkit/core": "16.2.2", "@angular-devkit/core": "16.2.3",
"@angular-devkit/schematics": "16.2.2", "@angular-devkit/schematics": "16.2.3",
"jsonc-parser": "3.2.0" "jsonc-parser": "3.2.0"
} }
}, },
@ -14417,9 +14455,9 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "20.6.2", "version": "20.6.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz",
"integrity": "sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==", "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==",
"dev": true "dev": true
}, },
"@types/qs": { "@types/qs": {
@ -15148,15 +15186,15 @@
"dev": true "dev": true
}, },
"browserslist": { "browserslist": {
"version": "4.21.10", "version": "4.21.11",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz",
"integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"caniuse-lite": "^1.0.30001517", "caniuse-lite": "^1.0.30001538",
"electron-to-chromium": "^1.4.477", "electron-to-chromium": "^1.4.526",
"node-releases": "^2.0.13", "node-releases": "^2.0.13",
"update-browserslist-db": "^1.0.11" "update-browserslist-db": "^1.0.13"
} }
}, },
"buffer": { "buffer": {
@ -15220,9 +15258,9 @@
} }
}, },
"glob": { "glob": {
"version": "10.3.4", "version": "10.3.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz",
"integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==",
"dev": true, "dev": true,
"requires": { "requires": {
"foreground-child": "^3.1.0", "foreground-child": "^3.1.0",
@ -15278,9 +15316,9 @@
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001535", "version": "1.0.30001538",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001535.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz",
"integrity": "sha512-48jLyUkiWFfhm/afF7cQPqPjaUmSraEhK4j+FCTJpgnGGEZHqyLe3hmWH7lIooZdSzXL0ReMvHz0vKDoTBsrwg==", "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==",
"dev": true "dev": true
}, },
"chalk": { "chalk": {
@ -16005,9 +16043,9 @@
"dev": true "dev": true
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.523", "version": "1.4.527",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz",
"integrity": "sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==", "integrity": "sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
@ -16576,9 +16614,9 @@
"dev": true "dev": true
}, },
"follow-redirects": { "follow-redirects": {
"version": "1.15.2", "version": "1.15.3",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
"dev": true "dev": true
}, },
"foreground-child": { "foreground-child": {
@ -18332,6 +18370,11 @@
"minimist": "^1.2.6" "minimist": "^1.2.6"
} }
}, },
"monaco-editor": {
"version": "0.41.0",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.41.0.tgz",
"integrity": "sha512-1o4olnZJsiLmv5pwLEAmzHTE/5geLKQ07BrGxlF4Ri/AXAc2yyDGZwHjiTqD8D/ROKUZmwMA28A+yEowLNOEcA=="
},
"mrmime": { "mrmime": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
@ -18412,6 +18455,14 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true "dev": true
}, },
"ngx-monaco-editor-v2": {
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/ngx-monaco-editor-v2/-/ngx-monaco-editor-v2-16.0.1.tgz",
"integrity": "sha512-fhvqiQUtzEB3o6W1PrMzZkAM7N9owhoXiUF5Go/Bl/nOL90O22el+TUhszTz1o24ZQnPQZeNKhN7O+u/jVAWtg==",
"requires": {
"tslib": "^2.1.0"
}
},
"nice-napi": { "nice-napi": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
@ -19286,9 +19337,9 @@
} }
}, },
"glob": { "glob": {
"version": "10.3.4", "version": "10.3.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz",
"integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==",
"dev": true, "dev": true,
"requires": { "requires": {
"foreground-child": "^3.1.0", "foreground-child": "^3.1.0",
@ -20042,9 +20093,9 @@
} }
}, },
"spdx-license-ids": { "spdx-license-ids": {
"version": "3.0.13", "version": "3.0.15",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz",
"integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==",
"dev": true "dev": true
}, },
"spdy": { "spdy": {
@ -20169,6 +20220,13 @@
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true "dev": true
}, },
"style-loader": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz",
"integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==",
"dev": true,
"requires": {}
},
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@ -20516,9 +20574,9 @@
"dev": true "dev": true
}, },
"update-browserslist-db": { "update-browserslist-db": {
"version": "1.0.11", "version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
"integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
"dev": true, "dev": true,
"requires": { "requires": {
"escalade": "^3.1.1", "escalade": "^3.1.1",
@ -20792,9 +20850,9 @@
} }
}, },
"ws": { "ws": {
"version": "8.14.1", "version": "8.14.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
"integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==", "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
"dev": true, "dev": true,
"requires": {} "requires": {}
} }

@ -18,6 +18,8 @@
"@angular/platform-browser": "^16.2.0", "@angular/platform-browser": "^16.2.0",
"@angular/platform-browser-dynamic": "^16.2.0", "@angular/platform-browser-dynamic": "^16.2.0",
"@angular/router": "^16.2.0", "@angular/router": "^16.2.0",
"monaco-editor": "^0.41.0",
"ngx-monaco-editor-v2": "^16.0.1",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.13.0" "zone.js": "~0.13.0"
@ -27,12 +29,14 @@
"@angular/cli": "~16.2.2", "@angular/cli": "~16.2.2",
"@angular/compiler-cli": "^16.2.0", "@angular/compiler-cli": "^16.2.0",
"@types/jasmine": "~4.3.0", "@types/jasmine": "~4.3.0",
"css-loader": "^6.8.1",
"jasmine-core": "~4.6.0", "jasmine-core": "~4.6.0",
"karma": "~6.4.0", "karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0", "karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0", "karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0", "karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0", "karma-jasmine-html-reporter": "~2.1.0",
"style-loader": "^3.3.3",
"typescript": "~5.1.3" "typescript": "~5.1.3"
} }
} }

@ -6,5 +6,4 @@ import { Component } from '@angular/core';
styleUrls: ['./app.component.css'] styleUrls: ['./app.component.css']
}) })
export class AppComponent { export class AppComponent {
} }

@ -8,6 +8,52 @@ import { FooterComponent } from './footer/footer.component';
import { EditorComponent } from './editor/editor.component'; import { EditorComponent } from './editor/editor.component';
import { OutputComponent } from './output/output.component'; import { OutputComponent } from './output/output.component';
import { LandingPageComponent } from './landing-page/landing-page.component'; import { LandingPageComponent } from './landing-page/landing-page.component';
import { MonacoEditorModule, NgxMonacoEditorConfig } from 'ngx-monaco-editor-v2';
import { FormsModule } from '@angular/forms';
import * as monaco from 'monaco-editor';
export function onMonacoLoad() {
console.log((window as any).monaco);
const uri = monaco.Uri.parse('a://b/foo.json');
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
validate: true,
schemas: [{
uri: 'http://myserver/foo-schema.json',
fileMatch: [uri.toString()],
schema: {
type: 'object',
properties: {
p1: {
enum: ['v1', 'v2']
},
p2: {
$ref: 'http://myserver/bar-schema.json'
}
}
}
}, {
uri: 'http://myserver/bar-schema.json',
fileMatch: [uri.toString()],
schema: {
type: 'object',
properties: {
q1: {
enum: ['x1', 'x2']
}
}
}
}]
});
}
const monacoConfig: NgxMonacoEditorConfig = {
baseUrl: 'sandkasten/assets', // configure base path for monaco editor. Starting with version 8.0.0 it defaults to './assets'. Previous releases default to '/assets'
defaultOptions: { scrollBeyondLastLine: false }, // pass default options to be used
onMonacoLoad
};
@NgModule({ @NgModule({
declarations: [ declarations: [
@ -20,7 +66,9 @@ import { LandingPageComponent } from './landing-page/landing-page.component';
], ],
imports: [ imports: [
BrowserModule, BrowserModule,
AppRoutingModule AppRoutingModule,
FormsModule,
MonacoEditorModule.forRoot(monacoConfig)
], ],
providers: [], providers: [],
bootstrap: [AppComponent] bootstrap: [AppComponent]

@ -3,3 +3,9 @@
min-height: 80vh; min-height: 80vh;
width: 100%; width: 100%;
} }
.my-code-editor {
.editor-container {
height: calc(100vh - 100px);
}
}

@ -1,10 +1,17 @@
<div class="code_input"> <div class="code_input">
<textarea <!-- <textarea
class="code_input_textarea" class="code_input_textarea"
id="code_input" id="code_input"
name="code_input" name="code_input"
placeholder="Enter your code here..." placeholder="Enter your code here..."
></textarea> ></textarea> -->
<div style="height: 500px">
<ngx-monaco-editor [options]="editorOptions" [(ngModel)]="code" (onInit)="onInit($event)"></ngx-monaco-editor>
</div>
<ngx-monaco-diff-editor [options]="options" [originalModel]="originalModel" [modifiedModel]="modifiedModel"></ngx-monaco-diff-editor>
<button (click)="onRunButtonClicked()" [disabled]="isLoaded">Run</button> <button (click)="onRunButtonClicked()" [disabled]="isLoaded">Run</button>
<div *ngIf="!isLoaded"> <div *ngIf="!isLoaded">
<p>Loading: {{ loadingProgress }}%</p> <p>Loading: {{ loadingProgress }}%</p>

@ -1,5 +1,7 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { DiffEditorModel } from 'ngx-monaco-editor-v2';
import * as monacoEditor from 'monaco-editor';
@Component({ @Component({
selector: 'app-editor', selector: 'app-editor',
@ -32,4 +34,26 @@ export class EditorComponent implements OnInit{
} }
}, 50); // Augmenter la valeur pour ralentir la progression du chargement si nécessaire }, 50); // Augmenter la valeur pour ralentir la progression du chargement si nécessaire
} }
editorOptions = {theme: 'vs-dark', language: 'javascript'};
code: string= 'function x() {\nconsole.log("Hello world!");\n}';
options = {
theme: 'vs-dark'
};
originalModel: DiffEditorModel = {
code: 'heLLo world!',
language: 'text/plain'
};
modifiedModel: DiffEditorModel = {
code: 'hello orlando!',
language: 'text/plain'
};
onInit(editor: monacoEditor.editor.IStandaloneCodeEditor) {
let line = editor.getPosition();
console.log(line);
}
} }

@ -0,0 +1,10 @@
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
],
},
};
Loading…
Cancel
Save