mirror of
https://github.com/kestra-io/kestra.git
synced 2025-12-19 18:05:41 -05:00
feat(core): vscode embed (#2273)
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -29,6 +29,7 @@ node_modules
|
||||
yarn-error.log
|
||||
yarn.lock
|
||||
ui/node_modules
|
||||
ui/public/vscode-web
|
||||
ui/.env.local
|
||||
ui/.env.*.local
|
||||
webserver/src/main/resources/ui
|
||||
|
||||
182
ui/package-lock.json
generated
182
ui/package-lock.json
generated
@@ -65,11 +65,13 @@
|
||||
"monaco-editor": "0.39.0",
|
||||
"monaco-yaml": "4.0.0-alpha.0",
|
||||
"prettier": "^3.0.3",
|
||||
"rollup-plugin-copy": "^3.5.0",
|
||||
"rollup-plugin-visualizer": "^5.9.2",
|
||||
"sass": "^1.69.0",
|
||||
"vite": "^4.4.11",
|
||||
"vite-plugin-rewrite-all": "^1.0.1",
|
||||
"vitest": "^0.34.6"
|
||||
"vitest": "^0.34.6",
|
||||
"vscode-web": "^1.82.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aashutoshrathi/word-wrap": {
|
||||
@@ -793,6 +795,25 @@
|
||||
"@types/chai": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/fs-extra": {
|
||||
"version": "8.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.4.tgz",
|
||||
"integrity": "sha512-OMcQKnlrkrOI0TaZ/MgVDA8LYFl7CykzFsjMj9l5x3un2nFxCY20ZFlnqrM0lcqlbs0Yro2HbnZlmopyRaoJ5w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/glob": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
|
||||
"integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/minimatch": "*",
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/json-schema": {
|
||||
"version": "7.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
|
||||
@@ -834,6 +855,12 @@
|
||||
"integrity": "sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/minimatch": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
|
||||
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz",
|
||||
@@ -1381,6 +1408,15 @@
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
|
||||
},
|
||||
"node_modules/array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
|
||||
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/assertion-error": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
|
||||
@@ -1719,6 +1755,12 @@
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/colorette": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
|
||||
"integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
@@ -2069,6 +2111,18 @@
|
||||
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dir-glob": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
|
||||
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"path-type": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/doctrine": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||
@@ -2795,6 +2849,51 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/globby": {
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz",
|
||||
"integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/glob": "^7.1.1",
|
||||
"array-union": "^2.1.0",
|
||||
"dir-glob": "^3.0.1",
|
||||
"fast-glob": "^3.0.3",
|
||||
"glob": "^7.1.3",
|
||||
"ignore": "^5.1.1",
|
||||
"merge2": "^1.2.3",
|
||||
"slash": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/globby/node_modules/glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.1.1",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/graceful-fs": {
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/graphemer": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
|
||||
@@ -3082,6 +3181,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-plain-object": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
|
||||
"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-potential-custom-element-name": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
|
||||
@@ -3864,6 +3972,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/path-type": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/pathe": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
|
||||
@@ -4172,6 +4289,54 @@
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-copy": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz",
|
||||
"integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/fs-extra": "^8.0.1",
|
||||
"colorette": "^1.1.0",
|
||||
"fs-extra": "^8.1.0",
|
||||
"globby": "10.0.1",
|
||||
"is-plain-object": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.3"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-copy/node_modules/fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6 <7 || >=8"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-copy/node_modules/jsonfile": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
||||
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
|
||||
"dev": true,
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-copy/node_modules/universalify": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
|
||||
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-inject": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz",
|
||||
@@ -4441,6 +4606,15 @@
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.7.4",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
|
||||
@@ -5347,6 +5521,12 @@
|
||||
"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/vscode-web": {
|
||||
"version": "1.82.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-web/-/vscode-web-1.82.0.tgz",
|
||||
"integrity": "sha512-DV8tat1rornEyiY+/uGUhjNBVrLcDrmaGQ+k2oYQDrdyA+UH84rCPtHVyXtV5nJ1K80amY4t2s3oxGHaluKxlw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
|
||||
|
||||
@@ -68,10 +68,12 @@
|
||||
"monaco-editor": "0.39.0",
|
||||
"monaco-yaml": "4.0.0-alpha.0",
|
||||
"prettier": "^3.0.3",
|
||||
"rollup-plugin-copy": "^3.5.0",
|
||||
"rollup-plugin-visualizer": "^5.9.2",
|
||||
"sass": "^1.69.0",
|
||||
"vite": "^4.4.11",
|
||||
"vite-plugin-rewrite-all": "^1.0.1",
|
||||
"vitest": "^0.34.6"
|
||||
"vitest": "^0.34.6",
|
||||
"vscode-web": "^1.82.0"
|
||||
}
|
||||
}
|
||||
|
||||
102
ui/public/vscode.html
Normal file
102
ui/public/vscode.html
Normal file
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Kestra - VSCode</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
const queryParams = Object.fromEntries(
|
||||
window.location.search.substring(1)
|
||||
.split("&")
|
||||
.map(str => str.split("="))
|
||||
);
|
||||
const KESTRA_UI_PATH = queryParams["KESTRA_UI_PATH"];
|
||||
const KESTRA_API_URL = queryParams["KESTRA_API_URL"];
|
||||
const THEME = queryParams["THEME"];
|
||||
|
||||
const style = document.createElement('style');
|
||||
style.type = 'text/css';
|
||||
style.innerHTML = 'html { background-color: ' + (THEME === 'dark' ? '#21242E' : '#F5F5FF') + '; }';
|
||||
document.getElementsByTagName('head')[0].appendChild(style);
|
||||
</script>
|
||||
|
||||
<script src="vscode-web/dist/out/vs/loader.js"></script>
|
||||
<script src="vscode-web/dist/out/vs/webPackagePaths.js"></script>
|
||||
<script>
|
||||
Object.keys(window.webPackagePaths).map(function (key) {
|
||||
window.webPackagePaths[key] = `${window.location.origin}${KESTRA_UI_PATH}vscode-web/dist/node_modules/${key}/${window.webPackagePaths[key]}`;
|
||||
});
|
||||
|
||||
require.config({
|
||||
baseUrl: `${window.location.origin}${KESTRA_UI_PATH}vscode-web/dist/out`,
|
||||
recordStats: true,
|
||||
trustedTypesPolicy: window.trustedTypes?.createPolicy("amdLoader", {
|
||||
createScriptURL(value) {
|
||||
return value;
|
||||
}
|
||||
}),
|
||||
paths: window.webPackagePaths
|
||||
});
|
||||
|
||||
// used to configure VSCode startup
|
||||
window.product = {
|
||||
productConfiguration: {
|
||||
nameShort: "Kestra VSCode",
|
||||
nameLong: "Kestra VSCode",
|
||||
// configure the open sx marketplace
|
||||
"extensionsGallery": {
|
||||
"serviceUrl": "https://open-vsx.org/vscode/gallery",
|
||||
"itemUrl": "https://open-vsx.org/vscode/item",
|
||||
"resourceUrlTemplate": "https://openvsxorg.blob.core.windows.net/resources/{publisher}/{name}/{version}/{path}"
|
||||
},
|
||||
},
|
||||
// scope the VSCode instance to Kestra File System Provider (defined in Kestra VSCode extension)
|
||||
folderUri: {
|
||||
scheme: "kestra",
|
||||
path: "/" + queryParams["namespace"]
|
||||
},
|
||||
additionalBuiltinExtensions: [
|
||||
{
|
||||
scheme: "https",
|
||||
authority: "openvsxorg.blob.core.windows.net",
|
||||
path: "/resources/PROxZIMA/sweetdracula/1.0.9/extension"
|
||||
},
|
||||
{
|
||||
scheme: window.location.protocol.replace(":", ""),
|
||||
authority: window.location.host,
|
||||
path: KESTRA_UI_PATH + "yamlExt"
|
||||
},
|
||||
{
|
||||
scheme: "https",
|
||||
authority: "openvsxorg.blob.core.windows.net",
|
||||
path: "/resources/kestra-io/kestra/0.1.2/extension"
|
||||
},
|
||||
],
|
||||
"linkProtectionTrustedDomains": [
|
||||
"https://open-vsx.org",
|
||||
"https://openvsxorg.blob.core.windows.net"
|
||||
],
|
||||
enabledExtensions: [
|
||||
// to handle dark theme
|
||||
"proxzima.sweetdracula",
|
||||
// to apply Kestra's flow validation schema
|
||||
"redhat.vscode-yaml",
|
||||
"kestra-io.kestra"
|
||||
],
|
||||
configurationDefaults: {
|
||||
"files.autoSave": "off",
|
||||
"editor.fontSize": 12,
|
||||
"workbench.colorTheme": THEME === "dark" ? "Sweet Dracula" : "Default Light Modern",
|
||||
// provide the Kestra root URL to extension
|
||||
"kestra.api.url": KESTRA_API_URL
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="vscode-web/dist/out/vs/workbench/workbench.web.main.nls.js"></script>
|
||||
<script src="vscode-web/dist/out/vs/workbench/workbench.web.main.js"></script>
|
||||
<script src="vscode-web/dist/out/vs/code/browser/workbench/workbench.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
5
ui/public/yamlExt/custom-settings.json
Normal file
5
ui/public/yamlExt/custom-settings.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"yaml.schemas": {
|
||||
"https://json.schemastore.org/kustomization.json": "/*"
|
||||
}
|
||||
}
|
||||
2
ui/public/yamlExt/dist/extension-web.js
vendored
Normal file
2
ui/public/yamlExt/dist/extension-web.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/public/yamlExt/dist/extension-web.js.map
vendored
Normal file
1
ui/public/yamlExt/dist/extension-web.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
3
ui/public/yamlExt/dist/extension.js
vendored
Normal file
3
ui/public/yamlExt/dist/extension.js
vendored
Normal file
File diff suppressed because one or more lines are too long
13
ui/public/yamlExt/dist/extension.js.LICENSE.txt
vendored
Normal file
13
ui/public/yamlExt/dist/extension.js.LICENSE.txt
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/*!
|
||||
* mime-db
|
||||
* Copyright(c) 2014 Jonathan Ong
|
||||
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/*!
|
||||
* mime-types
|
||||
* Copyright(c) 2014 Jonathan Ong
|
||||
* Copyright(c) 2015 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
1
ui/public/yamlExt/dist/extension.js.map
vendored
Normal file
1
ui/public/yamlExt/dist/extension.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
9
ui/public/yamlExt/dist/languageserver-web.js
vendored
Normal file
9
ui/public/yamlExt/dist/languageserver-web.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12
ui/public/yamlExt/dist/languageserver-web.js.LICENSE.txt
vendored
Normal file
12
ui/public/yamlExt/dist/languageserver-web.js.LICENSE.txt
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/*! https://mths.be/punycode v1.3.2 by @mathias */
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Lodash <https://lodash.com/>
|
||||
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
||||
* Released under MIT license <https://lodash.com/license>
|
||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||
*/
|
||||
|
||||
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
|
||||
1
ui/public/yamlExt/dist/languageserver-web.js.map
vendored
Normal file
1
ui/public/yamlExt/dist/languageserver-web.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
9
ui/public/yamlExt/dist/languageserver.js
vendored
Normal file
9
ui/public/yamlExt/dist/languageserver.js
vendored
Normal file
File diff suppressed because one or more lines are too long
25
ui/public/yamlExt/dist/languageserver.js.LICENSE.txt
vendored
Normal file
25
ui/public/yamlExt/dist/languageserver.js.LICENSE.txt
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||
this file except in compliance with the License. You may obtain a copy of the
|
||||
License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||||
MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||
|
||||
See the Apache Version 2.0 License for specific language governing permissions
|
||||
and limitations under the License.
|
||||
***************************************************************************** */
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Lodash <https://lodash.com/>
|
||||
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
||||
* Released under MIT license <https://lodash.com/license>
|
||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||
*/
|
||||
|
||||
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
|
||||
1
ui/public/yamlExt/dist/languageserver.js.map
vendored
Normal file
1
ui/public/yamlExt/dist/languageserver.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
38
ui/public/yamlExt/language-configuration.json
Normal file
38
ui/public/yamlExt/language-configuration.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"comments": {
|
||||
"lineComment": "#"
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"],
|
||||
["`", "`"]
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"],
|
||||
["`", "`"]
|
||||
],
|
||||
"folding": {
|
||||
"offSide": true,
|
||||
"markers": {
|
||||
"start": "^\\s*#\\s*region\\b",
|
||||
"end": "^\\s*#\\s*endregion\\b"
|
||||
}
|
||||
},
|
||||
"indentationRules": {
|
||||
"increaseIndentPattern": "^\\s*.*(:|-) ?(&\\w+)?(\\{[^}\"']*|\\([^)\"']*)?$",
|
||||
"decreaseIndentPattern": "^\\s+\\}$"
|
||||
},
|
||||
"wordPattern": "(^.?[^\\s]+)+|([^\\s\n={[][\\w\\-\\.\/$%&*:\"']+)"
|
||||
}
|
||||
304
ui/public/yamlExt/package.json
Normal file
304
ui/public/yamlExt/package.json
Normal file
@@ -0,0 +1,304 @@
|
||||
{
|
||||
"name": "vscode-yaml",
|
||||
"displayName": "YAML",
|
||||
"description": "YAML Language Support by Red Hat, with built-in Kubernetes syntax support",
|
||||
"author": "Red Hat",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Joshua Pinkney",
|
||||
"email": "jpinkney@redhat.com"
|
||||
},
|
||||
{
|
||||
"name": "Yevhen Vydolob",
|
||||
"email": "yvydolob@redhat.com"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"version": "1.14.0",
|
||||
"publisher": "redhat",
|
||||
"bugs": "https://github.com/redhat-developer/vscode-yaml/issues",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/redhat-developer/vscode-yaml"
|
||||
},
|
||||
"icon": "icon/icon128.png",
|
||||
"engines": {
|
||||
"npm": ">=7.0.0",
|
||||
"vscode": "^1.63.0"
|
||||
},
|
||||
"categories": [
|
||||
"Programming Languages",
|
||||
"Linters",
|
||||
"Snippets",
|
||||
"Formatters"
|
||||
],
|
||||
"capabilities": {
|
||||
"untrustedWorkspaces": {
|
||||
"supported": true
|
||||
},
|
||||
"virtualWorkspaces": true
|
||||
},
|
||||
"activationEvents": [
|
||||
"onLanguage:yaml",
|
||||
"onLanguage:dockercompose"
|
||||
],
|
||||
"keywords": [
|
||||
"kubernetes",
|
||||
"yaml",
|
||||
"autocompletion",
|
||||
"validation"
|
||||
],
|
||||
"main": "./dist/extension",
|
||||
"browser": "./dist/extension-web",
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "yaml",
|
||||
"aliases": [
|
||||
"YAML",
|
||||
"yaml"
|
||||
],
|
||||
"extensions": [
|
||||
".yml",
|
||||
".eyaml",
|
||||
".eyml",
|
||||
".yaml"
|
||||
],
|
||||
"filenames": [
|
||||
".clang-format",
|
||||
"_clang-format"
|
||||
],
|
||||
"firstLine": "^#cloud-config",
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "yaml",
|
||||
"scopeName": "source.yaml",
|
||||
"path": "./syntaxes/yaml.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"configuration": {
|
||||
"title:": "YAML",
|
||||
"properties": {
|
||||
"redhat.telemetry.enabled": {
|
||||
"type": "boolean",
|
||||
"default": null,
|
||||
"markdownDescription": "Enable usage data and errors to be sent to Red Hat servers. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection).",
|
||||
"scope": "window",
|
||||
"tags": [
|
||||
"telemetry",
|
||||
"usesOnlineServices"
|
||||
]
|
||||
},
|
||||
"yaml.yamlVersion": {
|
||||
"type": "string",
|
||||
"default": "1.2",
|
||||
"enum": [
|
||||
"1.1",
|
||||
"1.2"
|
||||
],
|
||||
"markdownDescription": "Default YAML spec version"
|
||||
},
|
||||
"yaml.trace.server": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"off",
|
||||
"messages",
|
||||
"verbose"
|
||||
],
|
||||
"default": "off",
|
||||
"description": "Traces the communication between VSCode and the YAML language service."
|
||||
},
|
||||
"yaml.schemas": {
|
||||
"type": "object",
|
||||
"default": {},
|
||||
"description": "Associate schemas to YAML files in the current workspace"
|
||||
},
|
||||
"yaml.format.enable": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable/disable default YAML formatter"
|
||||
},
|
||||
"yaml.format.singleQuote": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Use single quotes instead of double quotes"
|
||||
},
|
||||
"yaml.format.bracketSpacing": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Print spaces between brackets in objects"
|
||||
},
|
||||
"yaml.format.proseWrap": {
|
||||
"type": "string",
|
||||
"default": "preserve",
|
||||
"enum": [
|
||||
"preserve",
|
||||
"never",
|
||||
"always"
|
||||
],
|
||||
"description": "Always: wrap prose if it exceeds the print width, Never: never wrap the prose, Preserve: wrap prose as-is"
|
||||
},
|
||||
"yaml.format.printWidth": {
|
||||
"type": "integer",
|
||||
"default": 80,
|
||||
"description": "Specify the line length that the printer will wrap on"
|
||||
},
|
||||
"yaml.validate": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable/disable validation feature"
|
||||
},
|
||||
"yaml.hover": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable/disable hover feature"
|
||||
},
|
||||
"yaml.completion": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable/disable completion feature"
|
||||
},
|
||||
"yaml.customTags": {
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"description": "Custom tags for the parser to use"
|
||||
},
|
||||
"yaml.schemaStore.enable": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Automatically pull available YAML schemas from JSON Schema Store"
|
||||
},
|
||||
"yaml.schemaStore.url": {
|
||||
"type": "string",
|
||||
"default": "https://www.schemastore.org/api/json/catalog.json",
|
||||
"description": "URL of schema store catalog to use"
|
||||
},
|
||||
"yaml.disableAdditionalProperties": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Globally set additionalProperties to false for all objects. So if its true, no extra properties are allowed inside yaml."
|
||||
},
|
||||
"yaml.disableDefaultProperties": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Disable adding not required properties with default values into completion text."
|
||||
},
|
||||
"yaml.maxItemsComputed": {
|
||||
"type": "integer",
|
||||
"default": 5000,
|
||||
"description": "The maximum number of outline symbols and folding regions computed (limited for performance reasons)."
|
||||
},
|
||||
"yaml.suggest.parentSkeletonSelectedFirst": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "If true, the user must select some parent skeleton first before autocompletion starts to suggest the rest of the properties. When yaml object is not empty, autocompletion ignores this setting and returns all properties and skeletons"
|
||||
},
|
||||
"yaml.style.flowMapping": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"allow",
|
||||
"forbid"
|
||||
],
|
||||
"default": "allow",
|
||||
"description": "Forbid flow style mappings"
|
||||
},
|
||||
"yaml.style.flowSequence": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"allow",
|
||||
"forbid"
|
||||
],
|
||||
"default": "allow",
|
||||
"description": "Forbid flow style sequences"
|
||||
},
|
||||
"yaml.keyOrdering": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enforces alphabetical ordering of keys in mappings when set to true"
|
||||
},
|
||||
"yaml.extension.recommendations": {
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"description": "Suggest additional extensions based on YAML usage."
|
||||
}
|
||||
}
|
||||
},
|
||||
"configurationDefaults": {
|
||||
"[yaml]": {
|
||||
"editor.insertSpaces": true,
|
||||
"editor.tabSize": 2,
|
||||
"editor.quickSuggestions": {
|
||||
"other": true,
|
||||
"comments": false,
|
||||
"strings": true
|
||||
},
|
||||
"editor.autoIndent": "keep"
|
||||
}
|
||||
}
|
||||
},
|
||||
"extensionDependencies": [],
|
||||
"scripts": {
|
||||
"build": "yarn run clean && yarn run lint && yarn run vscode:prepublish",
|
||||
"check-dependencies": "node ./scripts/check-dependencies.js",
|
||||
"clean": "rimraf out && rimraf dist",
|
||||
"compile": "webpack --mode none",
|
||||
"format": "prettier --write .",
|
||||
"lint": "eslint -c .eslintrc.js --ext .ts src test",
|
||||
"test": "yarn test-compile && sh scripts/e2e.sh",
|
||||
"ui-test": "yarn test-compile && extest setup-and-run -y out/test/ui-test/allTestsSuite.js -c max",
|
||||
"vscode:prepublish": "webpack --mode production",
|
||||
"watch": "webpack --mode development --watch --info-verbosity verbose",
|
||||
"test-compile": "yarn clean && tsc -p ./ && webpack --mode development",
|
||||
"run-in-chromium": "npm run compile && vscode-test-web --browserType=chromium --extensionDevelopmentPath=. ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.2.12",
|
||||
"@types/fs-extra": "^9.0.6",
|
||||
"@types/mocha": "^2.2.48",
|
||||
"@types/node": "^12.12.6",
|
||||
"@types/sinon": "^10.0.6",
|
||||
"@types/sinon-chai": "^3.2.5",
|
||||
"@types/vscode": "^1.63.0",
|
||||
"@types/webpack": "^4.4.10",
|
||||
"@typescript-eslint/eslint-plugin": "^4.16.1",
|
||||
"@typescript-eslint/parser": "^4.16.1",
|
||||
"@vscode/test-web": "0.0.11",
|
||||
"buffer": "^6.0.3",
|
||||
"chai": "^4.2.0",
|
||||
"crypto-browserify": "^3.12.0",
|
||||
"eslint": "^7.6.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-plugin-prettier": "^3.1.4",
|
||||
"glob": "^7.1.6",
|
||||
"mocha": "^9.1.2",
|
||||
"path-browserify": "^1.0.1",
|
||||
"prettier": "2.2.1",
|
||||
"process": "^0.11.10",
|
||||
"rimraf": "^3.0.2",
|
||||
"sinon": "^12.0.1",
|
||||
"sinon-chai": "^3.7.0",
|
||||
"ts-loader": "^9.2.5",
|
||||
"ts-node": "^3.3.0",
|
||||
"typescript": "4.4.3",
|
||||
"umd-compat-loader": "^2.1.2",
|
||||
"url": "^0.11.0",
|
||||
"util": "^0.12.5",
|
||||
"vscode-extension-tester": "^5.3.0",
|
||||
"vscode-test": "^1.4.0",
|
||||
"webpack": "^5.76.1",
|
||||
"webpack-cli": "^5.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@redhat-developer/vscode-redhat-telemetry": "^0.7.0",
|
||||
"fs-extra": "^9.1.0",
|
||||
"request-light": "^0.5.7",
|
||||
"vscode-languageclient": "7.0.0",
|
||||
"vscode-nls": "^3.2.1",
|
||||
"vscode-uri": "^2.0.3",
|
||||
"whatwg-fetch": "^3.6.2",
|
||||
"yaml-language-server": "next"
|
||||
}
|
||||
}
|
||||
621
ui/public/yamlExt/syntaxes/yaml.tmLanguage.json
Normal file
621
ui/public/yamlExt/syntaxes/yaml.tmLanguage.json
Normal file
@@ -0,0 +1,621 @@
|
||||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/textmate/yaml.tmbundle/blob/master/Syntaxes/YAML.tmLanguage",
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/textmate/yaml.tmbundle/commit/e54ceae3b719506dba7e481a77cea4a8b576ae46",
|
||||
"name": "YAML",
|
||||
"scopeName": "source.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#property"
|
||||
},
|
||||
{
|
||||
"include": "#directive"
|
||||
},
|
||||
{
|
||||
"match": "^---",
|
||||
"name": "entity.other.document.begin.yaml"
|
||||
},
|
||||
{
|
||||
"match": "^\\.{3}",
|
||||
"name": "entity.other.document.end.yaml"
|
||||
},
|
||||
{
|
||||
"include": "#node"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"block-collection": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#block-sequence"
|
||||
},
|
||||
{
|
||||
"include": "#block-mapping"
|
||||
}
|
||||
]
|
||||
},
|
||||
"block-mapping": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#block-pair"
|
||||
}
|
||||
]
|
||||
},
|
||||
"block-node": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#prototype"
|
||||
},
|
||||
{
|
||||
"include": "#block-scalar"
|
||||
},
|
||||
{
|
||||
"include": "#block-collection"
|
||||
},
|
||||
{
|
||||
"include": "#flow-scalar-plain-out"
|
||||
},
|
||||
{
|
||||
"include": "#flow-node"
|
||||
}
|
||||
]
|
||||
},
|
||||
"block-pair": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\?",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.key-value.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "(?=\\?)|^ *(:)|(:)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.separator.key-value.mapping.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "invalid.illegal.expected-newline.yaml"
|
||||
}
|
||||
},
|
||||
"name": "meta.block-mapping.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#block-node"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(?x)\n (?=\n (?x:\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] \\S\n )\n (\n [^\\s:]\n | : \\S\n | \\s+ (?![#\\s])\n )*\n \\s*\n :\n\t\t\t\t\t\t\t(\\s|$)\n )\n ",
|
||||
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n ",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-scalar-plain-out-implicit-type"
|
||||
},
|
||||
{
|
||||
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] \\S\n ",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "entity.name.tag.yaml"
|
||||
}
|
||||
},
|
||||
"contentName": "entity.name.tag.yaml",
|
||||
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n ",
|
||||
"name": "string.unquoted.plain.out.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"match": ":(?=\\s|$)",
|
||||
"name": "punctuation.separator.key-value.mapping.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"block-scalar": {
|
||||
"begin": "(?:(\\|)|(>))([1-9])?([-+])?(.*\\n?)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.flow.block-scalar.literal.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.control.flow.block-scalar.folded.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "constant.numeric.indentation-indicator.yaml"
|
||||
},
|
||||
"4": {
|
||||
"name": "storage.modifier.chomping-indicator.yaml"
|
||||
},
|
||||
"5": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"match": ".+",
|
||||
"name": "invalid.illegal.expected-comment-or-newline.yaml"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"end": "^(?=\\S)|(?!\\G)",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "^([ ]+)(?! )",
|
||||
"end": "^(?!\\1|\\s*$)",
|
||||
"name": "string.unquoted.block.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"block-sequence": {
|
||||
"match": "(-)(?!\\S)",
|
||||
"name": "punctuation.definition.block.sequence.item.yaml"
|
||||
},
|
||||
"comment": {
|
||||
"begin": "(?:(^[ \\t]*)|[ \\t]+)(?=#\\p{Print}*$)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.whitespace.comment.leading.yaml"
|
||||
}
|
||||
},
|
||||
"end": "(?!\\G)",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "#",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.yaml"
|
||||
}
|
||||
},
|
||||
"end": "\\n",
|
||||
"name": "comment.line.number-sign.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"directive": {
|
||||
"begin": "^%",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.directive.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "(?=$|[ \\t]+($|#))",
|
||||
"name": "meta.directive.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.other.directive.yaml.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "constant.numeric.yaml-version.yaml"
|
||||
}
|
||||
},
|
||||
"match": "\\G(YAML)[ \\t]+(\\d+\\.\\d+)"
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.other.directive.tag.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "storage.type.tag-handle.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "support.type.tag-prefix.yaml"
|
||||
}
|
||||
},
|
||||
"match": "(?x)\n \\G\n (TAG)\n (?:[ \\t]+\n ((?:!(?:[0-9A-Za-z\\-]*!)?))\n (?:[ \\t]+ (\n ! (?x: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$,_.!~*'()\\[\\]] )*\n | (?![,!\\[\\]{}]) (?x: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$,_.!~*'()\\[\\]] )+\n )\n )?\n )?\n "
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "support.other.directive.reserved.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "string.unquoted.directive-name.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "string.unquoted.directive-parameter.yaml"
|
||||
}
|
||||
},
|
||||
"match": "(?x) \\G (\\w+) (?:[ \\t]+ (\\w+) (?:[ \\t]+ (\\w+))? )?"
|
||||
},
|
||||
{
|
||||
"match": "\\S+",
|
||||
"name": "invalid.illegal.unrecognized.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-alias": {
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.flow.alias.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.alias.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "variable.other.alias.yaml"
|
||||
},
|
||||
"4": {
|
||||
"name": "invalid.illegal.character.anchor.yaml"
|
||||
}
|
||||
},
|
||||
"match": "((\\*))([^\\s\\[\\]\/{\/},]+)([^\\s\\]},]\\S*)?"
|
||||
},
|
||||
"flow-collection": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-sequence"
|
||||
},
|
||||
{
|
||||
"include": "#flow-mapping"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-mapping": {
|
||||
"begin": "\\{",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.mapping.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "\\}",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.mapping.end.yaml"
|
||||
}
|
||||
},
|
||||
"name": "meta.flow-mapping.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#prototype"
|
||||
},
|
||||
{
|
||||
"match": ",",
|
||||
"name": "punctuation.separator.mapping.yaml"
|
||||
},
|
||||
{
|
||||
"include": "#flow-pair"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-node": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#prototype"
|
||||
},
|
||||
{
|
||||
"include": "#flow-alias"
|
||||
},
|
||||
{
|
||||
"include": "#flow-collection"
|
||||
},
|
||||
{
|
||||
"include": "#flow-scalar"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-pair": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\?",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.key-value.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "(?=[},\\]])",
|
||||
"name": "meta.flow-pair.explicit.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#prototype"
|
||||
},
|
||||
{
|
||||
"include": "#flow-pair"
|
||||
},
|
||||
{
|
||||
"include": "#flow-node"
|
||||
},
|
||||
{
|
||||
"begin": ":(?=\\s|$|[\\[\\]{},])",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.key-value.mapping.yaml"
|
||||
}
|
||||
},
|
||||
"end": "(?=[},\\]])",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-value"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(?x)\n (?=\n (?:\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] [^\\s[\\[\\]{},]]\n )\n (\n [^\\s:[\\[\\]{},]]\n | : [^\\s[\\[\\]{},]]\n | \\s+ (?![#\\s])\n )*\n \\s*\n :\n\t\t\t\t\t\t\t(\\s|$)\n )\n ",
|
||||
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n ",
|
||||
"name": "meta.flow-pair.key.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-scalar-plain-in-implicit-type"
|
||||
},
|
||||
{
|
||||
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] [^\\s[\\[\\]{},]]\n ",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "entity.name.tag.yaml"
|
||||
}
|
||||
},
|
||||
"contentName": "entity.name.tag.yaml",
|
||||
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n ",
|
||||
"name": "string.unquoted.plain.in.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#flow-node"
|
||||
},
|
||||
{
|
||||
"begin": ":(?=\\s|$|[\\[\\]{},])",
|
||||
"captures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.key-value.mapping.yaml"
|
||||
}
|
||||
},
|
||||
"end": "(?=[},\\]])",
|
||||
"name": "meta.flow-pair.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-value"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-scalar-double-quoted"
|
||||
},
|
||||
{
|
||||
"include": "#flow-scalar-single-quoted"
|
||||
},
|
||||
{
|
||||
"include": "#flow-scalar-plain-in"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar-double-quoted": {
|
||||
"begin": "\"",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "\"",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.yaml"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\([0abtnvfre \"/\\\\N_Lp]|x\\d\\d|u\\d{4}|U\\d{8})",
|
||||
"name": "constant.character.escape.yaml"
|
||||
},
|
||||
{
|
||||
"match": "\\\\\\n",
|
||||
"name": "constant.character.escape.double-quoted.newline.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar-plain-in": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-scalar-plain-in-implicit-type"
|
||||
},
|
||||
{
|
||||
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] [^\\s[\\[\\]{},]]\n ",
|
||||
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n ",
|
||||
"name": "string.unquoted.plain.in.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar-plain-in-implicit-type": {
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "constant.language.null.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "constant.language.boolean.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "constant.numeric.integer.yaml"
|
||||
},
|
||||
"4": {
|
||||
"name": "constant.numeric.float.yaml"
|
||||
},
|
||||
"5": {
|
||||
"name": "constant.other.timestamp.yaml"
|
||||
},
|
||||
"6": {
|
||||
"name": "constant.language.value.yaml"
|
||||
},
|
||||
"7": {
|
||||
"name": "constant.language.merge.yaml"
|
||||
}
|
||||
},
|
||||
"match": "(?x)\n (?x:\n (null|Null|NULL|~)\n | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)\n | (\n (?:\n [-+]? 0b [0-1_]+ # (base 2)\n | [-+]? 0 [0-7_]+ # (base 8)\n | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)\n | [-+]? 0x [0-9a-fA-F_]+ # (base 16)\n | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)\n )\n )\n | (\n (?x:\n [-+]? (?: [0-9] [0-9_]*)? \\. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)\n | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \\. [0-9_]* # (base 60)\n | [-+]? \\. (?: inf|Inf|INF) # (infinity)\n | \\. (?: nan|NaN|NAN) # (not a number)\n )\n )\n | (\n (?x:\n \\d{4} - \\d{2} - \\d{2} # (y-m-d)\n | \\d{4} # (year)\n - \\d{1,2} # (month)\n - \\d{1,2} # (day)\n (?: [Tt] | [ \\t]+) \\d{1,2} # (hour)\n : \\d{2} # (minute)\n : \\d{2} # (second)\n (?: \\.\\d*)? # (fraction)\n (?:\n (?:[ \\t]*) Z\n | [-+] \\d{1,2} (?: :\\d{1,2})?\n )? # (time zone)\n )\n )\n | (=)\n | (<<)\n )\n (?:\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n )\n "
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar-plain-out": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-scalar-plain-out-implicit-type"
|
||||
},
|
||||
{
|
||||
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] \\S\n ",
|
||||
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n ",
|
||||
"name": "string.unquoted.plain.out.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar-plain-out-implicit-type": {
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "constant.language.null.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "constant.language.boolean.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "constant.numeric.integer.yaml"
|
||||
},
|
||||
"4": {
|
||||
"name": "constant.numeric.float.yaml"
|
||||
},
|
||||
"5": {
|
||||
"name": "constant.other.timestamp.yaml"
|
||||
},
|
||||
"6": {
|
||||
"name": "constant.language.value.yaml"
|
||||
},
|
||||
"7": {
|
||||
"name": "constant.language.merge.yaml"
|
||||
}
|
||||
},
|
||||
"match": "(?x)\n (?x:\n (null|Null|NULL|~)\n | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)\n | (\n (?:\n [-+]? 0b [0-1_]+ # (base 2)\n | [-+]? 0 [0-7_]+ # (base 8)\n | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)\n | [-+]? 0x [0-9a-fA-F_]+ # (base 16)\n | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)\n )\n )\n | (\n (?x:\n [-+]? (?: [0-9] [0-9_]*)? \\. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)\n | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \\. [0-9_]* # (base 60)\n | [-+]? \\. (?: inf|Inf|INF) # (infinity)\n | \\. (?: nan|NaN|NAN) # (not a number)\n )\n )\n | (\n (?x:\n \\d{4} - \\d{2} - \\d{2} # (y-m-d)\n | \\d{4} # (year)\n - \\d{1,2} # (month)\n - \\d{1,2} # (day)\n (?: [Tt] | [ \\t]+) \\d{1,2} # (hour)\n : \\d{2} # (minute)\n : \\d{2} # (second)\n (?: \\.\\d*)? # (fraction)\n (?:\n (?:[ \\t]*) Z\n | [-+] \\d{1,2} (?: :\\d{1,2})?\n )? # (time zone)\n )\n )\n | (=)\n | (<<)\n )\n (?x:\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n )\n "
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-scalar-single-quoted": {
|
||||
"begin": "'",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "'(?!')",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.yaml"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.single.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "''",
|
||||
"name": "constant.character.escape.single-quoted.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-sequence": {
|
||||
"begin": "\\[",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.sequence.begin.yaml"
|
||||
}
|
||||
},
|
||||
"end": "\\]",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.sequence.end.yaml"
|
||||
}
|
||||
},
|
||||
"name": "meta.flow-sequence.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#prototype"
|
||||
},
|
||||
{
|
||||
"match": ",",
|
||||
"name": "punctuation.separator.sequence.yaml"
|
||||
},
|
||||
{
|
||||
"include": "#flow-pair"
|
||||
},
|
||||
{
|
||||
"include": "#flow-node"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flow-value": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\G(?![},\\]])",
|
||||
"end": "(?=[},\\]])",
|
||||
"name": "meta.flow-pair.value.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#flow-node"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"node": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#block-node"
|
||||
}
|
||||
]
|
||||
},
|
||||
"property": {
|
||||
"begin": "(?=!|&)",
|
||||
"end": "(?!\\G)",
|
||||
"name": "meta.property.yaml",
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.property.anchor.yaml"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.anchor.yaml"
|
||||
},
|
||||
"3": {
|
||||
"name": "entity.name.type.anchor.yaml"
|
||||
},
|
||||
"4": {
|
||||
"name": "invalid.illegal.character.anchor.yaml"
|
||||
}
|
||||
},
|
||||
"match": "\\G((&))([^\\s\\[\\]/{/},]+)(\\S+)?"
|
||||
},
|
||||
{
|
||||
"match": "(?x)\n \\G\n (?:\n ! < (?: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$,_.!~*'()\\[\\]] )+ >\n | (?:!(?:[0-9A-Za-z\\-]*!)?) (?: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$_.~*'()] )+\n | !\n )\n (?=\\ |\\t|$)\n ",
|
||||
"name": "storage.type.tag-handle.yaml"
|
||||
},
|
||||
{
|
||||
"match": "\\S+",
|
||||
"name": "invalid.illegal.tag-handle.yaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
"prototype": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#property"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
73
ui/src/components/namespace/Editor.vue
Normal file
73
ui/src/components/namespace/Editor.vue
Normal file
@@ -0,0 +1,73 @@
|
||||
<template>
|
||||
<top-nav-bar :title="routeInfo.title">
|
||||
<template #additional-right>
|
||||
<namespace-select class="fit-content"
|
||||
data-type="flow"
|
||||
:value="namespace"
|
||||
@update:model-value="namespaceUpdate"/>
|
||||
</template>
|
||||
</top-nav-bar>
|
||||
<iframe
|
||||
style="visibility:hidden;"
|
||||
onload="this.style.visibility = 'visible';"
|
||||
v-if="namespace"
|
||||
class="vscode-editor"
|
||||
:src="vscodeIndexUrl"
|
||||
/>
|
||||
<div v-else class="m-3 mw-100">
|
||||
<el-alert type="info" :closable="false">
|
||||
{{ $t("namespace choice") }}
|
||||
</el-alert>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import NamespaceSelect from "./NamespaceSelect.vue";
|
||||
import TopNavBar from "../layout/TopNavBar.vue";
|
||||
</script>
|
||||
|
||||
<script>
|
||||
import RouteContext from "../../mixins/routeContext";
|
||||
import RestoreUrl from "../../mixins/restoreUrl";
|
||||
import {apiUrl} from "override/utils/route";
|
||||
|
||||
export default {
|
||||
mixins: [RouteContext, RestoreUrl],
|
||||
methods: {
|
||||
namespaceUpdate(namespace) {
|
||||
this.$router.push({
|
||||
params: {
|
||||
namespace
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
routeInfo() {
|
||||
return {
|
||||
title: this.$t("editor")
|
||||
};
|
||||
},
|
||||
theme() {
|
||||
return localStorage.getItem("theme") || "light";
|
||||
},
|
||||
vscodeIndexUrl() {
|
||||
const uiSubpath = KESTRA_UI_PATH === "./" ? "/" : KESTRA_UI_PATH;
|
||||
return `${uiSubpath}vscode.html?KESTRA_UI_PATH=${uiSubpath}&KESTRA_API_URL=${apiUrl(this.$store)}&THEME=${this.theme}&namespace=${this.namespace}`;
|
||||
},
|
||||
namespace() {
|
||||
return this.$route.params.namespace;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.fit-content {
|
||||
width: fit-content;
|
||||
}
|
||||
.vscode-editor {
|
||||
height: calc(100vh - 64.8px);
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
@@ -37,6 +37,7 @@
|
||||
import TimelineTextOutline from "vue-material-design-icons/TimelineTextOutline.vue";
|
||||
import NotebookOutline from "vue-material-design-icons/NotebookOutline.vue";
|
||||
import Ballot from "vue-material-design-icons/Ballot.vue";
|
||||
import FolderEditOutline from "vue-material-design-icons/FolderEditOutline.vue";
|
||||
import AccountSupervisorOutline from "vue-material-design-icons/AccountSupervisorOutline.vue";
|
||||
import CogOutline from "vue-material-design-icons/CogOutline.vue";
|
||||
import ViewDashboardVariantOutline from "vue-material-design-icons/ViewDashboardVariantOutline.vue";
|
||||
@@ -91,6 +92,14 @@
|
||||
class: "menu-icon",
|
||||
},
|
||||
},
|
||||
{
|
||||
href: {name: "editor"},
|
||||
title: this.$t("editor"),
|
||||
icon: {
|
||||
element: FolderEditOutline,
|
||||
class: "menu-icon",
|
||||
},
|
||||
},
|
||||
{
|
||||
href: {name: "flows/list"},
|
||||
routes: this.routeStartWith("flows"),
|
||||
|
||||
@@ -18,6 +18,7 @@ import Blueprints from "override/components/flows/blueprints/Blueprints.vue";
|
||||
import BlueprintDetail from "../components/flows/blueprints/BlueprintDetail.vue";
|
||||
import Triggers from "../components/admin/Triggers.vue";
|
||||
import Workers from "../components/admin/Workers.vue";
|
||||
import Editor from "../components/namespace/Editor.vue";
|
||||
|
||||
|
||||
export default [
|
||||
@@ -25,6 +26,11 @@ export default [
|
||||
{name: "root", path: '/', redirect: {name: 'home'}},
|
||||
{name: "home", path: "/:tenant?/dashboard", component: Home},
|
||||
{name: "welcome", path: "/:tenant?/welcome", component: Welcome},
|
||||
|
||||
//Namespace file editor
|
||||
{name: "editor", path: "/:tenant?/editor/:namespace?", component: Editor},
|
||||
|
||||
//Flows
|
||||
{name: "flows/list", path: "/:tenant?/flows", component: Flows},
|
||||
{name: "flows/search", path: "/:tenant?/flows/search", component: FlowsSearch},
|
||||
{name: "flows/create", path: "/:tenant?/flows/new", component: FlowCreate},
|
||||
|
||||
@@ -45,7 +45,7 @@ main {
|
||||
}
|
||||
|
||||
// apply start & end margin for top-bar neighbours
|
||||
.top-bar ~ * {
|
||||
.top-bar ~ *:not(iframe) {
|
||||
margin-left: var(--offset-from-menu);
|
||||
max-width: calc(100% - 2 * var(--offset-from-menu));
|
||||
}
|
||||
|
||||
@@ -460,6 +460,7 @@
|
||||
"metric": "Metric",
|
||||
"aggregation": "Aggregation",
|
||||
"metric choice": "Please choose a metric and an aggregation",
|
||||
"namespace choice": "Please choose a namespace to start using the editor",
|
||||
"of": "of",
|
||||
"save draft": {
|
||||
"message": "Draft saved",
|
||||
|
||||
@@ -3,6 +3,7 @@ import {defineConfig} from "vite";
|
||||
import vue from "@vitejs/plugin-vue";
|
||||
import pluginRewriteAll from 'vite-plugin-rewrite-all';
|
||||
import {visualizer} from "rollup-plugin-visualizer";
|
||||
import copy from 'rollup-plugin-copy'
|
||||
|
||||
export default defineConfig({
|
||||
base: "",
|
||||
@@ -15,9 +16,22 @@ export default defineConfig({
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
copy({
|
||||
hook: 'buildStart',
|
||||
targets: [
|
||||
{
|
||||
src: 'node_modules/vscode-web/dist/out/*',
|
||||
dest: 'public/vscode-web/dist/out/'
|
||||
},
|
||||
{
|
||||
src: 'node_modules/vscode-web/*',
|
||||
dest: 'public/vscode-web/'
|
||||
}
|
||||
]
|
||||
}),
|
||||
vue(),
|
||||
pluginRewriteAll(),
|
||||
visualizer()
|
||||
visualizer(),
|
||||
],
|
||||
css: {
|
||||
devSourcemap: true
|
||||
|
||||
Reference in New Issue
Block a user