@harmoniclabs/monaco-editor 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.azure-pipelines/publish-nightly.yml +90 -0
- package/.azure-pipelines/publish-stable.yml +89 -0
- package/.devcontainer/devcontainer.json +8 -0
- package/.gitattributes +1 -0
- package/.github/ISSUE_TEMPLATE/1_bug_report.yaml +57 -0
- package/.github/ISSUE_TEMPLATE/2_feature_request.yaml +38 -0
- package/.github/ISSUE_TEMPLATE/3_other.md +4 -0
- package/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/.github/publish-failure-issue-template.md +7 -0
- package/.github/workflows/ci.yml +76 -0
- package/.github/workflows/website.yml +66 -0
- package/.husky/pre-commit +4 -0
- package/.mocharc.json +4 -0
- package/.nvmrc +1 -0
- package/.prettierignore +17 -0
- package/.prettierrc +8 -0
- package/.vscode/launch.json +68 -0
- package/.vscode/settings.json +16 -0
- package/.vscode/tasks.json +30 -0
- package/CHANGELOG.md +1655 -0
- package/CONTRIBUTING.md +125 -0
- package/LICENSE.txt +21 -0
- package/MAINTAINING.md +55 -0
- package/README.md +122 -0
- package/SECURITY.md +41 -0
- package/ThirdPartyNotices.txt +392 -0
- package/build/build-languages.ts +212 -0
- package/build/build-monaco-editor.ts +463 -0
- package/build/check-samples.ts +53 -0
- package/build/fillers/vscode-nls.ts +46 -0
- package/build/fs.ts +80 -0
- package/build/importTypescript.ts +192 -0
- package/build/npm/installAll.ts +44 -0
- package/build/npm/removeAll.ts +20 -0
- package/build/postinstall.ts +23 -0
- package/build/releaseMetadata.ts +280 -0
- package/build/simpleserver.ts +69 -0
- package/build/tsconfig.json +8 -0
- package/build/utils.ts +291 -0
- package/docs/code-structure.dio.svg +275 -0
- package/docs/debugging-core.gif +0 -0
- package/docs/debugging-languages.gif +0 -0
- package/docs/integrate-amd.md +28 -0
- package/docs/integrate-esm.md +229 -0
- package/docs/launch config.png +0 -0
- package/docs/out-folders.dio.svg +347 -0
- package/editor.code-workspace +13 -0
- package/gulpfile.js +9 -0
- package/package.json +80 -0
- package/samples/README.md +36 -0
- package/samples/browser-amd-diff-editor/index.html +62 -0
- package/samples/browser-amd-diff-editor/modified.txt +74 -0
- package/samples/browser-amd-diff-editor/original.txt +61 -0
- package/samples/browser-amd-editor/index.html +24 -0
- package/samples/browser-amd-iframe/index.html +70 -0
- package/samples/browser-amd-iframe/inner.html +34 -0
- package/samples/browser-amd-localized/index.html +30 -0
- package/samples/browser-amd-monarch/index.html +105 -0
- package/samples/browser-amd-requirejs/index.html +26 -0
- package/samples/browser-amd-shadow-dom/index.html +50 -0
- package/samples/browser-amd-shared-model/index.html +29 -0
- package/samples/browser-amd-trusted-types/index.html +42 -0
- package/samples/browser-esm-esbuild/build.js +96 -0
- package/samples/browser-esm-esbuild/index.html +18 -0
- package/samples/browser-esm-esbuild/index.js +24 -0
- package/samples/browser-esm-esbuild/package.json +6 -0
- package/samples/browser-esm-parcel/index.html +19 -0
- package/samples/browser-esm-parcel/package-lock.json +3953 -0
- package/samples/browser-esm-parcel/package.json +10 -0
- package/samples/browser-esm-parcel/src/index.html +11 -0
- package/samples/browser-esm-parcel/src/index.js +29 -0
- package/samples/browser-esm-vite-react/index.html +12 -0
- package/samples/browser-esm-vite-react/package-lock.json +2341 -0
- package/samples/browser-esm-vite-react/package.json +20 -0
- package/samples/browser-esm-vite-react/src/components/Editor.module.css +4 -0
- package/samples/browser-esm-vite-react/src/components/Editor.tsx +25 -0
- package/samples/browser-esm-vite-react/src/main.tsx +11 -0
- package/samples/browser-esm-vite-react/src/userWorker.ts +27 -0
- package/samples/browser-esm-vite-react/src/vite-env.d.ts +1 -0
- package/samples/browser-esm-vite-react/tsconfig.json +11 -0
- package/samples/browser-esm-vite-react/vite.config.ts +7 -0
- package/samples/browser-esm-webpack/index.html +20 -0
- package/samples/browser-esm-webpack/index.js +24 -0
- package/samples/browser-esm-webpack/package.json +6 -0
- package/samples/browser-esm-webpack/webpack.config.js +30 -0
- package/samples/browser-esm-webpack-monaco-plugin/index.html +20 -0
- package/samples/browser-esm-webpack-monaco-plugin/index.js +16 -0
- package/samples/browser-esm-webpack-monaco-plugin/package.json +6 -0
- package/samples/browser-esm-webpack-monaco-plugin/webpack.config.js +28 -0
- package/samples/browser-esm-webpack-small/generate-imports.js +140 -0
- package/samples/browser-esm-webpack-small/index.html +26 -0
- package/samples/browser-esm-webpack-small/index.js +168 -0
- package/samples/browser-esm-webpack-small/package.json +7 -0
- package/samples/browser-esm-webpack-small/webpack.config.js +35 -0
- package/samples/browser-esm-webpack-typescript/package.json +7 -0
- package/samples/browser-esm-webpack-typescript/src/index.css +5 -0
- package/samples/browser-esm-webpack-typescript/src/index.ts +26 -0
- package/samples/browser-esm-webpack-typescript/tsconfig.json +16 -0
- package/samples/browser-esm-webpack-typescript/webpack.config.js +44 -0
- package/samples/browser-esm-webpack-typescript-react/package-lock.json +6183 -0
- package/samples/browser-esm-webpack-typescript-react/package.json +21 -0
- package/samples/browser-esm-webpack-typescript-react/src/components/Editor.tsx +38 -0
- package/samples/browser-esm-webpack-typescript-react/src/index.css +5 -0
- package/samples/browser-esm-webpack-typescript-react/src/index.html +10 -0
- package/samples/browser-esm-webpack-typescript-react/src/index.tsx +12 -0
- package/samples/browser-esm-webpack-typescript-react/tsconfig.json +18 -0
- package/samples/browser-esm-webpack-typescript-react/webpack.config.js +59 -0
- package/samples/browser-script-editor/index.html +28 -0
- package/samples/electron-amd/electron-index.html +37 -0
- package/samples/electron-amd/index.html +18 -0
- package/samples/electron-amd/main.js +32 -0
- package/samples/electron-amd/package.json +7 -0
- package/samples/electron-amd-nodeIntegration/electron-index.html +46 -0
- package/samples/electron-amd-nodeIntegration/index.html +18 -0
- package/samples/electron-amd-nodeIntegration/main.js +37 -0
- package/samples/electron-amd-nodeIntegration/package.json +7 -0
- package/samples/electron-esm-webpack/index.js +24 -0
- package/samples/electron-esm-webpack/main.js +32 -0
- package/samples/electron-esm-webpack/package.json +8 -0
- package/samples/electron-esm-webpack/webpack.config.js +29 -0
- package/samples/nwjs-amd/index.html +48 -0
- package/samples/nwjs-amd-v2/index.html +57 -0
- package/samples/package-lock.json +7808 -0
- package/samples/package.json +32 -0
- package/scripts/ci/env.ts +15 -0
- package/scripts/ci/monaco-editor-core-prepare.ts +81 -0
- package/scripts/ci/monaco-editor-core.sh +34 -0
- package/scripts/ci/monaco-editor-prepare.ts +75 -0
- package/scripts/ci/monaco-editor.sh +29 -0
- package/scripts/lib/index.ts +95 -0
- package/src/basic-languages/_.contribution.ts +80 -0
- package/src/basic-languages/abap/abap.contribution.ts +24 -0
- package/src/basic-languages/abap/abap.test.ts +360 -0
- package/src/basic-languages/abap/abap.ts +1390 -0
- package/src/basic-languages/apex/apex.contribution.ts +25 -0
- package/src/basic-languages/apex/apex.test.ts +700 -0
- package/src/basic-languages/apex/apex.ts +355 -0
- package/src/basic-languages/azcli/azcli.contribution.ts +24 -0
- package/src/basic-languages/azcli/azcli.test.ts +172 -0
- package/src/basic-languages/azcli/azcli.ts +77 -0
- package/src/basic-languages/bat/bat.contribution.ts +24 -0
- package/src/basic-languages/bat/bat.test.ts +397 -0
- package/src/basic-languages/bat/bat.ts +121 -0
- package/src/basic-languages/bicep/bicep.contribution.ts +24 -0
- package/src/basic-languages/bicep/bicep.test.ts +1063 -0
- package/src/basic-languages/bicep/bicep.ts +129 -0
- package/src/basic-languages/cameligo/cameligo.contribution.ts +24 -0
- package/src/basic-languages/cameligo/cameligo.test.ts +144 -0
- package/src/basic-languages/cameligo/cameligo.ts +193 -0
- package/src/basic-languages/clojure/clojure.contribution.ts +24 -0
- package/src/basic-languages/clojure/clojure.test.ts +943 -0
- package/src/basic-languages/clojure/clojure.ts +792 -0
- package/src/basic-languages/coffee/coffee.contribution.ts +25 -0
- package/src/basic-languages/coffee/coffee.test.ts +2363 -0
- package/src/basic-languages/coffee/coffee.ts +258 -0
- package/src/basic-languages/cpp/cpp.contribution.ts +38 -0
- package/src/basic-languages/cpp/cpp.test.ts +979 -0
- package/src/basic-languages/cpp/cpp.ts +416 -0
- package/src/basic-languages/csharp/csharp.contribution.ts +24 -0
- package/src/basic-languages/csharp/csharp.test.ts +976 -0
- package/src/basic-languages/csharp/csharp.ts +352 -0
- package/src/basic-languages/csp/csp.contribution.ts +24 -0
- package/src/basic-languages/csp/csp.test.ts +8 -0
- package/src/basic-languages/csp/csp.ts +58 -0
- package/src/basic-languages/css/css.contribution.ts +25 -0
- package/src/basic-languages/css/css.test.ts +591 -0
- package/src/basic-languages/css/css.ts +215 -0
- package/src/basic-languages/cypher/cypher.contribution.ts +24 -0
- package/src/basic-languages/cypher/cypher.test.ts +327 -0
- package/src/basic-languages/cypher/cypher.ts +274 -0
- package/src/basic-languages/dart/dart.contribution.ts +25 -0
- package/src/basic-languages/dart/dart.test.ts +558 -0
- package/src/basic-languages/dart/dart.ts +305 -0
- package/src/basic-languages/dockerfile/dockerfile.contribution.ts +25 -0
- package/src/basic-languages/dockerfile/dockerfile.test.ts +238 -0
- package/src/basic-languages/dockerfile/dockerfile.ts +145 -0
- package/src/basic-languages/ecl/ecl.contribution.ts +24 -0
- package/src/basic-languages/ecl/ecl.test.ts +8 -0
- package/src/basic-languages/ecl/ecl.ts +481 -0
- package/src/basic-languages/elixir/elixir.contribution.ts +24 -0
- package/src/basic-languages/elixir/elixir.test.ts +447 -0
- package/src/basic-languages/elixir/elixir.ts +656 -0
- package/src/basic-languages/flow9/flow9.contribution.ts +24 -0
- package/src/basic-languages/flow9/flow9.test.ts +148 -0
- package/src/basic-languages/flow9/flow9.ts +160 -0
- package/src/basic-languages/freemarker2/freemarker2-angle-bracket.test.ts +3099 -0
- package/src/basic-languages/freemarker2/freemarker2-angle-dollar.test.ts +3099 -0
- package/src/basic-languages/freemarker2/freemarker2-auto-bracket.test.ts +5358 -0
- package/src/basic-languages/freemarker2/freemarker2-auto-dollar.test.ts +5361 -0
- package/src/basic-languages/freemarker2/freemarker2-bracket-bracket.test.ts +3086 -0
- package/src/basic-languages/freemarker2/freemarker2-bracket-dollar.test.ts +3086 -0
- package/src/basic-languages/freemarker2/freemarker2.contribution.ts +111 -0
- package/src/basic-languages/freemarker2/freemarker2.ts +1230 -0
- package/src/basic-languages/fsharp/fsharp.contribution.ts +24 -0
- package/src/basic-languages/fsharp/fsharp.test.ts +491 -0
- package/src/basic-languages/fsharp/fsharp.ts +237 -0
- package/src/basic-languages/go/go.contribution.ts +24 -0
- package/src/basic-languages/go/go.test.ts +1492 -0
- package/src/basic-languages/go/go.ts +238 -0
- package/src/basic-languages/graphql/graphql.contribution.ts +25 -0
- package/src/basic-languages/graphql/graphql.test.ts +138 -0
- package/src/basic-languages/graphql/graphql.ts +174 -0
- package/src/basic-languages/handlebars/handlebars.contribution.ts +25 -0
- package/src/basic-languages/handlebars/handlebars.test.ts +354 -0
- package/src/basic-languages/handlebars/handlebars.ts +432 -0
- package/src/basic-languages/hcl/hcl.contribution.ts +24 -0
- package/src/basic-languages/hcl/hcl.test.ts +1228 -0
- package/src/basic-languages/hcl/hcl.ts +189 -0
- package/src/basic-languages/html/html.contribution.ts +25 -0
- package/src/basic-languages/html/html.test.ts +743 -0
- package/src/basic-languages/html/html.ts +355 -0
- package/src/basic-languages/ini/ini.contribution.ts +25 -0
- package/src/basic-languages/ini/ini.ts +82 -0
- package/src/basic-languages/java/java.contribution.ts +25 -0
- package/src/basic-languages/java/java.test.ts +878 -0
- package/src/basic-languages/java/java.ts +252 -0
- package/src/basic-languages/javascript/javascript.contribution.ts +27 -0
- package/src/basic-languages/javascript/javascript.test.ts +924 -0
- package/src/basic-languages/javascript/javascript.ts +77 -0
- package/src/basic-languages/julia/julia.contribution.ts +24 -0
- package/src/basic-languages/julia/julia.test.ts +38 -0
- package/src/basic-languages/julia/julia.ts +550 -0
- package/src/basic-languages/kotlin/kotlin.contribution.ts +25 -0
- package/src/basic-languages/kotlin/kotlin.test.ts +753 -0
- package/src/basic-languages/kotlin/kotlin.ts +273 -0
- package/src/basic-languages/less/less.contribution.ts +25 -0
- package/src/basic-languages/less/less.test.ts +1560 -0
- package/src/basic-languages/less/less.ts +198 -0
- package/src/basic-languages/lexon/lexon.contribution.ts +24 -0
- package/src/basic-languages/lexon/lexon.test.ts +145 -0
- package/src/basic-languages/lexon/lexon.ts +179 -0
- package/src/basic-languages/liquid/liquid.contribution.ts +25 -0
- package/src/basic-languages/liquid/liquid.test.ts +209 -0
- package/src/basic-languages/liquid/liquid.ts +251 -0
- package/src/basic-languages/lua/lua.contribution.ts +24 -0
- package/src/basic-languages/lua/lua.test.ts +86 -0
- package/src/basic-languages/lua/lua.ts +178 -0
- package/src/basic-languages/m3/m3.contribution.ts +24 -0
- package/src/basic-languages/m3/m3.test.ts +119 -0
- package/src/basic-languages/m3/m3.ts +226 -0
- package/src/basic-languages/markdown/markdown.contribution.ts +24 -0
- package/src/basic-languages/markdown/markdown.test.ts +95 -0
- package/src/basic-languages/markdown/markdown.ts +256 -0
- package/src/basic-languages/mdx/mdx.contribution.ts +24 -0
- package/src/basic-languages/mdx/mdx.test.ts +171 -0
- package/src/basic-languages/mdx/mdx.ts +163 -0
- package/src/basic-languages/mips/mips.contribution.ts +25 -0
- package/src/basic-languages/mips/mips.test.ts +239 -0
- package/src/basic-languages/mips/mips.ts +223 -0
- package/src/basic-languages/monaco.contribution.ts +87 -0
- package/src/basic-languages/msdax/msdax.contribution.ts +24 -0
- package/src/basic-languages/msdax/msdax.test.ts +444 -0
- package/src/basic-languages/msdax/msdax.ts +382 -0
- package/src/basic-languages/mysql/keywords.js +32 -0
- package/src/basic-languages/mysql/keywords.mysql.txt +750 -0
- package/src/basic-languages/mysql/mysql.contribution.ts +24 -0
- package/src/basic-languages/mysql/mysql.test.ts +561 -0
- package/src/basic-languages/mysql/mysql.ts +885 -0
- package/src/basic-languages/objective-c/objective-c.contribution.ts +24 -0
- package/src/basic-languages/objective-c/objective-c.test.ts +368 -0
- package/src/basic-languages/objective-c/objective-c.ts +219 -0
- package/src/basic-languages/pascal/pascal.contribution.ts +25 -0
- package/src/basic-languages/pascal/pascal.test.ts +151 -0
- package/src/basic-languages/pascal/pascal.ts +270 -0
- package/src/basic-languages/pascaligo/pascaligo.contribution.ts +24 -0
- package/src/basic-languages/pascaligo/pascaligo.test.ts +143 -0
- package/src/basic-languages/pascaligo/pascaligo.ts +183 -0
- package/src/basic-languages/pebble/pebble.contribution.ts +24 -0
- package/src/basic-languages/pebble/pebble.test.ts +178 -0
- package/src/basic-languages/pebble/pebble.ts +457 -0
- package/src/basic-languages/perl/perl.contribution.ts +24 -0
- package/src/basic-languages/perl/perl.test.ts +475 -0
- package/src/basic-languages/perl/perl.ts +664 -0
- package/src/basic-languages/pgsql/keywords.js +30 -0
- package/src/basic-languages/pgsql/keywords.postgresql.txt +827 -0
- package/src/basic-languages/pgsql/pgsql.contribution.ts +24 -0
- package/src/basic-languages/pgsql/pgsql.test.ts +595 -0
- package/src/basic-languages/pgsql/pgsql.ts +858 -0
- package/src/basic-languages/php/php.contribution.ts +25 -0
- package/src/basic-languages/php/php.test.ts +2409 -0
- package/src/basic-languages/php/php.ts +636 -0
- package/src/basic-languages/pla/pla.contribution.ts +23 -0
- package/src/basic-languages/pla/pla.test.ts +598 -0
- package/src/basic-languages/pla/pla.ts +157 -0
- package/src/basic-languages/postiats/postiats.contribution.ts +24 -0
- package/src/basic-languages/postiats/postiats.test.ts +1050 -0
- package/src/basic-languages/postiats/postiats.ts +748 -0
- package/src/basic-languages/powerquery/powerquery.contribution.ts +24 -0
- package/src/basic-languages/powerquery/powerquery.test.ts +416 -0
- package/src/basic-languages/powerquery/powerquery.ts +917 -0
- package/src/basic-languages/powershell/powershell.contribution.ts +24 -0
- package/src/basic-languages/powershell/powershell.test.ts +884 -0
- package/src/basic-languages/powershell/powershell.ts +263 -0
- package/src/basic-languages/protobuf/protobuf.contribution.ts +24 -0
- package/src/basic-languages/protobuf/protobuf.test.ts +2073 -0
- package/src/basic-languages/protobuf/protobuf.ts +463 -0
- package/src/basic-languages/pug/pug.contribution.ts +24 -0
- package/src/basic-languages/pug/pug.test.ts +473 -0
- package/src/basic-languages/pug/pug.ts +434 -0
- package/src/basic-languages/python/python.contribution.ts +25 -0
- package/src/basic-languages/python/python.test.ts +257 -0
- package/src/basic-languages/python/python.ts +296 -0
- package/src/basic-languages/qsharp/qsharp.contribution.ts +24 -0
- package/src/basic-languages/qsharp/qsharp.test.ts +186 -0
- package/src/basic-languages/qsharp/qsharp.ts +325 -0
- package/src/basic-languages/r/r.contribution.ts +24 -0
- package/src/basic-languages/r/r.test.ts +600 -0
- package/src/basic-languages/r/r.ts +263 -0
- package/src/basic-languages/razor/razor.contribution.ts +25 -0
- package/src/basic-languages/razor/razor.test.ts +175 -0
- package/src/basic-languages/razor/razor.ts +571 -0
- package/src/basic-languages/redis/redis.contribution.ts +24 -0
- package/src/basic-languages/redis/redis.test.ts +306 -0
- package/src/basic-languages/redis/redis.ts +309 -0
- package/src/basic-languages/redshift/redshift.contribution.ts +24 -0
- package/src/basic-languages/redshift/redshift.test.ts +595 -0
- package/src/basic-languages/redshift/redshift.ts +815 -0
- package/src/basic-languages/restructuredtext/restructuredtext.contribution.ts +24 -0
- package/src/basic-languages/restructuredtext/restructuredtext.test.ts +454 -0
- package/src/basic-languages/restructuredtext/restructuredtext.ts +198 -0
- package/src/basic-languages/ruby/ruby.contribution.ts +25 -0
- package/src/basic-languages/ruby/ruby.test.ts +158 -0
- package/src/basic-languages/ruby/ruby.ts +590 -0
- package/src/basic-languages/rust/rust.contribution.ts +24 -0
- package/src/basic-languages/rust/rust.test.ts +208 -0
- package/src/basic-languages/rust/rust.ts +361 -0
- package/src/basic-languages/sb/sb.contribution.ts +24 -0
- package/src/basic-languages/sb/sb.test.ts +320 -0
- package/src/basic-languages/sb/sb.ts +134 -0
- package/src/basic-languages/scala/scala.contribution.ts +25 -0
- package/src/basic-languages/scala/scala.test.ts +727 -0
- package/src/basic-languages/scala/scala.ts +413 -0
- package/src/basic-languages/scheme/scheme.contribution.ts +24 -0
- package/src/basic-languages/scheme/scheme.test.ts +89 -0
- package/src/basic-languages/scheme/scheme.ts +128 -0
- package/src/basic-languages/scss/scss.contribution.ts +25 -0
- package/src/basic-languages/scss/scss.test.ts +2422 -0
- package/src/basic-languages/scss/scss.ts +284 -0
- package/src/basic-languages/shell/shell.contribution.ts +24 -0
- package/src/basic-languages/shell/shell.test.ts +345 -0
- package/src/basic-languages/shell/shell.ts +246 -0
- package/src/basic-languages/solidity/solidity.contribution.ts +24 -0
- package/src/basic-languages/solidity/solidity.test.ts +272 -0
- package/src/basic-languages/solidity/solidity.ts +1388 -0
- package/src/basic-languages/sophia/sophia.contribution.ts +24 -0
- package/src/basic-languages/sophia/sophia.test.ts +302 -0
- package/src/basic-languages/sophia/sophia.ts +220 -0
- package/src/basic-languages/sparql/sparql.contribution.ts +24 -0
- package/src/basic-languages/sparql/sparql.test.ts +187 -0
- package/src/basic-languages/sparql/sparql.ts +219 -0
- package/src/basic-languages/sql/keywords.js +612 -0
- package/src/basic-languages/sql/sql.contribution.ts +24 -0
- package/src/basic-languages/sql/sql.test.ts +692 -0
- package/src/basic-languages/sql/sql.ts +860 -0
- package/src/basic-languages/st/st.contribution.ts +24 -0
- package/src/basic-languages/st/st.test.ts +139 -0
- package/src/basic-languages/st/st.ts +441 -0
- package/src/basic-languages/swift/swift.contribution.ts +25 -0
- package/src/basic-languages/swift/swift.test.ts +254 -0
- package/src/basic-languages/swift/swift.ts +335 -0
- package/src/basic-languages/systemverilog/systemverilog.contribution.ts +39 -0
- package/src/basic-languages/systemverilog/systemverilog.test.ts +1267 -0
- package/src/basic-languages/systemverilog/systemverilog.ts +606 -0
- package/src/basic-languages/tcl/tcl.contribution.ts +24 -0
- package/src/basic-languages/tcl/tcl.test.ts +107 -0
- package/src/basic-languages/tcl/tcl.ts +259 -0
- package/src/basic-languages/test/testRunner.ts +63 -0
- package/src/basic-languages/twig/twig.contribution.ts +25 -0
- package/src/basic-languages/twig/twig.test.ts +1047 -0
- package/src/basic-languages/twig/twig.ts +417 -0
- package/src/basic-languages/typescript/typescript.contribution.ts +25 -0
- package/src/basic-languages/typescript/typescript.test.ts +973 -0
- package/src/basic-languages/typescript/typescript.ts +364 -0
- package/src/basic-languages/typespec/typespec.contribution.ts +24 -0
- package/src/basic-languages/typespec/typespec.test.ts +500 -0
- package/src/basic-languages/typespec/typespec.ts +130 -0
- package/src/basic-languages/vb/vb.contribution.ts +24 -0
- package/src/basic-languages/vb/vb.test.ts +598 -0
- package/src/basic-languages/vb/vb.ts +394 -0
- package/src/basic-languages/wgsl/wgsl.contribution.ts +24 -0
- package/src/basic-languages/wgsl/wgsl.test.ts +3915 -0
- package/src/basic-languages/wgsl/wgsl.ts +485 -0
- package/src/basic-languages/xml/xml.contribution.ts +44 -0
- package/src/basic-languages/xml/xml.test.ts +706 -0
- package/src/basic-languages/xml/xml.ts +106 -0
- package/src/basic-languages/yaml/yaml.contribution.ts +25 -0
- package/src/basic-languages/yaml/yaml.test.ts +670 -0
- package/src/basic-languages/yaml/yaml.ts +236 -0
- package/src/fillers/editor.api.d.ts +4 -0
- package/src/fillers/monaco-editor-core-amd.ts +11 -0
- package/src/fillers/monaco-editor-core.ts +6 -0
- package/src/language/common/lspLanguageFeatures.ts +1027 -0
- package/src/language/css/css.worker.ts +14 -0
- package/src/language/css/cssMode.ts +145 -0
- package/src/language/css/cssWorker.ts +239 -0
- package/src/language/css/monaco.contribution.ts +362 -0
- package/src/language/css/workerManager.ts +90 -0
- package/src/language/html/html.worker.ts +14 -0
- package/src/language/html/htmlMode.ts +171 -0
- package/src/language/html/htmlWorker.ts +164 -0
- package/src/language/html/monaco.contribution.ts +329 -0
- package/src/language/html/workerManager.ts +90 -0
- package/src/language/json/json.worker.ts +14 -0
- package/src/language/json/jsonMode.ts +185 -0
- package/src/language/json/jsonWorker.ts +235 -0
- package/src/language/json/monaco.contribution.ts +372 -0
- package/src/language/json/tokenization.ts +273 -0
- package/src/language/json/workerManager.ts +91 -0
- package/src/language/typescript/languageFeatures.ts +1269 -0
- package/src/language/typescript/lib/editor.worker.d.ts +8 -0
- package/src/language/typescript/lib/lib.index.ts +97 -0
- package/src/language/typescript/lib/lib.ts +97 -0
- package/src/language/typescript/lib/typescriptServices.d.ts +11717 -0
- package/src/language/typescript/lib/typescriptServices.js +190876 -0
- package/src/language/typescript/lib/typescriptServicesMetadata.ts +5 -0
- package/src/language/typescript/monaco.contribution.ts +815 -0
- package/src/language/typescript/ts.worker.ts +19 -0
- package/src/language/typescript/tsMode.ts +176 -0
- package/src/language/typescript/tsWorker.ts +525 -0
- package/src/language/typescript/workerManager.ts +101 -0
- package/src/nls-fix.js +39 -0
- package/src/tsconfig.json +14 -0
- package/test/manual/cross-origin.html +26 -0
- package/test/manual/dev-setup.js +218 -0
- package/test/manual/diff.html +20 -0
- package/test/manual/diff.js +451 -0
- package/test/manual/iframe-inner.html +29 -0
- package/test/manual/iframe.html +23 -0
- package/test/manual/index.css +14 -0
- package/test/manual/index.html +44 -0
- package/test/manual/index.js +421 -0
- package/test/manual/mouse-fixed.html +31 -0
- package/test/manual/mouse-scrollable-body.html +286 -0
- package/test/manual/mouse-scrollable-element.html +204 -0
- package/test/manual/samples/run-editor-failing-js.txt +44 -0
- package/test/manual/samples/run-editor-intellisense-js.txt +33 -0
- package/test/manual/samples/run-editor-jquery-min-js.txt +30 -0
- package/test/manual/samples/run-editor-korean.txt +10 -0
- package/test/manual/samples/run-editor-sample-big-css.txt +1 -0
- package/test/manual/samples/run-editor-sample-bom-cs.txt +493 -0
- package/test/manual/samples/run-editor-sample-cr-ps1.txt +12 -0
- package/test/manual/samples/run-editor-sample-dynamic.txt +50 -0
- package/test/manual/samples/run-editor-sample-f12-css.txt +31764 -0
- package/test/manual/samples/run-editor-sample-html.txt +23 -0
- package/test/manual/samples/run-editor-sample-js.txt +222 -0
- package/test/manual/samples/run-editor-sample-msn-js.txt +1 -0
- package/test/manual/samples.js +287 -0
- package/test/manual/shadow-dom.html +56 -0
- package/test/manual/transform.html +29 -0
- package/test/manual/typescript/custom-worker.html +210 -0
- package/test/manual/typescript/custom-worker.js +59 -0
- package/test/manual/typescript/index.html +179 -0
- package/test/smoke/amd/index.html +21 -0
- package/test/smoke/common.js +11 -0
- package/test/smoke/esbuild/index.html +11 -0
- package/test/smoke/esbuild/index.js +26 -0
- package/test/smoke/package-esbuild.ts +60 -0
- package/test/smoke/package-vite.ts +19 -0
- package/test/smoke/package-webpack.ts +56 -0
- package/test/smoke/parcel/index.html +11 -0
- package/test/smoke/parcel/index.js +41 -0
- package/test/smoke/parcel/package.json +6 -0
- package/test/smoke/runner.js +94 -0
- package/test/smoke/smoke.test.js +215 -0
- package/test/smoke/vite/index.html +10 -0
- package/test/smoke/vite/index.js +31 -0
- package/test/smoke/webpack/index.html +10 -0
- package/test/smoke/webpack/index.js +4 -0
- package/test/unit/all.js +70 -0
- package/test/unit/setup.js +34 -0
- package/webpack-plugin/LICENSE +21 -0
- package/webpack-plugin/README.md +116 -0
- package/webpack-plugin/package-lock.json +3132 -0
- package/webpack-plugin/package.json +45 -0
- package/webpack-plugin/tsconfig.json +11 -0
- package/website/.prettierrc.json +6 -0
- package/website/index/samples/sample.mdx.txt +92 -0
- package/website/package.json +60 -0
- package/website/scripts/check-playground-samples-js.ts +58 -0
- package/website/src/monaco-loader.ts +111 -0
- package/website/src/runner/debug.ts +75 -0
- package/website/src/runner/index.ts +104 -0
- package/website/src/runner/style.scss +35 -0
- package/website/src/shared.ts +37 -0
- package/website/src/tsconfig.json +19 -0
- package/website/src/types.d.ts +13 -0
- package/website/src/website/bootstrap.scss +6 -0
- package/website/src/website/code-oss.svg +1 -0
- package/website/src/website/components/Loader.tsx +40 -0
- package/website/src/website/components/Nav.tsx +75 -0
- package/website/src/website/components/Page.tsx +11 -0
- package/website/src/website/components/Radio.tsx +23 -0
- package/website/src/website/components/Select.tsx +75 -0
- package/website/src/website/components/TextBox.tsx +21 -0
- package/website/src/website/components/bootstrap.tsx +32 -0
- package/website/src/website/components/monaco/MonacoEditor.tsx +275 -0
- package/website/src/website/components/monaco/MonacoLoader.tsx +39 -0
- package/website/src/website/data/diff-sample/modified.txt +212 -0
- package/website/src/website/data/diff-sample/original.txt +215 -0
- package/website/src/website/data/home-samples/sample.abap.txt +29 -0
- package/website/src/website/data/home-samples/sample.aes.txt +38 -0
- package/website/src/website/data/home-samples/sample.apex.txt +7 -0
- package/website/src/website/data/home-samples/sample.azcli.txt +5 -0
- package/website/src/website/data/home-samples/sample.bat.txt +13 -0
- package/website/src/website/data/home-samples/sample.bicep.txt +29 -0
- package/website/src/website/data/home-samples/sample.c.txt +3463 -0
- package/website/src/website/data/home-samples/sample.cameligo.txt +17 -0
- package/website/src/website/data/home-samples/sample.clojure.txt +54 -0
- package/website/src/website/data/home-samples/sample.coffeescript.txt +28 -0
- package/website/src/website/data/home-samples/sample.cpp.txt +246 -0
- package/website/src/website/data/home-samples/sample.csharp.txt +38 -0
- package/website/src/website/data/home-samples/sample.csp.txt +1 -0
- package/website/src/website/data/home-samples/sample.css.txt +828 -0
- package/website/src/website/data/home-samples/sample.cypher.txt +3 -0
- package/website/src/website/data/home-samples/sample.dart.txt +45 -0
- package/website/src/website/data/home-samples/sample.dockerfile.txt +32 -0
- package/website/src/website/data/home-samples/sample.ecl.txt +7 -0
- package/website/src/website/data/home-samples/sample.elixir.txt +80 -0
- package/website/src/website/data/home-samples/sample.flow9.txt +14 -0
- package/website/src/website/data/home-samples/sample.freemarker2.tag-angle.interpolation-bracket.txt +61 -0
- package/website/src/website/data/home-samples/sample.freemarker2.tag-angle.interpolation-dollar.txt +61 -0
- package/website/src/website/data/home-samples/sample.freemarker2.tag-auto.interpolation-bracket.txt +65 -0
- package/website/src/website/data/home-samples/sample.freemarker2.tag-auto.interpolation-dollar.txt +65 -0
- package/website/src/website/data/home-samples/sample.freemarker2.tag-bracket.interpolation-bracket.txt +61 -0
- package/website/src/website/data/home-samples/sample.freemarker2.tag-bracket.interpolation-dollar.txt +61 -0
- package/website/src/website/data/home-samples/sample.freemarker2.txt +61 -0
- package/website/src/website/data/home-samples/sample.fsharp.txt +8 -0
- package/website/src/website/data/home-samples/sample.go.txt +111 -0
- package/website/src/website/data/home-samples/sample.graphql.txt +263 -0
- package/website/src/website/data/home-samples/sample.handlebars.txt +31 -0
- package/website/src/website/data/home-samples/sample.hcl.txt +48 -0
- package/website/src/website/data/home-samples/sample.html.txt +100 -0
- package/website/src/website/data/home-samples/sample.ini.txt +15 -0
- package/website/src/website/data/home-samples/sample.java.txt +54 -0
- package/website/src/website/data/home-samples/sample.javascript.txt +214 -0
- package/website/src/website/data/home-samples/sample.json.txt +68 -0
- package/website/src/website/data/home-samples/sample.julia.txt +23 -0
- package/website/src/website/data/home-samples/sample.kotlin.txt +28 -0
- package/website/src/website/data/home-samples/sample.less.txt +46 -0
- package/website/src/website/data/home-samples/sample.lex.txt +21 -0
- package/website/src/website/data/home-samples/sample.lexon.txt +17 -0
- package/website/src/website/data/home-samples/sample.liquid.txt +16 -0
- package/website/src/website/data/home-samples/sample.lua.txt +12 -0
- package/website/src/website/data/home-samples/sample.m3.txt +5 -0
- package/website/src/website/data/home-samples/sample.markdown.txt +104 -0
- package/website/src/website/data/home-samples/sample.mdx.txt +91 -0
- package/website/src/website/data/home-samples/sample.mips.txt +13 -0
- package/website/src/website/data/home-samples/sample.msdax.txt +1 -0
- package/website/src/website/data/home-samples/sample.mysql.txt +8 -0
- package/website/src/website/data/home-samples/sample.objective-c.txt +52 -0
- package/website/src/website/data/home-samples/sample.pascal.txt +28 -0
- package/website/src/website/data/home-samples/sample.pascaligo.txt +20 -0
- package/website/src/website/data/home-samples/sample.pebble.txt +54 -0
- package/website/src/website/data/home-samples/sample.perl.txt +18 -0
- package/website/src/website/data/home-samples/sample.pgsql.txt +8 -0
- package/website/src/website/data/home-samples/sample.php.txt +82 -0
- package/website/src/website/data/home-samples/sample.pla.txt +4 -0
- package/website/src/website/data/home-samples/sample.plaintext.txt +9 -0
- package/website/src/website/data/home-samples/sample.postiats.txt +64 -0
- package/website/src/website/data/home-samples/sample.powerquery.txt +12 -0
- package/website/src/website/data/home-samples/sample.powershell.txt +30 -0
- package/website/src/website/data/home-samples/sample.proto.txt +11 -0
- package/website/src/website/data/home-samples/sample.pug.txt +18 -0
- package/website/src/website/data/home-samples/sample.python.txt +13 -0
- package/website/src/website/data/home-samples/sample.qsharp.txt +45 -0
- package/website/src/website/data/home-samples/sample.r.txt +41 -0
- package/website/src/website/data/home-samples/sample.razor.txt +46 -0
- package/website/src/website/data/home-samples/sample.redis.txt +4 -0
- package/website/src/website/data/home-samples/sample.redshift.txt +9 -0
- package/website/src/website/data/home-samples/sample.restructuredtext.txt +26 -0
- package/website/src/website/data/home-samples/sample.ruby.txt +21 -0
- package/website/src/website/data/home-samples/sample.rust.txt +29 -0
- package/website/src/website/data/home-samples/sample.sb.txt +10 -0
- package/website/src/website/data/home-samples/sample.scala.txt +53 -0
- package/website/src/website/data/home-samples/sample.scheme.txt +105 -0
- package/website/src/website/data/home-samples/sample.scss.txt +37 -0
- package/website/src/website/data/home-samples/sample.shell.txt +42 -0
- package/website/src/website/data/home-samples/sample.sol.txt +139 -0
- package/website/src/website/data/home-samples/sample.sparql.txt +7 -0
- package/website/src/website/data/home-samples/sample.sql.txt +52 -0
- package/website/src/website/data/home-samples/sample.st.txt +34 -0
- package/website/src/website/data/home-samples/sample.swift.txt +50 -0
- package/website/src/website/data/home-samples/sample.systemverilog.txt +28 -0
- package/website/src/website/data/home-samples/sample.tcl.txt +18 -0
- package/website/src/website/data/home-samples/sample.twig.txt +12 -0
- package/website/src/website/data/home-samples/sample.typescript.txt +124 -0
- package/website/src/website/data/home-samples/sample.typespec.txt +71 -0
- package/website/src/website/data/home-samples/sample.vb.txt +59 -0
- package/website/src/website/data/home-samples/sample.verilog.txt +35 -0
- package/website/src/website/data/home-samples/sample.wgsl.txt +48 -0
- package/website/src/website/data/home-samples/sample.xml.txt +14 -0
- package/website/src/website/data/home-samples/sample.yaml.txt +14 -0
- package/website/src/website/data/playground-samples/all.js +196 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/chapter.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/hello-diff-world/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/hello-diff-world/sample.html +1 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/hello-diff-world/sample.js +20 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/hello-diff-world/sample.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/inline-diff-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/inline-diff-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/inline-diff-example/sample.js +23 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/inline-diff-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/multi-line-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/multi-line-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/multi-line-example/sample.js +20 -0
- package/website/src/website/data/playground-samples/creating-the-diffeditor/multi-line-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-editor/chapter.json +4 -0
- package/website/src/website/data/playground-samples/creating-the-editor/editor-basic-options/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-editor/editor-basic-options/sample.html +1 -0
- package/website/src/website/data/playground-samples/creating-the-editor/editor-basic-options/sample.js +19 -0
- package/website/src/website/data/playground-samples/creating-the-editor/editor-basic-options/sample.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hard-wrapping/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hard-wrapping/sample.html +1 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hard-wrapping/sample.js +13 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hard-wrapping/sample.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hello-world/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hello-world/sample.html +1 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hello-world/sample.js +10 -0
- package/website/src/website/data/playground-samples/creating-the-editor/hello-world/sample.json +4 -0
- package/website/src/website/data/playground-samples/creating-the-editor/syntax-highlighting-for-html-elements/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-editor/syntax-highlighting-for-html-elements/sample.html +35 -0
- package/website/src/website/data/playground-samples/creating-the-editor/syntax-highlighting-for-html-elements/sample.js +4 -0
- package/website/src/website/data/playground-samples/creating-the-editor/syntax-highlighting-for-html-elements/sample.json +3 -0
- package/website/src/website/data/playground-samples/creating-the-editor/web-component/sample.css +0 -0
- package/website/src/website/data/playground-samples/creating-the-editor/web-component/sample.html +8 -0
- package/website/src/website/data/playground-samples/creating-the-editor/web-component/sample.js +35 -0
- package/website/src/website/data/playground-samples/creating-the-editor/web-component/sample.json +4 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/chapter.json +3 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/exposed-colors/sample.css +0 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/exposed-colors/sample.html +1 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/exposed-colors/sample.js +150 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/exposed-colors/sample.json +3 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/scrollbars/sample.css +13 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/scrollbars/sample.html +1 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/scrollbars/sample.js +32 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/scrollbars/sample.json +3 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/tokens-and-colors/sample.css +0 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/tokens-and-colors/sample.html +1 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/tokens-and-colors/sample.js +40 -0
- package/website/src/website/data/playground-samples/customizing-the-appearence/tokens-and-colors/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/chapter.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/codelens-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/codelens-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/codelens-provider-example/sample.js +39 -0
- package/website/src/website/data/playground-samples/extending-language-services/codelens-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/color-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/color-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/color-provider-example/sample.js +71 -0
- package/website/src/website/data/playground-samples/extending-language-services/color-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/completion-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/completion-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/completion-provider-example/sample.js +69 -0
- package/website/src/website/data/playground-samples/extending-language-services/completion-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-javascript-defaults/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-javascript-defaults/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-javascript-defaults/sample.js +46 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-javascript-defaults/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-json-defaults/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-json-defaults/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-json-defaults/sample.js +42 -0
- package/website/src/website/data/playground-samples/extending-language-services/configure-json-defaults/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/custom-languages/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/custom-languages/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/custom-languages/sample.js +137 -0
- package/website/src/website/data/playground-samples/extending-language-services/custom-languages/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/folding-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/folding-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/folding-provider-example/sample.js +74 -0
- package/website/src/website/data/playground-samples/extending-language-services/folding-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/hover-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/hover-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/hover-provider-example/sample.js +62 -0
- package/website/src/website/data/playground-samples/extending-language-services/hover-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/inlay-hints-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/inlay-hints-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/inlay-hints-provider-example/sample.js +47 -0
- package/website/src/website/data/playground-samples/extending-language-services/inlay-hints-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/model-markers-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/model-markers-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/model-markers-example/sample.js +50 -0
- package/website/src/website/data/playground-samples/extending-language-services/model-markers-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/semantic-tokens-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/semantic-tokens-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/semantic-tokens-provider-example/sample.js +168 -0
- package/website/src/website/data/playground-samples/extending-language-services/semantic-tokens-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/extending-language-services/symbols-provider-example/sample.css +0 -0
- package/website/src/website/data/playground-samples/extending-language-services/symbols-provider-example/sample.html +1 -0
- package/website/src/website/data/playground-samples/extending-language-services/symbols-provider-example/sample.js +480 -0
- package/website/src/website/data/playground-samples/extending-language-services/symbols-provider-example/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-command-to-an-editor-instance/sample.css +0 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-command-to-an-editor-instance/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-command-to-an-editor-instance/sample.js +43 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-command-to-an-editor-instance/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-keybinding-to-an-existing-command/sample.css +0 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-keybinding-to-an-existing-command/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-keybinding-to-an-existing-command/sample.js +49 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-a-keybinding-to-an-existing-command/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-an-action-to-an-editor-instance/sample.css +0 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-an-action-to-an-editor-instance/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-an-action-to-an-editor-instance/sample.js +52 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/adding-an-action-to-an-editor-instance/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/chapter.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-the-line-numbers/sample.css +0 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-the-line-numbers/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-the-line-numbers/sample.js +37 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-the-line-numbers/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/line-and-inline-decorations/sample.css +13 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/line-and-inline-decorations/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/line-and-inline-decorations/sample.js +30 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/line-and-inline-decorations/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-key-events/sample.css +0 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-key-events/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-key-events/sample.js +11 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-key-events/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-mouse-events/sample.css +6 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-mouse-events/sample.html +5 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-mouse-events/sample.js +114 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/listening-to-mouse-events/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/rendering-glyphs-in-the-margin/sample.css +7 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/rendering-glyphs-in-the-margin/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/rendering-glyphs-in-the-margin/sample.js +30 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/rendering-glyphs-in-the-margin/sample.json +3 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/revealing-a-position/sample.css +0 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/revealing-a-position/sample.html +1 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/revealing-a-position/sample.js +41 -0
- package/website/src/website/data/playground-samples/interacting-with-the-editor/revealing-a-position/sample.json +3 -0
- package/website/src/website/index.tsx +10 -0
- package/website/src/website/monaco-loader-chunk.ts +15 -0
- package/website/src/website/monacoEditorVersion.ts +8 -0
- package/website/src/website/pages/App.tsx +21 -0
- package/website/src/website/pages/DocsPage.tsx +103 -0
- package/website/src/website/pages/MonarchPage.tsx +16 -0
- package/website/src/website/pages/home/Home.tsx +249 -0
- package/website/src/website/pages/playground/BisectModel.ts +161 -0
- package/website/src/website/pages/playground/LocationModel.ts +216 -0
- package/website/src/website/pages/playground/PlaygroundModel.ts +355 -0
- package/website/src/website/pages/playground/PlaygroundPage.tsx +31 -0
- package/website/src/website/pages/playground/PlaygroundPageContent.tsx +587 -0
- package/website/src/website/pages/playground/Preview.tsx +129 -0
- package/website/src/website/pages/playground/SettingsDialog.tsx +412 -0
- package/website/src/website/pages/playground/SettingsModel.ts +198 -0
- package/website/src/website/pages/playground/Source.ts +107 -0
- package/website/src/website/pages/playground/getNpmVersionsSync.ts +450 -0
- package/website/src/website/pages/playground/playgroundExamples.tsx +88 -0
- package/website/src/website/pages/playground/utils.ts +28 -0
- package/website/src/website/pages/routes.ts +28 -0
- package/website/src/website/style.scss +96 -0
- package/website/src/website/utils/Debouncer.ts +28 -0
- package/website/src/website/utils/ObservableHistory.ts +89 -0
- package/website/src/website/utils/ObservablePromise.ts +49 -0
- package/website/src/website/utils/hotComponent.tsx +49 -0
- package/website/src/website/utils/lzmaCompressor.ts +39 -0
- package/website/src/website/utils/ref.ts +39 -0
- package/website/src/website/utils/types.d.ts +28 -0
- package/website/src/website/utils/utils.ts +58 -0
- package/website/static/monarch/monarch-34px.png +0 -0
- package/website/static/monarch/monarch.css +297 -0
- package/website/static/monarch/monarch.js +178 -0
- package/website/static/monarch-static.html +5345 -0
- package/website/tsconfig.json +16 -0
- package/website/tslint.json +6 -0
- package/website/typedoc/tsconfig.json +8 -0
- package/website/typedoc/typedoc.json +11 -0
- package/website/vscode-web-editors.tgz +0 -0
- package/website/webpack.config.ts +151 -0
- package/website/yarn.lock +3612 -0
|
@@ -0,0 +1,493 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using System.Net.Http;
|
|
4
|
+
using System.Security.Claims;
|
|
5
|
+
using System.Security.Cryptography;
|
|
6
|
+
using System.Threading.Tasks;
|
|
7
|
+
using System.Web;
|
|
8
|
+
using System.Web.Http;
|
|
9
|
+
using System.Web.Http.ModelBinding;
|
|
10
|
+
using Microsoft.AspNet.Identity;
|
|
11
|
+
using Microsoft.AspNet.Identity.EntityFramework;
|
|
12
|
+
using Microsoft.AspNet.Identity.Owin;
|
|
13
|
+
using Microsoft.Owin.Security;
|
|
14
|
+
using Microsoft.Owin.Security.Cookies;
|
|
15
|
+
using Microsoft.Owin.Security.OAuth;
|
|
16
|
+
using WebApplication.Models;
|
|
17
|
+
using WebApplication.Providers;
|
|
18
|
+
using WebApplication.Results;
|
|
19
|
+
|
|
20
|
+
namespace WebApplication.Controllers
|
|
21
|
+
{
|
|
22
|
+
[Authorize]
|
|
23
|
+
[RoutePrefix("api/Account")]
|
|
24
|
+
public class AccountController : ApiController
|
|
25
|
+
{
|
|
26
|
+
private const string LocalLoginProvider = "Local";
|
|
27
|
+
private ApplicationUserManager _userManager;
|
|
28
|
+
|
|
29
|
+
public AccountController()
|
|
30
|
+
{
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public AccountController(ApplicationUserManager userManager,
|
|
34
|
+
ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
|
|
35
|
+
{
|
|
36
|
+
UserManager = userManager;
|
|
37
|
+
AccessTokenFormat = accessTokenFormat;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public ApplicationUserManager UserManager
|
|
41
|
+
{
|
|
42
|
+
get
|
|
43
|
+
{
|
|
44
|
+
return _userManager ?? Request.GetOwinContext().GetUserManager<ApplicationUserManager>();
|
|
45
|
+
}
|
|
46
|
+
private set
|
|
47
|
+
{
|
|
48
|
+
_userManager = value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public ISecureDataFormat<AuthenticationTicket> AccessTokenFormat { get; private set; }
|
|
53
|
+
|
|
54
|
+
// GET api/Account/UserInfo
|
|
55
|
+
[HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
|
|
56
|
+
[Route("UserInfo")]
|
|
57
|
+
public UserInfoViewModel GetUserInfo()
|
|
58
|
+
{
|
|
59
|
+
ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);
|
|
60
|
+
|
|
61
|
+
return new UserInfoViewModel
|
|
62
|
+
{
|
|
63
|
+
Email = User.Identity.GetUserName(),
|
|
64
|
+
HasRegistered = externalLogin == null,
|
|
65
|
+
LoginProvider = externalLogin != null ? externalLogin.LoginProvider : null
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// POST api/Account/Logout
|
|
70
|
+
[Route("Logout")]
|
|
71
|
+
public IHttpActionResult Logout()
|
|
72
|
+
{
|
|
73
|
+
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType);
|
|
74
|
+
return Ok();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// GET api/Account/ManageInfo?returnUrl=%2F&generateState=true
|
|
78
|
+
[Route("ManageInfo")]
|
|
79
|
+
public async Task<ManageInfoViewModel> GetManageInfo(string returnUrl, bool generateState = false)
|
|
80
|
+
{
|
|
81
|
+
IdentityUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
|
|
82
|
+
|
|
83
|
+
if (user == null)
|
|
84
|
+
{
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
List<UserLoginInfoViewModel> logins = new List<UserLoginInfoViewModel>();
|
|
89
|
+
|
|
90
|
+
foreach (IdentityUserLogin linkedAccount in user.Logins)
|
|
91
|
+
{
|
|
92
|
+
logins.Add(new UserLoginInfoViewModel
|
|
93
|
+
{
|
|
94
|
+
LoginProvider = linkedAccount.LoginProvider,
|
|
95
|
+
ProviderKey = linkedAccount.ProviderKey
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (user.PasswordHash != null)
|
|
100
|
+
{
|
|
101
|
+
logins.Add(new UserLoginInfoViewModel
|
|
102
|
+
{
|
|
103
|
+
LoginProvider = LocalLoginProvider,
|
|
104
|
+
ProviderKey = user.UserName,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return new ManageInfoViewModel
|
|
109
|
+
{
|
|
110
|
+
LocalLoginProvider = LocalLoginProvider,
|
|
111
|
+
Email = user.UserName,
|
|
112
|
+
Logins = logins,
|
|
113
|
+
ExternalLoginProviders = GetExternalLogins(returnUrl, generateState)
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// POST api/Account/ChangePassword
|
|
118
|
+
[Route("ChangePassword")]
|
|
119
|
+
public async Task<IHttpActionResult> ChangePassword(ChangePasswordBindingModel model)
|
|
120
|
+
{
|
|
121
|
+
if (!ModelState.IsValid)
|
|
122
|
+
{
|
|
123
|
+
return BadRequest(ModelState);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword,
|
|
127
|
+
model.NewPassword);
|
|
128
|
+
|
|
129
|
+
if (!result.Succeeded)
|
|
130
|
+
{
|
|
131
|
+
return GetErrorResult(result);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return Ok();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// POST api/Account/SetPassword
|
|
138
|
+
[Route("SetPassword")]
|
|
139
|
+
public async Task<IHttpActionResult> SetPassword(SetPasswordBindingModel model)
|
|
140
|
+
{
|
|
141
|
+
if (!ModelState.IsValid)
|
|
142
|
+
{
|
|
143
|
+
return BadRequest(ModelState);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
IdentityResult result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword);
|
|
147
|
+
|
|
148
|
+
if (!result.Succeeded)
|
|
149
|
+
{
|
|
150
|
+
return GetErrorResult(result);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return Ok();
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// POST api/Account/AddExternalLogin
|
|
157
|
+
[Route("AddExternalLogin")]
|
|
158
|
+
public async Task<IHttpActionResult> AddExternalLogin(AddExternalLoginBindingModel model)
|
|
159
|
+
{
|
|
160
|
+
if (!ModelState.IsValid)
|
|
161
|
+
{
|
|
162
|
+
return BadRequest(ModelState);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
|
|
166
|
+
|
|
167
|
+
AuthenticationTicket ticket = AccessTokenFormat.Unprotect(model.ExternalAccessToken);
|
|
168
|
+
|
|
169
|
+
if (ticket == null || ticket.Identity == null || (ticket.Properties != null
|
|
170
|
+
&& ticket.Properties.ExpiresUtc.HasValue
|
|
171
|
+
&& ticket.Properties.ExpiresUtc.Value < DateTimeOffset.UtcNow))
|
|
172
|
+
{
|
|
173
|
+
return BadRequest("External login failure.");
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
ExternalLoginData externalData = ExternalLoginData.FromIdentity(ticket.Identity);
|
|
177
|
+
|
|
178
|
+
if (externalData == null)
|
|
179
|
+
{
|
|
180
|
+
return BadRequest("The external login is already associated with an account.");
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
IdentityResult result = await UserManager.AddLoginAsync(User.Identity.GetUserId(),
|
|
184
|
+
new UserLoginInfo(externalData.LoginProvider, externalData.ProviderKey));
|
|
185
|
+
|
|
186
|
+
if (!result.Succeeded)
|
|
187
|
+
{
|
|
188
|
+
return GetErrorResult(result);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return Ok();
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// POST api/Account/RemoveLogin
|
|
195
|
+
[Route("RemoveLogin")]
|
|
196
|
+
public async Task<IHttpActionResult> RemoveLogin(RemoveLoginBindingModel model)
|
|
197
|
+
{
|
|
198
|
+
if (!ModelState.IsValid)
|
|
199
|
+
{
|
|
200
|
+
return BadRequest(ModelState);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
IdentityResult result;
|
|
204
|
+
|
|
205
|
+
if (model.LoginProvider == LocalLoginProvider)
|
|
206
|
+
{
|
|
207
|
+
result = await UserManager.RemovePasswordAsync(User.Identity.GetUserId());
|
|
208
|
+
}
|
|
209
|
+
else
|
|
210
|
+
{
|
|
211
|
+
result = await UserManager.RemoveLoginAsync(User.Identity.GetUserId(),
|
|
212
|
+
new UserLoginInfo(model.LoginProvider, model.ProviderKey));
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (!result.Succeeded)
|
|
216
|
+
{
|
|
217
|
+
return GetErrorResult(result);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return Ok();
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// GET api/Account/ExternalLogin
|
|
224
|
+
[OverrideAuthentication]
|
|
225
|
+
[HostAuthentication(DefaultAuthenticationTypes.ExternalCookie)]
|
|
226
|
+
[AllowAnonymous]
|
|
227
|
+
[Route("ExternalLogin", Name = "ExternalLogin")]
|
|
228
|
+
public async Task<IHttpActionResult> GetExternalLogin(string provider, string error = null)
|
|
229
|
+
{
|
|
230
|
+
if (error != null)
|
|
231
|
+
{
|
|
232
|
+
return Redirect(Url.Content("~/") + "#error=" + Uri.EscapeDataString(error));
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if (!User.Identity.IsAuthenticated)
|
|
236
|
+
{
|
|
237
|
+
return new ChallengeResult(provider, this);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);
|
|
241
|
+
|
|
242
|
+
if (externalLogin == null)
|
|
243
|
+
{
|
|
244
|
+
return InternalServerError();
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (externalLogin.LoginProvider != provider)
|
|
248
|
+
{
|
|
249
|
+
Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
|
|
250
|
+
return new ChallengeResult(provider, this);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
ApplicationUser user = await UserManager.FindAsync(new UserLoginInfo(externalLogin.LoginProvider,
|
|
254
|
+
externalLogin.ProviderKey));
|
|
255
|
+
|
|
256
|
+
bool hasRegistered = user != null;
|
|
257
|
+
|
|
258
|
+
if (hasRegistered)
|
|
259
|
+
{
|
|
260
|
+
Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
|
|
261
|
+
|
|
262
|
+
ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(UserManager,
|
|
263
|
+
OAuthDefaults.AuthenticationType);
|
|
264
|
+
ClaimsIdentity cookieIdentity = await user.GenerateUserIdentityAsync(UserManager,
|
|
265
|
+
CookieAuthenticationDefaults.AuthenticationType);
|
|
266
|
+
|
|
267
|
+
AuthenticationProperties properties = ApplicationOAuthProvider.CreateProperties(user.UserName);
|
|
268
|
+
Authentication.SignIn(properties, oAuthIdentity, cookieIdentity);
|
|
269
|
+
}
|
|
270
|
+
else
|
|
271
|
+
{
|
|
272
|
+
IEnumerable<Claim> claims = externalLogin.GetClaims();
|
|
273
|
+
ClaimsIdentity identity = new ClaimsIdentity(claims, OAuthDefaults.AuthenticationType);
|
|
274
|
+
Authentication.SignIn(identity);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return Ok();
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// GET api/Account/ExternalLogins?returnUrl=%2F&generateState=true
|
|
281
|
+
[AllowAnonymous]
|
|
282
|
+
[Route("ExternalLogins")]
|
|
283
|
+
public IEnumerable<ExternalLoginViewModel> GetExternalLogins(string returnUrl, bool generateState = false)
|
|
284
|
+
{
|
|
285
|
+
IEnumerable<AuthenticationDescription> descriptions = Authentication.GetExternalAuthenticationTypes();
|
|
286
|
+
List<ExternalLoginViewModel> logins = new List<ExternalLoginViewModel>();
|
|
287
|
+
|
|
288
|
+
string state;
|
|
289
|
+
|
|
290
|
+
if (generateState)
|
|
291
|
+
{
|
|
292
|
+
const int strengthInBits = 256;
|
|
293
|
+
state = RandomOAuthStateGenerator.Generate(strengthInBits);
|
|
294
|
+
}
|
|
295
|
+
else
|
|
296
|
+
{
|
|
297
|
+
state = null;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
foreach (AuthenticationDescription description in descriptions)
|
|
301
|
+
{
|
|
302
|
+
ExternalLoginViewModel login = new ExternalLoginViewModel
|
|
303
|
+
{
|
|
304
|
+
Name = description.Caption,
|
|
305
|
+
Url = Url.Route("ExternalLogin", new
|
|
306
|
+
{
|
|
307
|
+
provider = description.AuthenticationType,
|
|
308
|
+
response_type = "token",
|
|
309
|
+
client_id = Startup.PublicClientId,
|
|
310
|
+
redirect_uri = new Uri(Request.RequestUri, returnUrl).AbsoluteUri,
|
|
311
|
+
state = state
|
|
312
|
+
}),
|
|
313
|
+
State = state
|
|
314
|
+
};
|
|
315
|
+
logins.Add(login);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
return logins;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// POST api/Account/Register
|
|
322
|
+
[AllowAnonymous]
|
|
323
|
+
[Route("Register")]
|
|
324
|
+
public async Task<IHttpActionResult> Register(RegisterBindingModel model)
|
|
325
|
+
{
|
|
326
|
+
if (!ModelState.IsValid)
|
|
327
|
+
{
|
|
328
|
+
return BadRequest(ModelState);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
|
|
332
|
+
|
|
333
|
+
IdentityResult result = await UserManager.CreateAsync(user, model.Password);
|
|
334
|
+
|
|
335
|
+
if (!result.Succeeded)
|
|
336
|
+
{
|
|
337
|
+
return GetErrorResult(result);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
return Ok();
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// POST api/Account/RegisterExternal
|
|
344
|
+
[OverrideAuthentication]
|
|
345
|
+
[HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
|
|
346
|
+
[Route("RegisterExternal")]
|
|
347
|
+
public async Task<IHttpActionResult> RegisterExternal(RegisterExternalBindingModel model)
|
|
348
|
+
{
|
|
349
|
+
if (!ModelState.IsValid)
|
|
350
|
+
{
|
|
351
|
+
return BadRequest(ModelState);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
var info = await Authentication.GetExternalLoginInfoAsync();
|
|
355
|
+
if (info == null)
|
|
356
|
+
{
|
|
357
|
+
return InternalServerError();
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
|
|
361
|
+
|
|
362
|
+
IdentityResult result = await UserManager.CreateAsync(user);
|
|
363
|
+
if (!result.Succeeded)
|
|
364
|
+
{
|
|
365
|
+
return GetErrorResult(result);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
result = await UserManager.AddLoginAsync(user.Id, info.Login);
|
|
369
|
+
if (!result.Succeeded)
|
|
370
|
+
{
|
|
371
|
+
return GetErrorResult(result);
|
|
372
|
+
}
|
|
373
|
+
return Ok();
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
protected override void Dispose(bool disposing)
|
|
377
|
+
{
|
|
378
|
+
if (disposing)
|
|
379
|
+
{
|
|
380
|
+
UserManager.Dispose();
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
base.Dispose(disposing);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
#region Helpers
|
|
387
|
+
|
|
388
|
+
private IAuthenticationManager Authentication
|
|
389
|
+
{
|
|
390
|
+
get { return Request.GetOwinContext().Authentication; }
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
private IHttpActionResult GetErrorResult(IdentityResult result)
|
|
394
|
+
{
|
|
395
|
+
if (result == null)
|
|
396
|
+
{
|
|
397
|
+
return InternalServerError();
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if (!result.Succeeded)
|
|
401
|
+
{
|
|
402
|
+
if (result.Errors != null)
|
|
403
|
+
{
|
|
404
|
+
foreach (string error in result.Errors)
|
|
405
|
+
{
|
|
406
|
+
ModelState.AddModelError("", error);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
if (ModelState.IsValid)
|
|
411
|
+
{
|
|
412
|
+
// No ModelState errors are available to send, so just return an empty BadRequest.
|
|
413
|
+
return BadRequest();
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
return BadRequest(ModelState);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
private class ExternalLoginData
|
|
423
|
+
{
|
|
424
|
+
public string LoginProvider { get; set; }
|
|
425
|
+
public string ProviderKey { get; set; }
|
|
426
|
+
public string UserName { get; set; }
|
|
427
|
+
|
|
428
|
+
public IList<Claim> GetClaims()
|
|
429
|
+
{
|
|
430
|
+
IList<Claim> claims = new List<Claim>();
|
|
431
|
+
claims.Add(new Claim(ClaimTypes.NameIdentifier, ProviderKey, null, LoginProvider));
|
|
432
|
+
|
|
433
|
+
if (UserName != null)
|
|
434
|
+
{
|
|
435
|
+
claims.Add(new Claim(ClaimTypes.Name, UserName, null, LoginProvider));
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
return claims;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
public static ExternalLoginData FromIdentity(ClaimsIdentity identity)
|
|
442
|
+
{
|
|
443
|
+
if (identity == null)
|
|
444
|
+
{
|
|
445
|
+
return null;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
Claim providerKeyClaim = identity.FindFirst(ClaimTypes.NameIdentifier);
|
|
449
|
+
|
|
450
|
+
if (providerKeyClaim == null || String.IsNullOrEmpty(providerKeyClaim.Issuer)
|
|
451
|
+
|| String.IsNullOrEmpty(providerKeyClaim.Value))
|
|
452
|
+
{
|
|
453
|
+
return null;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
if (providerKeyClaim.Issuer == ClaimsIdentity.DefaultIssuer)
|
|
457
|
+
{
|
|
458
|
+
return null;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
return new ExternalLoginData
|
|
462
|
+
{
|
|
463
|
+
LoginProvider = providerKeyClaim.Issuer,
|
|
464
|
+
ProviderKey = providerKeyClaim.Value,
|
|
465
|
+
UserName = identity.FindFirstValue(ClaimTypes.Name)
|
|
466
|
+
};
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
private static class RandomOAuthStateGenerator
|
|
471
|
+
{
|
|
472
|
+
private static RandomNumberGenerator _random = new RNGCryptoServiceProvider();
|
|
473
|
+
|
|
474
|
+
public static string Generate(int strengthInBits)
|
|
475
|
+
{
|
|
476
|
+
const int bitsPerByte = 8;
|
|
477
|
+
|
|
478
|
+
if (strengthInBits % bitsPerByte != 0)
|
|
479
|
+
{
|
|
480
|
+
throw new ArgumentException("strengthInBits must be evenly divisible by 8.", "strengthInBits");
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
int strengthInBytes = strengthInBits / bitsPerByte;
|
|
484
|
+
|
|
485
|
+
byte[] data = new byte[strengthInBytes];
|
|
486
|
+
_random.GetBytes(data);
|
|
487
|
+
return HttpServerUtility.UrlTokenEncode(data);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
#endregion
|
|
492
|
+
}
|
|
493
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[Sun Mar 7 16:02:00 2004] [notice] Apache/1.3.29 (Unix) configured -- resuming normal operations
|
|
2
|
+
[Sun Mar 7 16:02:00 2004] [info] Server built: Feb 27 2004 13:56:37
|
|
3
|
+
[Sun Mar 7 16:02:00 2004] [notice] Accept mutex: sysvsem (Default: sysvsem)
|
|
4
|
+
[Sun Mar 7 16:05:49 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
5
|
+
[Sun Mar 7 16:45:56 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
6
|
+
[Sun Mar 7 17:13:50 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
7
|
+
[Sun Mar 7 17:21:44 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
8
|
+
[Sun Mar 7 17:23:53 2004] statistics: Use of uninitialized value in concatenation (.) or string at /home/httpd/twiki/lib/TWiki.pm line 528.
|
|
9
|
+
[Sun Mar 7 17:23:53 2004] statistics: Can't create file /home/httpd/twiki/data/Main/WebStatistics.txt - Permission denied
|
|
10
|
+
[Sun Mar 7 17:27:37 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
11
|
+
[Sun Mar 7 17:31:39 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
12
|
+
[Sun Mar 7 17:58:00 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
13
|
+
[Sun Mar 7 18:00:09 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
14
|
+
[Sun Mar 7 18:10:09 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
15
|
+
[Sun Mar 7 18:19:01 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
16
|
+
[Sun Mar 7 18:42:29 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
17
|
+
[Sun Mar 7 18:52:30 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
18
|
+
[Sun Mar 7 18:58:52 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
19
|
+
[Sun Mar 7 19:03:58 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
20
|
+
[Sun Mar 7 19:08:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
21
|
+
[Sun Mar 7 20:04:35 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
22
|
+
[Sun Mar 7 20:11:33 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
23
|
+
[Sun Mar 7 20:12:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
24
|
+
[Sun Mar 7 20:25:31 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
25
|
+
[Sun Mar 7 20:44:48 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
26
|
+
[Sun Mar 7 20:58:27 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
27
|
+
[Sun Mar 7 21:16:17 2004] [error] [client xx.xx.xx.xx] File does not exist: /home/httpd/twiki/view/Main/WebHome
|
|
28
|
+
[Sun Mar 7 21:20:14 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
29
|
+
[Sun Mar 7 21:31:12 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
30
|
+
[Sun Mar 7 21:39:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
31
|
+
[Sun Mar 7 21:44:10 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
32
|
+
[Mon Mar 8 01:35:13 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
33
|
+
[Mon Mar 8 01:47:06 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
34
|
+
[Mon Mar 8 01:59:13 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
35
|
+
[Mon Mar 8 02:12:24 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
36
|
+
[Mon Mar 8 02:54:54 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
37
|
+
[Mon Mar 8 03:46:27 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
38
|
+
[Mon Mar 8 03:48:18 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
39
|
+
[Mon Mar 8 03:52:17 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
40
|
+
[Mon Mar 8 03:55:09 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
41
|
+
[Mon Mar 8 04:22:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
42
|
+
[Mon Mar 8 04:24:47 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
43
|
+
[Mon Mar 8 04:40:32 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
44
|
+
[Mon Mar 8 04:55:40 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
45
|
+
[Mon Mar 8 04:59:13 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
46
|
+
[Mon Mar 8 05:22:57 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
47
|
+
[Mon Mar 8 05:24:29 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
48
|
+
[Mon Mar 8 05:31:47 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed
|
|
49
|
+
<11>httpd[31628]: [error] [client xx.xx.xx.xx] File does not exist: /usr/local/installed/apache/htdocs/squirrelmail/_vti_inf.html in 29-Mar 15:18:20.50 from xx.xx.xx.xx
|
|
50
|
+
<11>httpd[25859]: [error] [client xx.xx.xx.xx] File does not exist: /usr/local/installed/apache/htdocs/squirrelmail/_vti_bin/shtml.exe/_vti_rpc in 29-Mar 15:18:20.54 from xx.xx.xx.xx
|