diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts
index 9c90cb60c47..f7d59264ae3 100644
--- a/build/lib/extensions.ts
+++ b/build/lib/extensions.ts
@@ -216,6 +216,7 @@ export function fromMarketplace(extensionName: string, version: string, metadata
const excludedExtensions = [
'vscode-api-tests',
+ 'vscode-web-playground',
'vscode-colorize-tests',
'vscode-test-resolver',
'ms-vscode.node-debug',
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
index c6fec9f7fb2..f82f825da0c 100644
--- a/extensions/vscode-api-tests/package.json
+++ b/extensions/vscode-api-tests/package.json
@@ -10,7 +10,7 @@
"onFileSystem:memfs",
"onDebug"
],
- "main": "./out/web-playground/extension",
+ "main": "./out/extension",
"engines": {
"vscode": "^1.25.0"
},
@@ -76,7 +76,6 @@
"languages": [
"markdown"
],
-
"configurationAttributes": {
"launch": {
"required": [
diff --git a/extensions/vscode-api-tests/src/extension.ts b/extensions/vscode-api-tests/src/extension.ts
new file mode 100644
index 00000000000..ebaa47d04e5
--- /dev/null
+++ b/extensions/vscode-api-tests/src/extension.ts
@@ -0,0 +1,11 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+import * as vscode from 'vscode';
+
+export function activate(_context: vscode.ExtensionContext) {
+ // noop
+}
+
diff --git a/extensions/vscode-api-tests/src/typings/ref.d.ts b/extensions/vscode-api-tests/src/typings/ref.d.ts
index 9abc416f7e8..e3e47385d66 100644
--- a/extensions/vscode-api-tests/src/typings/ref.d.ts
+++ b/extensions/vscode-api-tests/src/typings/ref.d.ts
@@ -5,6 +5,4 @@
///
///
-///
-///
///
diff --git a/extensions/vscode-web-playground/.gitignore b/extensions/vscode-web-playground/.gitignore
new file mode 100644
index 00000000000..8e5962ee727
--- /dev/null
+++ b/extensions/vscode-web-playground/.gitignore
@@ -0,0 +1,2 @@
+out
+node_modules
\ No newline at end of file
diff --git a/extensions/vscode-web-playground/.vscode/tasks.json b/extensions/vscode-web-playground/.vscode/tasks.json
new file mode 100644
index 00000000000..390a93a3a7f
--- /dev/null
+++ b/extensions/vscode-web-playground/.vscode/tasks.json
@@ -0,0 +1,11 @@
+{
+ "version": "2.0.0",
+ "command": "npm",
+ "type": "shell",
+ "presentation": {
+ "reveal": "silent"
+ },
+ "args": ["run", "compile"],
+ "isBackground": true,
+ "problemMatcher": "$tsc-watch"
+}
diff --git a/extensions/vscode-web-playground/.vscodeignore b/extensions/vscode-web-playground/.vscodeignore
new file mode 100644
index 00000000000..eb6a48615c7
--- /dev/null
+++ b/extensions/vscode-web-playground/.vscodeignore
@@ -0,0 +1,6 @@
+.vscode/**
+typings/**
+**/*.ts
+**/*.map
+.gitignore
+tsconfig.json
diff --git a/extensions/vscode-web-playground/package.json b/extensions/vscode-web-playground/package.json
new file mode 100644
index 00000000000..46b6102c10e
--- /dev/null
+++ b/extensions/vscode-web-playground/package.json
@@ -0,0 +1,93 @@
+{
+ "name": "vscode-web-playground",
+ "description": "Web playground for VS Code",
+ "version": "0.0.1",
+ "publisher": "vscode",
+ "license": "MIT",
+ "enableProposedApi": true,
+ "private": true,
+ "activationEvents": [
+ "onFileSystem:memfs",
+ "onDebug"
+ ],
+ "main": "./out/extension",
+ "engines": {
+ "vscode": "^1.25.0"
+ },
+ "contributes": {
+ "taskDefinitions": [
+ {
+ "type": "custombuildscript",
+ "required": [
+ "flavor"
+ ],
+ "properties": {
+ "flavor": {
+ "type": "string",
+ "description": "The build flavor. Should be either '32' or '64'."
+ },
+ "flags": {
+ "type": "array",
+ "description": "Additional build flags."
+ }
+ }
+ }
+ ],
+ "breakpoints": [
+ {
+ "language": "markdown"
+ }
+ ],
+ "debuggers": [
+ {
+ "type": "mock",
+ "label": "Mock Debug",
+ "languages": [
+ "markdown"
+ ],
+ "configurationAttributes": {
+ "launch": {
+ "required": [
+ "program"
+ ],
+ "properties": {
+ "program": {
+ "type": "string",
+ "description": "Absolute path to a text file.",
+ "default": "${workspaceFolder}/file.md"
+ },
+ "stopOnEntry": {
+ "type": "boolean",
+ "description": "Automatically stop after launch.",
+ "default": true
+ },
+ "trace": {
+ "type": "boolean",
+ "description": "Enable logging of the Debug Adapter Protocol.",
+ "default": true
+ }
+ }
+ }
+ },
+ "initialConfigurations": [
+ {
+ "type": "mock",
+ "request": "launch",
+ "name": "Debug file.md",
+ "program": "${workspaceFolder}/file.md"
+ }
+ ]
+ }
+ ]
+ },
+ "scripts": {
+ "compile": "node ./node_modules/vscode/bin/compile -watch -p ./",
+ "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:vscode-api-tests ./tsconfig.json"
+ },
+ "devDependencies": {
+ "@types/mocha": "2.2.43",
+ "@types/node": "^12.11.7",
+ "mocha-junit-reporter": "^1.17.0",
+ "mocha-multi-reporters": "^1.1.7"
+ }
+}
diff --git a/extensions/vscode-api-tests/src/web-playground/extension.ts b/extensions/vscode-web-playground/src/extension.ts
similarity index 100%
rename from extensions/vscode-api-tests/src/web-playground/extension.ts
rename to extensions/vscode-web-playground/src/extension.ts
diff --git a/extensions/vscode-web-playground/src/typings/ref.d.ts b/extensions/vscode-web-playground/src/typings/ref.d.ts
new file mode 100644
index 00000000000..9abc416f7e8
--- /dev/null
+++ b/extensions/vscode-web-playground/src/typings/ref.d.ts
@@ -0,0 +1,10 @@
+/*---------------------------------------------------------------------------------------------
+ * 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/extensions/vscode-web-playground/tsconfig.json b/extensions/vscode-web-playground/tsconfig.json
new file mode 100644
index 00000000000..296ddb38fcb
--- /dev/null
+++ b/extensions/vscode-web-playground/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../shared.tsconfig.json",
+ "compilerOptions": {
+ "outDir": "./out"
+ },
+ "include": [
+ "src/**/*"
+ ]
+}
\ No newline at end of file
diff --git a/extensions/vscode-web-playground/yarn.lock b/extensions/vscode-web-playground/yarn.lock
new file mode 100644
index 00000000000..e595aafe8cd
--- /dev/null
+++ b/extensions/vscode-web-playground/yarn.lock
@@ -0,0 +1,109 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@types/mocha@2.2.43":
+ version "2.2.43"
+ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.43.tgz#03c54589c43ad048cbcbfd63999b55d0424eec27"
+ integrity sha512-xNlAmH+lRJdUMXClMTI9Y0pRqIojdxfm7DHsIxoB2iTzu3fnPmSMEN8SsSx0cdwV36d02PWCWaDUoZPDSln+xw==
+
+"@types/node@^12.11.7":
+ version "12.11.7"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a"
+ integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+charenc@~0.0.1:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
+ integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
+
+crypt@~0.0.1:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
+ integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
+
+debug@^2.2.0:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ 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"
+
+is-buffer@~1.1.1:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+lodash@^4.16.4:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
+ integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==
+
+md5@^2.1.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
+ integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=
+ dependencies:
+ charenc "~0.0.1"
+ crypt "~0.0.1"
+ is-buffer "~1.1.1"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
+
+mkdirp@~0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
+ dependencies:
+ minimist "0.0.8"
+
+mocha-junit-reporter@^1.17.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-1.17.0.tgz#2e5149ed40fc5d2e3ca71e42db5ab1fec9c6d85c"
+ integrity sha1-LlFJ7UD8XS48px5C21qx/snG2Fw=
+ dependencies:
+ debug "^2.2.0"
+ md5 "^2.1.0"
+ mkdirp "~0.5.1"
+ strip-ansi "^4.0.0"
+ xml "^1.0.0"
+
+mocha-multi-reporters@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/mocha-multi-reporters/-/mocha-multi-reporters-1.1.7.tgz#cc7f3f4d32f478520941d852abb64d9988587d82"
+ integrity sha1-zH8/TTL0eFIJQdhSq7ZNmYhYfYI=
+ dependencies:
+ debug "^3.1.0"
+ lodash "^4.16.4"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+xml@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5"
+ integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=
diff --git a/scripts/code-web.js b/scripts/code-web.js
index 4556e7d7e6d..23bd232903d 100755
--- a/scripts/code-web.js
+++ b/scripts/code-web.js
@@ -145,7 +145,7 @@ async function handleRoot(req, res) {
await Promise.all(extensionFolders.map(async extensionFolder => {
try {
const packageJSON = JSON.parse((await util.promisify(fs.readFile)(path.join(EXTENSIONS_ROOT, extensionFolder, 'package.json'))).toString());
- if (packageJSON.main && packageJSON.name !== 'vscode-api-tests') {
+ if (packageJSON.main && packageJSON.name !== 'vscode-web-playground') {
return; // unsupported
}