diff --git a/examples/react-webpack-worker-loader/package.json b/examples/react-webpack-worker-loader/package.json index 5c52594..526bd59 100644 --- a/examples/react-webpack-worker-loader/package.json +++ b/examples/react-webpack-worker-loader/package.json @@ -17,7 +17,7 @@ "css-loader": "^3.4.2", "file-loader": "^5.1.0", "html-webpack-plugin": "^3.2.0", - "monaco-editor": "^0.20.0", + "monaco-editor": "^0.21.3", "monaco-yaml": "file:../..", "react": "^16.12.0", "react-dom": "^16.12.0", diff --git a/examples/react-webpack-worker-loader/yarn.lock b/examples/react-webpack-worker-loader/yarn.lock index 25bd043..d59b209 100644 --- a/examples/react-webpack-worker-loader/yarn.lock +++ b/examples/react-webpack-worker-loader/yarn.lock @@ -1037,6 +1037,13 @@ aproba@^1.1.1: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2114,6 +2121,11 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" @@ -3066,6 +3078,14 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -3421,17 +3441,16 @@ mkdirp@^0.5.1: dependencies: minimist "0.0.8" -monaco-editor@^0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz#5d5009343a550124426cb4d965a4d27a348b4dea" - integrity sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ== +monaco-editor@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.3.tgz#3381b66614b64d1c5e3b77dd5564ad496d1b4e5d" + integrity sha512-9N7wATLpi+googstvtm6IKg97vPQ77FDYEpkow5tLriM/VJ0DaTRyUP4UVzcoH7KlPDX+e/rE7/imcOUeGkT6g== -monaco-yaml@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/monaco-yaml/-/monaco-yaml-2.4.0.tgz#027307a231d809c416babf1cf89b4c1bb940e55d" - integrity sha512-ElUS6uBqEjA2/o2gLuNdnqWSAAQXh8ISr1kwlFErm3t5IXO74TNfS3gnjO6Kv9TXS7LImjGfgPAZei7o8zNTHw== - optionalDependencies: - prettier "^1.19.1" +"monaco-yaml@file:../..": + version "2.5.0" + dependencies: + js-yaml "^3.14.1" + yaml-ast-parser-custom-tags "^0.0.43" move-concurrently@^1.0.1: version "1.0.1" @@ -3946,11 +3965,6 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.5, postcss@^7.0. source-map "^0.6.1" supports-color "^6.1.0" -prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -4643,6 +4657,11 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" @@ -5302,6 +5321,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yaml-ast-parser-custom-tags@^0.0.43: + version "0.0.43" + resolved "https://registry.yarnpkg.com/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz#46968145ce4e24cb03c3312057f0f141b93a7d02" + integrity sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ== + yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" diff --git a/examples/react-webpack/package.json b/examples/react-webpack/package.json index 2b91c0f..cb12fec 100644 --- a/examples/react-webpack/package.json +++ b/examples/react-webpack/package.json @@ -17,7 +17,7 @@ "css-loader": "^3.4.2", "file-loader": "^5.1.0", "html-webpack-plugin": "^3.2.0", - "monaco-editor": "^0.20.0", + "monaco-editor": "^0.21.3", "monaco-yaml": "file:../..", "react": "^16.12.0", "react-dom": "^16.12.0", diff --git a/examples/react-webpack/yarn.lock b/examples/react-webpack/yarn.lock index 6f3b0bd..b77173d 100644 --- a/examples/react-webpack/yarn.lock +++ b/examples/react-webpack/yarn.lock @@ -972,13 +972,6 @@ acorn@^6.2.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== -agent-base@4, agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1793,14 +1786,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: +debug@^3.0.0, debug@^3.1.1, debug@^3.2.5: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -2117,18 +2103,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2750,14 +2724,6 @@ http-errors@~1.7.2: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -2782,14 +2748,6 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@^2.2.3: - version "2.2.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -3120,10 +3078,10 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -3172,11 +3130,6 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" -jsonc-parser@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.0.tgz#7c7fc988ee1486d35734faaaa866fadb00fa91ee" - integrity sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA== - killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" @@ -3488,17 +3441,16 @@ mkdirp@^0.5.1: dependencies: minimist "0.0.8" -monaco-editor@^0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz#5d5009343a550124426cb4d965a4d27a348b4dea" - integrity sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ== +monaco-editor@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.3.tgz#3381b66614b64d1c5e3b77dd5564ad496d1b4e5d" + integrity sha512-9N7wATLpi+googstvtm6IKg97vPQ77FDYEpkow5tLriM/VJ0DaTRyUP4UVzcoH7KlPDX+e/rE7/imcOUeGkT6g== "monaco-yaml@file:../..": - version "2.4.1" + version "2.5.0" dependencies: - yaml-language-server "^0.9.0" - optionalDependencies: - prettier "^1.19.1" + js-yaml "^3.14.1" + yaml-ast-parser-custom-tags "^0.0.43" move-concurrently@^1.0.1: version "1.0.1" @@ -4013,11 +3965,6 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.5, postcss@^7.0. source-map "^0.6.1" supports-color "^6.1.0" -prettier@^1.18.2, prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -4323,15 +4270,6 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request-light@^0.2.4: - version "0.2.5" - resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.2.5.tgz#38a3da7b2e56f7af8cbba57e8a94930ee2380746" - integrity sha512-eBEh+GzJAftUnex6tcL6eV2JCifY0+sZMIUpUPOVXbs2nV5hla4ZMmO3icYKGuGVuQ2zHE9evh4OrRcH4iyYYw== - dependencies: - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.3" - vscode-nls "^4.1.1" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5162,68 +5100,6 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vscode-json-languageservice@^3.6.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.7.0.tgz#0174417f139cf41dd60c84538fd052385bfb46f6" - integrity sha512-nGLqcBhTjdfkl8Dz9sYGK/ZCTjscYFoIjYw+qqkWB+vyNfM0k/AyIoT73DQvB/PArteCKjEVfQUF72GRZEDSbQ== - dependencies: - jsonc-parser "^2.2.1" - vscode-languageserver-textdocument "^1.0.1" - vscode-languageserver-types "^3.15.1" - vscode-nls "^4.1.2" - vscode-uri "^2.1.2" - -vscode-jsonrpc@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz#a7bf74ef3254d0a0c272fab15c82128e378b3be9" - integrity sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg== - -vscode-languageserver-protocol@3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz#b8aab6afae2849c84a8983d39a1cf742417afe2f" - integrity sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g== - dependencies: - vscode-jsonrpc "^4.0.0" - vscode-languageserver-types "3.14.0" - -vscode-languageserver-textdocument@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz#178168e87efad6171b372add1dea34f53e5d330f" - integrity sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA== - -vscode-languageserver-types@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz#d3b5952246d30e5241592b6dde8280e03942e743" - integrity sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A== - -vscode-languageserver-types@^3.15.1: - version "3.15.1" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz#17be71d78d2f6236d414f0001ce1ef4d23e6b6de" - integrity sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ== - -vscode-languageserver@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz#0d2feddd33f92aadf5da32450df498d52f6f14eb" - integrity sha512-GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A== - dependencies: - vscode-languageserver-protocol "3.14.1" - vscode-uri "^1.0.6" - -vscode-nls@^4.1.1, vscode-nls@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz#ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167" - integrity sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw== - -vscode-uri@^1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.8.tgz#9769aaececae4026fb6e22359cb38946580ded59" - integrity sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ== - -vscode-uri@^2.1.1, vscode-uri@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.2.tgz#c8d40de93eb57af31f3c715dd650e2ca2c096f1c" - integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A== - watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" @@ -5429,28 +5305,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml-ast-parser-custom-tags@0.0.43: +yaml-ast-parser-custom-tags@^0.0.43: version "0.0.43" resolved "https://registry.yarnpkg.com/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz#46968145ce4e24cb03c3312057f0f141b93a7d02" integrity sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ== -yaml-language-server@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/yaml-language-server/-/yaml-language-server-0.9.0.tgz#6f7b0068dfd182589320da7d36f7ade897f6c4a0" - integrity sha512-nRExM5NfJXzxTKlFmHKr/ZtoxZCddH1kuuWNfHRvTLCEHzexIn/YvI/DBZHxKLh/ym9f4Q4j4zW76vB6J18lUQ== - dependencies: - js-yaml "^3.13.1" - jsonc-parser "^2.2.1" - request-light "^0.2.4" - vscode-json-languageservice "^3.6.0" - vscode-languageserver "^5.2.1" - vscode-languageserver-types "^3.15.1" - vscode-nls "^4.1.2" - vscode-uri "^2.1.1" - yaml-ast-parser-custom-tags "0.0.43" - optionalDependencies: - prettier "^1.18.2" - yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" diff --git a/package.json b/package.json index dd656d7..31ff9e2 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,7 @@ "devDependencies": { "husky": "^5.2.0", "lint-staged": "^10.5.4", - "monaco-editor": "^0.21.2", - "monaco-editor-core": "^0.21.2", + "monaco-editor": "^0.21.3", "monaco-languages": "^2.1.1", "monaco-plugin-helpers": "^1.0.3", "prettier": "2.0.5", diff --git a/scripts/bundle-umd.js b/scripts/bundle-umd.js index 85f3662..ccd9974 100644 --- a/scripts/bundle-umd.js +++ b/scripts/bundle-umd.js @@ -33,6 +33,8 @@ function bundleOne(moduleId, exclude) { exclude: exclude, paths: { 'vs/language/yaml': REPO_ROOT + '/out/amd', + 'monaco-editor/esm/vs/editor/editor.api': + REPO_ROOT + '/out/amd/fillers/monaco-editor-amd', }, optimize: 'none', packages: [ diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index ee86855..7ec31fa 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -8,17 +8,21 @@ import { LanguageServiceDefaultsImpl } from './monaco.contribution'; import { YAMLWorker } from './yamlWorker'; import * as ls from 'vscode-languageserver-types'; - -import Uri = monaco.Uri; -import Position = monaco.Position; -import Range = monaco.Range; -import IRange = monaco.IRange; -import Thenable = monaco.Thenable; -import CancellationToken = monaco.CancellationToken; -import IDisposable = monaco.IDisposable; +import { + editor, + languages, + CancellationToken, + IDisposable, + IMarkdownString, + IRange, + MarkerSeverity, + Position, + Range, + Uri, +} from 'monaco-editor/esm/vs/editor/editor.api'; import { CustomFormatterOptions } from 'yaml-language-server'; -export type WorkerAccessor = (...more: Uri[]) => Thenable; +export type WorkerAccessor = (...more: Uri[]) => PromiseLike; // --- diagnostics --- --- @@ -31,7 +35,7 @@ export class DiagnosticsAdapter { private _worker: WorkerAccessor, defaults: LanguageServiceDefaultsImpl ) { - const onModelAdd = (model: monaco.editor.IModel): void => { + const onModelAdd = (model: editor.IModel): void => { const modeId = model.getModeId(); if (modeId !== this._languageId) { return; @@ -46,8 +50,8 @@ export class DiagnosticsAdapter { this._doValidate(model.uri, modeId); }; - const onModelRemoved = (model: monaco.editor.IModel): void => { - monaco.editor.setModelMarkers(model, this._languageId, []); + const onModelRemoved = (model: editor.IModel): void => { + editor.setModelMarkers(model, this._languageId, []); const uriStr = model.uri.toString(); const listener = this._listener[uriStr]; if (listener) { @@ -56,15 +60,15 @@ export class DiagnosticsAdapter { } }; - this._disposables.push(monaco.editor.onDidCreateModel(onModelAdd)); + this._disposables.push(editor.onDidCreateModel(onModelAdd)); this._disposables.push( - monaco.editor.onWillDisposeModel((model) => { + editor.onWillDisposeModel((model) => { onModelRemoved(model); this._resetSchema(model.uri); }) ); this._disposables.push( - monaco.editor.onDidChangeModelLanguage((event) => { + editor.onDidChangeModelLanguage((event) => { onModelRemoved(event.model); onModelAdd(event.model); this._resetSchema(event.model.uri); @@ -73,7 +77,7 @@ export class DiagnosticsAdapter { this._disposables.push( defaults.onDidChange((_) => { - monaco.editor.getModels().forEach((model) => { + editor.getModels().forEach((model) => { if (model.getModeId() === this._languageId) { onModelRemoved(model); onModelAdd(model); @@ -84,14 +88,14 @@ export class DiagnosticsAdapter { this._disposables.push({ dispose: () => { - monaco.editor.getModels().forEach(onModelRemoved); + editor.getModels().forEach(onModelRemoved); for (const key in this._listener) { this._listener[key].dispose(); } }, }); - monaco.editor.getModels().forEach(onModelAdd); + editor.getModels().forEach(onModelAdd); } public dispose(): void { @@ -110,9 +114,9 @@ export class DiagnosticsAdapter { .then((worker) => { return worker.doValidation(resource.toString()).then((diagnostics) => { const markers = diagnostics.map((d) => toDiagnostics(resource, d)); - const model = monaco.editor.getModel(resource); + const model = editor.getModel(resource); if (model.getModeId() === languageId) { - monaco.editor.setModelMarkers(model, languageId, markers); + editor.setModelMarkers(model, languageId, markers); } }); }) @@ -122,25 +126,22 @@ export class DiagnosticsAdapter { } } -function toSeverity(lsSeverity: number): monaco.MarkerSeverity { +function toSeverity(lsSeverity: number): MarkerSeverity { switch (lsSeverity) { case ls.DiagnosticSeverity.Error: - return monaco.MarkerSeverity.Error; + return MarkerSeverity.Error; case ls.DiagnosticSeverity.Warning: - return monaco.MarkerSeverity.Warning; + return MarkerSeverity.Warning; case ls.DiagnosticSeverity.Information: - return monaco.MarkerSeverity.Info; + return MarkerSeverity.Info; case ls.DiagnosticSeverity.Hint: - return monaco.MarkerSeverity.Hint; + return MarkerSeverity.Hint; default: - return monaco.MarkerSeverity.Info; + return MarkerSeverity.Info; } } -function toDiagnostics( - resource: Uri, - diag: ls.Diagnostic -): monaco.editor.IMarkerData { +function toDiagnostics(resource: Uri, diag: ls.Diagnostic): editor.IMarkerData { const code = typeof diag.code === 'number' ? String(diag.code) : (diag.code as string); @@ -189,10 +190,8 @@ function toRange(range: ls.Range): Range { ); } -function toCompletionItemKind( - kind: number -): monaco.languages.CompletionItemKind { - const mItemKind = monaco.languages.CompletionItemKind; +function toCompletionItemKind(kind: number): languages.CompletionItemKind { + const mItemKind = languages.CompletionItemKind; switch (kind) { case ls.CompletionItemKind.Text: @@ -236,9 +235,9 @@ function toCompletionItemKind( } function fromCompletionItemKind( - kind: monaco.languages.CompletionItemKind + kind: languages.CompletionItemKind ): ls.CompletionItemKind { - const mItemKind = monaco.languages.CompletionItemKind; + const mItemKind = languages.CompletionItemKind; switch (kind) { case mItemKind.Text: @@ -281,7 +280,7 @@ function fromCompletionItemKind( return ls.CompletionItemKind.Property; } -function toTextEdit(textEdit: ls.TextEdit): monaco.editor.ISingleEditOperation { +function toTextEdit(textEdit: ls.TextEdit): editor.ISingleEditOperation { if (!textEdit) { return void 0; } @@ -291,8 +290,7 @@ function toTextEdit(textEdit: ls.TextEdit): monaco.editor.ISingleEditOperation { }; } -export class CompletionAdapter - implements monaco.languages.CompletionItemProvider { +export class CompletionAdapter implements languages.CompletionItemProvider { constructor(private _worker: WorkerAccessor) {} public get triggerCharacters(): string[] { @@ -300,11 +298,11 @@ export class CompletionAdapter } public provideCompletionItems( - model: monaco.editor.IReadOnlyModel, + model: editor.IReadOnlyModel, position: Position, - context: monaco.languages.CompletionContext, + context: languages.CompletionContext, token: CancellationToken - ): Thenable { + ): PromiseLike { const resource = model.uri; return this._worker(resource) @@ -324,34 +322,32 @@ export class CompletionAdapter wordInfo.endColumn ); - const items: monaco.languages.CompletionItem[] = info.items.map( - (entry) => { - const item: monaco.languages.CompletionItem = { - label: entry.label, - insertText: entry.insertText || entry.label, - sortText: entry.sortText, - filterText: entry.filterText, - documentation: entry.documentation, - detail: entry.detail, - kind: toCompletionItemKind(entry.kind), - range: wordRange, - }; - if (entry.textEdit) { - item.range = toRange(entry.textEdit.range); - item.insertText = entry.textEdit.newText; - } - if (entry.additionalTextEdits) { - item.additionalTextEdits = entry.additionalTextEdits.map( - toTextEdit - ); - } - if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) { - item.insertTextRules = - monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet; - } - return item; + const items: languages.CompletionItem[] = info.items.map((entry) => { + const item: languages.CompletionItem = { + label: entry.label, + insertText: entry.insertText || entry.label, + sortText: entry.sortText, + filterText: entry.filterText, + documentation: entry.documentation, + detail: entry.detail, + kind: toCompletionItemKind(entry.kind), + range: wordRange, + }; + if (entry.textEdit) { + item.range = toRange(entry.textEdit.range); + item.insertText = entry.textEdit.newText; } - ); + if (entry.additionalTextEdits) { + item.additionalTextEdits = entry.additionalTextEdits.map( + toTextEdit + ); + } + if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) { + item.insertTextRules = + languages.CompletionItemInsertTextRule.InsertAsSnippet; + } + return item; + }); return { isIncomplete: info.isIncomplete, @@ -371,7 +367,7 @@ function isMarkupContent(thing: any): thing is ls.MarkupContent { function toMarkdownString( entry: ls.MarkupContent | ls.MarkedString -): monaco.IMarkdownString { +): IMarkdownString { if (typeof entry === 'string') { return { value: entry, @@ -393,7 +389,7 @@ function toMarkdownString( function toMarkedStringArray( contents: ls.MarkupContent | ls.MarkedString | ls.MarkedString[] -): monaco.IMarkdownString[] { +): IMarkdownString[] { if (!contents) { return void 0; } @@ -405,14 +401,14 @@ function toMarkedStringArray( // --- hover ------ -export class HoverAdapter implements monaco.languages.HoverProvider { +export class HoverAdapter implements languages.HoverProvider { constructor(private _worker: WorkerAccessor) {} public provideHover( - model: monaco.editor.IReadOnlyModel, + model: editor.IReadOnlyModel, position: Position, token: CancellationToken - ): Thenable { + ): PromiseLike { const resource = model.uri; return this._worker(resource) @@ -426,15 +422,15 @@ export class HoverAdapter implements monaco.languages.HoverProvider { return { range: toRange(info.range), contents: toMarkedStringArray(info.contents), - } as monaco.languages.Hover; + } as languages.Hover; }); } } // --- document symbols ------ -function toSymbolKind(kind: ls.SymbolKind): monaco.languages.SymbolKind { - const mKind = monaco.languages.SymbolKind; +function toSymbolKind(kind: ls.SymbolKind): languages.SymbolKind { + const mKind = languages.SymbolKind; switch (kind) { case ls.SymbolKind.File: @@ -477,14 +473,13 @@ function toSymbolKind(kind: ls.SymbolKind): monaco.languages.SymbolKind { return mKind.Function; } -export class DocumentSymbolAdapter - implements monaco.languages.DocumentSymbolProvider { +export class DocumentSymbolAdapter implements languages.DocumentSymbolProvider { constructor(private _worker: WorkerAccessor) {} public provideDocumentSymbols( - model: monaco.editor.IReadOnlyModel, + model: editor.IReadOnlyModel, token: CancellationToken - ): Thenable { + ): PromiseLike { const resource = model.uri; return this._worker(resource) @@ -498,9 +493,7 @@ export class DocumentSymbolAdapter } } -function toDocumentSymbol( - item: ls.DocumentSymbol -): monaco.languages.DocumentSymbol { +function toDocumentSymbol(item: ls.DocumentSymbol): languages.DocumentSymbol { return { detail: '', range: toRange(item.range), @@ -513,7 +506,7 @@ function toDocumentSymbol( } function fromFormattingOptions( - options: monaco.languages.FormattingOptions + options: languages.FormattingOptions ): ls.FormattingOptions & CustomFormatterOptions { return { tabSize: options.tabSize, @@ -523,14 +516,14 @@ function fromFormattingOptions( } export class DocumentFormattingEditProvider - implements monaco.languages.DocumentFormattingEditProvider { + implements languages.DocumentFormattingEditProvider { constructor(private _worker: WorkerAccessor) {} public provideDocumentFormattingEdits( - model: monaco.editor.IReadOnlyModel, - options: monaco.languages.FormattingOptions, + model: editor.IReadOnlyModel, + options: languages.FormattingOptions, token: CancellationToken - ): Thenable { + ): PromiseLike { const resource = model.uri; return this._worker(resource).then((worker) => { @@ -547,15 +540,15 @@ export class DocumentFormattingEditProvider } export class DocumentRangeFormattingEditProvider - implements monaco.languages.DocumentRangeFormattingEditProvider { + implements languages.DocumentRangeFormattingEditProvider { constructor(private _worker: WorkerAccessor) {} public provideDocumentRangeFormattingEdits( - model: monaco.editor.IReadOnlyModel, + model: editor.IReadOnlyModel, range: Range, - options: monaco.languages.FormattingOptions, + options: languages.FormattingOptions, token: CancellationToken - ): Thenable { + ): PromiseLike { const resource = model.uri; return this._worker(resource).then((worker) => { @@ -576,13 +569,13 @@ export class DocumentRangeFormattingEditProvider } // export class DocumentColorAdapter -// implements monaco.languages.DocumentColorProvider { +// implements languages.DocumentColorProvider { // constructor(private _worker: WorkerAccessor) {} // public provideDocumentColors( -// model: monaco.editor.IReadOnlyModel, +// model: editor.IReadOnlyModel, // token: CancellationToken -// ): Thenable { +// ): PromiseLike { // const resource = model.uri; // return this._worker(resource) @@ -599,10 +592,10 @@ export class DocumentRangeFormattingEditProvider // } // public provideColorPresentations( -// model: monaco.editor.IReadOnlyModel, -// info: monaco.languages.IColorInformation, +// model: editor.IReadOnlyModel, +// info: languages.IColorInformation, // token: CancellationToken -// ): Thenable { +// ): PromiseLike { // const resource = model.uri; // return this._worker(resource) @@ -618,7 +611,7 @@ export class DocumentRangeFormattingEditProvider // return; // } // return presentations.map(presentation => { -// const item: monaco.languages.IColorPresentation = { +// const item: languages.IColorPresentation = { // label: presentation.label, // }; // if (presentation.textEdit) { diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index ccecedf..ae8e5de 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -4,11 +4,13 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; +import { + languages, + Emitter, + IEvent, +} from 'monaco-editor/esm/vs/editor/editor.api'; import { setupMode } from './yamlMode'; -import Emitter = monaco.Emitter; -import IEvent = monaco.IEvent; - declare var require: ( moduleId: [string], callback: (module: T) => void @@ -17,22 +19,20 @@ declare var require: ( // --- YAML configuration and defaults --------- export class LanguageServiceDefaultsImpl - implements monaco.languages.yaml.LanguageServiceDefaults { - private _onDidChange = new Emitter< - monaco.languages.yaml.LanguageServiceDefaults - >(); - private _diagnosticsOptions: monaco.languages.yaml.DiagnosticsOptions; + implements languages.yaml.LanguageServiceDefaults { + private _onDidChange = new Emitter(); + private _diagnosticsOptions: languages.yaml.DiagnosticsOptions; private _languageId: string; constructor( languageId: string, - diagnosticsOptions: monaco.languages.yaml.DiagnosticsOptions + diagnosticsOptions: languages.yaml.DiagnosticsOptions ) { this._languageId = languageId; this.setDiagnosticsOptions(diagnosticsOptions); } - get onDidChange(): IEvent { + get onDidChange(): IEvent { return this._onDidChange.event; } @@ -40,19 +40,19 @@ export class LanguageServiceDefaultsImpl return this._languageId; } - get diagnosticsOptions(): monaco.languages.yaml.DiagnosticsOptions { + get diagnosticsOptions(): languages.yaml.DiagnosticsOptions { return this._diagnosticsOptions; } public setDiagnosticsOptions( - options: monaco.languages.yaml.DiagnosticsOptions + options: languages.yaml.DiagnosticsOptions ): void { this._diagnosticsOptions = options || Object.create(null); this._onDidChange.fire(this); } } -const diagnosticDefault: monaco.languages.yaml.DiagnosticsOptions = { +const diagnosticDefault: languages.yaml.DiagnosticsOptions = { validate: true, schemas: [], enableSchemaRequest: false, @@ -61,22 +61,22 @@ const diagnosticDefault: monaco.languages.yaml.DiagnosticsOptions = { const yamlDefaults = new LanguageServiceDefaultsImpl('yaml', diagnosticDefault); // Export API -function createAPI(): typeof monaco.languages.yaml { +function createAPI(): typeof languages.yaml { return { yamlDefaults, }; } -monaco.languages.yaml = createAPI(); +languages.yaml = createAPI(); // --- Registration to monaco editor --- -monaco.languages.register({ +languages.register({ id: 'yaml', extensions: ['.yaml', '.yml'], aliases: ['YAML', 'yaml', 'YML', 'yml'], mimetypes: ['application/x-yaml'], }); -monaco.languages.onLanguage('yaml', () => { +languages.onLanguage('yaml', () => { setupMode(yamlDefaults); }); diff --git a/src/monaco.d.ts b/src/monaco.d.ts index eb1a1f6..702f02f 100644 --- a/src/monaco.d.ts +++ b/src/monaco.d.ts @@ -3,52 +3,56 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -declare namespace monaco.languages.yaml { - export interface DiagnosticsOptions { - /** - * If set, the validator will be enabled and perform syntax validation as well as schema based validation. - */ - readonly validate?: boolean; +import { IEvent } from 'monaco-editor/esm/vs/editor/editor.api'; - /** - * A list of known schemas and/or associations of schemas to file names. - */ - readonly schemas?: Array<{ +declare module 'monaco-editor/esm/vs/editor/editor.api' { + namespace languages.yaml { + export interface DiagnosticsOptions { /** - * The URI of the schema, which is also the identifier of the schema. + * If set, the validator will be enabled and perform syntax validation as well as schema based validation. */ - readonly uri: string; - /** - * A list of file names that are associated to the schema. The '*' wildcard can be used. For example '*.schema.json', 'package.json' - */ - readonly fileMatch?: string[]; - /** - * The schema for the given URI. - */ - readonly schema?: any; - }>; + readonly validate?: boolean; - /** - * If set, the schema service would load schema content on-demand with 'fetch' if available - */ - readonly enableSchemaRequest?: boolean; - /** - * If specified, this prefix will be added to all on demand schema requests - */ - readonly prefix?: string; - /** - * Whether or not kubernetes yaml is supported - */ - readonly isKubernetes?: boolean; + /** + * A list of known schemas and/or associations of schemas to file names. + */ + readonly schemas?: Array<{ + /** + * The URI of the schema, which is also the identifier of the schema. + */ + readonly uri: string; + /** + * A list of file names that are associated to the schema. The '*' wildcard can be used. For example '*.schema.json', 'package.json' + */ + readonly fileMatch?: string[]; + /** + * The schema for the given URI. + */ + readonly schema?: any; + }>; - readonly format?: boolean; + /** + * If set, the schema service would load schema content on-demand with 'fetch' if available + */ + readonly enableSchemaRequest?: boolean; + /** + * If specified, this prefix will be added to all on demand schema requests + */ + readonly prefix?: string; + /** + * Whether or not kubernetes yaml is supported + */ + readonly isKubernetes?: boolean; + + readonly format?: boolean; + } + + export interface LanguageServiceDefaults { + readonly onDidChange: IEvent; + readonly diagnosticsOptions: DiagnosticsOptions; + setDiagnosticsOptions(options: DiagnosticsOptions): void; + } + + export const yamlDefaults: LanguageServiceDefaults; } - - export interface LanguageServiceDefaults { - readonly onDidChange: IEvent; - readonly diagnosticsOptions: DiagnosticsOptions; - setDiagnosticsOptions(options: DiagnosticsOptions): void; - } - - export const yamlDefaults: LanguageServiceDefaults; } diff --git a/src/typings/refs.d.ts b/src/typings/refs.d.ts deleted file mode 100644 index 3927c21..0000000 --- a/src/typings/refs.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -/// diff --git a/src/workerManager.ts b/src/workerManager.ts index cddd3bf..7d9d4cd 100644 --- a/src/workerManager.ts +++ b/src/workerManager.ts @@ -4,12 +4,14 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; +import { + editor, + Uri, + IDisposable, +} from 'monaco-editor/esm/vs/editor/editor.api'; import { LanguageServiceDefaultsImpl } from './monaco.contribution'; import { YAMLWorker } from './yamlWorker'; -import IDisposable = monaco.IDisposable; -import Uri = monaco.Uri; - const STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min export class WorkerManager { @@ -18,7 +20,7 @@ export class WorkerManager { private _lastUsedTime: number; private _configChangeListener: IDisposable; - private _worker: monaco.editor.MonacoWebWorker; + private _worker: editor.MonacoWebWorker; private _client: Promise; constructor(defaults: LanguageServiceDefaultsImpl) { @@ -71,7 +73,7 @@ export class WorkerManager { this._lastUsedTime = Date.now(); if (!this._client) { - this._worker = monaco.editor.createWebWorker({ + this._worker = editor.createWebWorker({ // module that exports the create() method and returns a `YAMLWorker` instance moduleId: 'vs/language/yaml/yamlWorker', diff --git a/src/yamlMode.ts b/src/yamlMode.ts index ce0e41f..b789ec9 100644 --- a/src/yamlMode.ts +++ b/src/yamlMode.ts @@ -4,14 +4,16 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; +import { + languages, + Uri, + IDisposable, +} from 'monaco-editor/esm/vs/editor/editor.api'; import * as languageFeatures from './languageFeatures'; import { LanguageServiceDefaultsImpl } from './monaco.contribution'; import { WorkerManager } from './workerManager'; import { YAMLWorker } from './yamlWorker'; -import Uri = monaco.Uri; -import IDisposable = monaco.IDisposable; - export function setupMode(defaults: LanguageServiceDefaultsImpl): void { const disposables: IDisposable[] = []; @@ -27,31 +29,31 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void { const languageId = defaults.languageId; disposables.push( - monaco.languages.registerCompletionItemProvider( + languages.registerCompletionItemProvider( languageId, new languageFeatures.CompletionAdapter(worker) ) ); disposables.push( - monaco.languages.registerHoverProvider( + languages.registerHoverProvider( languageId, new languageFeatures.HoverAdapter(worker) ) ); disposables.push( - monaco.languages.registerDocumentSymbolProvider( + languages.registerDocumentSymbolProvider( languageId, new languageFeatures.DocumentSymbolAdapter(worker) ) ); disposables.push( - monaco.languages.registerDocumentFormattingEditProvider( + languages.registerDocumentFormattingEditProvider( languageId, new languageFeatures.DocumentFormattingEditProvider(worker) ) ); disposables.push( - monaco.languages.registerDocumentRangeFormattingEditProvider( + languages.registerDocumentRangeFormattingEditProvider( languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker) ) @@ -60,14 +62,14 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void { new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults) ); disposables.push( - monaco.languages.setLanguageConfiguration(languageId, richEditConfiguration) + languages.setLanguageConfiguration(languageId, richEditConfiguration) ); // Color adapter should be necessary most of the time: - // disposables.push(monaco.languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker))); + // disposables.push(languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker))); } -const richEditConfiguration: monaco.languages.LanguageConfiguration = { +const richEditConfiguration: languages.LanguageConfiguration = { comments: { lineComment: '#', }, @@ -94,7 +96,7 @@ const richEditConfiguration: monaco.languages.LanguageConfiguration = { onEnterRules: [ { beforeText: /:\s*$/, - action: { indentAction: monaco.languages.IndentAction.Indent }, + action: { indentAction: languages.IndentAction.Indent }, }, ], }; diff --git a/src/yamlWorker.ts b/src/yamlWorker.ts index 81b8899..065c866 100644 --- a/src/yamlWorker.ts +++ b/src/yamlWorker.ts @@ -6,9 +6,7 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import Thenable = monaco.Thenable; -import IWorkerContext = monaco.worker.IWorkerContext; - +import { worker } from 'monaco-editor/esm/vs/editor/editor.api'; import * as ls from 'vscode-languageserver-types'; import * as yamlService from 'yaml-language-server'; @@ -20,13 +18,13 @@ if (typeof fetch !== 'undefined') { } export class YAMLWorker { - private _ctx: IWorkerContext; + private _ctx: worker.IWorkerContext; private _languageService: yamlService.LanguageService; private _languageSettings: yamlService.LanguageSettings; private _languageId: string; private _isKubernetes: boolean; - constructor(ctx: IWorkerContext, createData: ICreateData) { + constructor(ctx: worker.IWorkerContext, createData: ICreateData) { const prefix = createData.prefix || ''; const service = (url: string) => defaultSchemaRequestService(`${prefix}${url}`); @@ -46,7 +44,7 @@ export class YAMLWorker { }); } - public doValidation(uri: string): Thenable { + public doValidation(uri: string): PromiseLike { const document = this._getTextDocument(uri); if (document) { return this._languageService.doValidation(document, this._isKubernetes); @@ -57,7 +55,7 @@ export class YAMLWorker { public doComplete( uri: string, position: ls.Position - ): Thenable { + ): PromiseLike { const document = this._getTextDocument(uri); return this._languageService.doComplete( document, @@ -66,11 +64,11 @@ export class YAMLWorker { ); } - public doResolve(item: ls.CompletionItem): Thenable { + public doResolve(item: ls.CompletionItem): PromiseLike { return this._languageService.doResolve(item); } - public doHover(uri: string, position: ls.Position): Thenable { + public doHover(uri: string, position: ls.Position): PromiseLike { const document = this._getTextDocument(uri); return this._languageService.doHover(document, position); } @@ -79,17 +77,17 @@ export class YAMLWorker { uri: string, range: ls.Range, options: yamlService.CustomFormatterOptions - ): Thenable { + ): PromiseLike { const document = this._getTextDocument(uri); const textEdits = this._languageService.doFormat(document, options); return Promise.resolve(textEdits); } - public resetSchema(uri: string): Thenable { + public resetSchema(uri: string): PromiseLike { return Promise.resolve(this._languageService.resetSchema(uri)); } - public findDocumentSymbols(uri: string): Thenable { + public findDocumentSymbols(uri: string): PromiseLike { const document = this._getTextDocument(uri); const symbols = this._languageService.findDocumentSymbols2(document); return Promise.resolve(symbols); @@ -120,7 +118,7 @@ export interface ICreateData { } export function create( - ctx: IWorkerContext, + ctx: worker.IWorkerContext, createData: ICreateData ): YAMLWorker { return new YAMLWorker(ctx, createData); diff --git a/yarn.lock b/yarn.lock index 062a293..f64bed3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -556,15 +556,10 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -monaco-editor-core@^0.21.2: - version "0.21.2" - resolved "https://registry.yarnpkg.com/monaco-editor-core/-/monaco-editor-core-0.21.2.tgz#06e94d625bf7edc452e4d32c41a96229875001ec" - integrity sha512-uYk9x50dkFsoAHmzYytS29ohDlb2JZsGowK5icwra8FYwdOy77uAq2bDCMYo6NZ4T/aKRKOnnO5S3ifaJwqaBw== - -monaco-editor@^0.21.2: - version "0.21.2" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.2.tgz#37054e63e480d51a2dd17d609dcfb192304d5605" - integrity sha512-jS51RLuzMaoJpYbu7F6TPuWpnWTLD4kjRW0+AZzcryvbxrTwhNy1KC9yboyKpgMTahpUbDUsuQULoo0GV1EPqg== +monaco-editor@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.3.tgz#3381b66614b64d1c5e3b77dd5564ad496d1b4e5d" + integrity sha512-9N7wATLpi+googstvtm6IKg97vPQ77FDYEpkow5tLriM/VJ0DaTRyUP4UVzcoH7KlPDX+e/rE7/imcOUeGkT6g== monaco-languages@^2.1.1: version "2.1.1"