@vscode/test-web 0.0.32 → 0.0.34
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/fs-provider/dist/fsExtensionMain.js +4 -4
- package/fs-provider/package.json +6 -6
- package/out/index.d.ts +7 -3
- package/out/index.js +20 -19
- package/out/server/extensions.js +2 -1
- package/out/server/workbench.js +16 -11
- package/package.json +12 -12
- package/views/workbench-esm.html +46 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/* 1 */
|
|
5
5
|
/***/ ((__unused_webpack_module, exports) => {
|
|
6
6
|
|
|
7
|
-
(()=>{"use strict";var e={};(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.getErrorStatusDescription=r.xhr=r.configure=void 0,r.configure=(e,r)=>{},r.xhr=async e=>{const r=new Headers;if(e.headers)for(const t in e.headers){const
|
|
7
|
+
(()=>{"use strict";var e={};(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.getErrorStatusDescription=r.xhr=r.configure=void 0,r.configure=(e,r)=>{},r.xhr=async e=>{const r=new Headers;if(e.headers)for(const t in e.headers){const o=e.headers[t];Array.isArray(o)?o.forEach((e=>r.set(t,e))):r.set(t,o)}e.user&&e.password&&r.set("Authorization","Basic "+btoa(e.user+":"+e.password));const t={method:e.type,redirect:e.followRedirects>0?"follow":"manual",mode:"cors",headers:r};if(e.data&&(t.body=e.data),e.token){const r=new AbortController;e.token.isCancellationRequested&&r.abort(),e.token.onCancellationRequested((()=>{r.abort()})),t.signal=r.signal}const o=new Request(e.url,t),s=await fetch(o),a={};s.headers.forEach(((e,r)=>{a[r]=e}));const n=await s.arrayBuffer();return new class{constructor(){this.status=s.status,this.headers=a}get responseText(){return(new TextDecoder).decode(n)}get body(){return new Uint8Array(n)}}},r.getErrorStatusDescription=function(e){return String(e)}})();var r=exports;for(var t in e)r[t]=e[t];e.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
|
|
8
8
|
|
|
9
9
|
/***/ }),
|
|
10
10
|
/* 2 */
|
|
@@ -31,7 +31,7 @@ function newFileStat(type, size) {
|
|
|
31
31
|
return Promise.resolve({ type, ctime: Date.now(), mtime: Date.now(), size });
|
|
32
32
|
}
|
|
33
33
|
function modifiedFileStat(stats, size) {
|
|
34
|
-
return Promise.resolve({ type: stats.type, ctime: stats.ctime, mtime: Date.now(), size: size
|
|
34
|
+
return Promise.resolve({ type: stats.type, ctime: stats.ctime, mtime: Date.now(), size: size ?? stats.size });
|
|
35
35
|
}
|
|
36
36
|
class MemFileSystemProvider {
|
|
37
37
|
constructor(scheme, root) {
|
|
@@ -156,7 +156,7 @@ class MemFileSystemProvider {
|
|
|
156
156
|
}
|
|
157
157
|
async _lookupAsDirectory(uri, silent) {
|
|
158
158
|
const entry = await this._lookup(uri, silent);
|
|
159
|
-
if (
|
|
159
|
+
if (entry?.type === vscode_1.FileType.Directory) {
|
|
160
160
|
return entry;
|
|
161
161
|
}
|
|
162
162
|
throw vscode_1.FileSystemError.FileNotADirectory(uri);
|
|
@@ -207,7 +207,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
207
207
|
/* harmony export */ "Utils": () => (/* binding */ Utils)
|
|
208
208
|
/* harmony export */ });
|
|
209
209
|
/* provided dependency */ var process = __webpack_require__(5);
|
|
210
|
-
var LIB;(()=>{"use strict";var t={470:t=>{function e(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function r(t,e){for(var r,n="",o=0,i=-1,a=0,h=0;h<=t.length;++h){if(h<t.length)r=t.charCodeAt(h);else{if(47===r)break;r=47}if(47===r){if(i===h-1||1===a);else if(i!==h-1&&2===a){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var s=n.lastIndexOf("/");if(s!==n.length-1){-1===s?(n="",o=0):o=(n=n.slice(0,s)).length-1-n.lastIndexOf("/"),i=h,a=0;continue}}else if(2===n.length||1===n.length){n="",o=0,i=h,a=0;continue}e&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+t.slice(i+1,h):n=t.slice(i+1,h),o=h-i-1;i=h,a=0}else 46===r&&-1!==a?++a:a=-1}return n}var n={resolve:function(){for(var t,n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a;i>=0?a=arguments[i]:(void 0===t&&(t=process.cwd()),a=t),e(a),0!==a.length&&(n=a+"/"+n,o=47===a.charCodeAt(0))}return n=r(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(t){if(e(t),0===t.length)return".";var n=47===t.charCodeAt(0),o=47===t.charCodeAt(t.length-1);return 0!==(t=r(t,!n)).length||n||(t="."),t.length>0&&o&&(t+="/"),n?"/"+t:t},isAbsolute:function(t){return e(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,r=0;r<arguments.length;++r){var o=arguments[r];e(o),o.length>0&&(void 0===t?t=o:t+="/"+o)}return void 0===t?".":n.normalize(t)},relative:function(t,r){if(e(t),e(r),t===r)return"";if((t=n.resolve(t))===(r=n.resolve(r)))return"";for(var o=1;o<t.length&&47===t.charCodeAt(o);++o);for(var i=t.length,a=i-o,h=1;h<r.length&&47===r.charCodeAt(h);++h);for(var s=r.length-h,c=a<s?a:s,f=-1,u=0;u<=c;++u){if(u===c){if(s>c){if(47===r.charCodeAt(h+u))return r.slice(h+u+1);if(0===u)return r.slice(h+u)}else a>c&&(47===t.charCodeAt(o+u)?f=u:0===u&&(f=0));break}var l=t.charCodeAt(o+u);if(l!==r.charCodeAt(h+u))break;47===l&&(f=u)}var p="";for(u=o+f+1;u<=i;++u)u!==i&&47!==t.charCodeAt(u)||(0===p.length?p+="..":p+="/..");return p.length>0?p+r.slice(h+f):(h+=f,47===r.charCodeAt(h)&&++h,r.slice(h))},_makeLong:function(t){return t},dirname:function(t){if(e(t),0===t.length)return".";for(var r=t.charCodeAt(0),n=47===r,o=-1,i=!0,a=t.length-1;a>=1;--a)if(47===(r=t.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return-1===o?n?"/":".":n&&1===o?"//":t.slice(0,o)},basename:function(t,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');e(t);var n,o=0,i=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return"";var h=r.length-1,s=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!a){o=n+1;break}}else-1===s&&(a=!1,s=n+1),h>=0&&(c===r.charCodeAt(h)?-1==--h&&(i=n):(h=-1,i=s))}return o===i?i=s:-1===i&&(i=t.length),t.slice(o,i)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){o=n+1;break}}else-1===i&&(a=!1,i=n+1);return-1===i?"":t.slice(o,i)},extname:function(t){e(t);for(var r=-1,n=0,o=-1,i=!0,a=0,h=t.length-1;h>=0;--h){var s=t.charCodeAt(h);if(47!==s)-1===o&&(i=!1,o=h+1),46===s?-1===r?r=h:1!==a&&(a=1):-1!==r&&(a=-1);else if(!i){n=h+1;break}}return-1===r||-1===o||0===a||1===a&&r===o-1&&r===n+1?"":t.slice(r,o)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+"/"+n:n}(0,t)},parse:function(t){e(t);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return r;var n,o=t.charCodeAt(0),i=47===o;i?(r.root="/",n=1):n=0;for(var a=-1,h=0,s=-1,c=!0,f=t.length-1,u=0;f>=n;--f)if(47!==(o=t.charCodeAt(f)))-1===s&&(c=!1,s=f+1),46===o?-1===a?a=f:1!==u&&(u=1):-1!==a&&(u=-1);else if(!c){h=f+1;break}return-1===a||-1===s||0===u||1===u&&a===s-1&&a===h+1?-1!==s&&(r.base=r.name=0===h&&i?t.slice(1,s):t.slice(h,s)):(0===h&&i?(r.name=t.slice(1,a),r.base=t.slice(1,s)):(r.name=t.slice(h,a),r.base=t.slice(h,s)),r.ext=t.slice(a,s)),h>0?r.dir=t.slice(0,h-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,t.exports=n}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{var t;if(r.r(n),r.d(n,{URI:()=>p,Utils:()=>_}),"object"==typeof process)t="win32"===process.platform;else if("object"==typeof navigator){var e=navigator.userAgent;t=e.indexOf("Windows")>=0}var o,i,a=(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},o(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),h=/^\w[\w\d+.-]*$/,s=/^\//,c=/^\/\//,f="",u="/",l=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,p=function(){function e(t,e,r,n,o,i){void 0===i&&(i=!1),"object"==typeof t?(this.scheme=t.scheme||f,this.authority=t.authority||f,this.path=t.path||f,this.query=t.query||f,this.fragment=t.fragment||f):(this.scheme=function(t,e){return t||e?t:"file"}(t,i),this.authority=e||f,this.path=function(t,e){switch(t){case"https":case"http":case"file":e?e[0]!==u&&(e=u+e):e=u}return e}(this.scheme,r||f),this.query=n||f,this.fragment=o||f,function(t,e){if(!t.scheme&&e)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(t.authority,'", path: "').concat(t.path,'", query: "').concat(t.query,'", fragment: "').concat(t.fragment,'"}'));if(t.scheme&&!h.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!s.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(c.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,i))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(t){if(!t)return this;var e=t.scheme,r=t.authority,n=t.path,o=t.query,i=t.fragment;return void 0===e?e=this.scheme:null===e&&(e=f),void 0===r?r=this.authority:null===r&&(r=f),void 0===n?n=this.path:null===n&&(n=f),void 0===o?o=this.query:null===o&&(o=f),void 0===i?i=this.fragment:null===i&&(i=f),e===this.scheme&&r===this.authority&&n===this.path&&o===this.query&&i===this.fragment?this:new d(e,r,n,o,i)},e.parse=function(t,e){void 0===e&&(e=!1);var r=l.exec(t);return r?new d(r[2]||f,x(r[4]||f),x(r[5]||f),x(r[7]||f),x(r[9]||f),e):new d(f,f,f,f,f)},e.file=function(e){var r=f;if(t&&(e=e.replace(/\\/g,u)),e[0]===u&&e[1]===u){var n=e.indexOf(u,2);-1===n?(r=e.substring(2),e=u):(r=e.substring(2,n),e=e.substring(n)||u)}return new d("file",r,e,f,f)},e.from=function(t){return new d(t.scheme,t.authority,t.path,t.query,t.fragment)},e.prototype.toString=function(t){return void 0===t&&(t=!1),C(this,t)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var r=new d(t);return r._formatted=t.external,r._fsPath=t._sep===g?t.fsPath:null,r}return t},e}(),g=t?1:void 0,d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._formatted=null,e._fsPath=null,e}return a(e,t),Object.defineProperty(e.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),e.prototype.toString=function(t){return void 0===t&&(t=!1),t?C(this,!0):(this._formatted||(this._formatted=C(this,!1)),this._formatted)},e.prototype.toJSON=function(){var t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=g),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t},e}(p),v=((i={})[58]="%3A",i[47]="%2F",i[63]="%3F",i[35]="%23",i[91]="%5B",i[93]="%5D",i[64]="%40",i[33]="%21",i[36]="%24",i[38]="%26",i[39]="%27",i[40]="%28",i[41]="%29",i[42]="%2A",i[43]="%2B",i[44]="%2C",i[59]="%3B",i[61]="%3D",i[32]="%20",i);function y(t,e){for(var r=void 0,n=-1,o=0;o<t.length;o++){var i=t.charCodeAt(o);if(i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||45===i||46===i||95===i||126===i||e&&47===i)-1!==n&&(r+=encodeURIComponent(t.substring(n,o)),n=-1),void 0!==r&&(r+=t.charAt(o));else{void 0===r&&(r=t.substr(0,o));var a=v[i];void 0!==a?(-1!==n&&(r+=encodeURIComponent(t.substring(n,o)),n=-1),r+=a):-1===n&&(n=o)}}return-1!==n&&(r+=encodeURIComponent(t.substring(n))),void 0!==r?r:t}function m(t){for(var e=void 0,r=0;r<t.length;r++){var n=t.charCodeAt(r);35===n||63===n?(void 0===e&&(e=t.substr(0,r)),e+=v[n]):void 0!==e&&(e+=t[r])}return void 0!==e?e:t}function b(e,r){var n;return n=e.authority&&e.path.length>1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?r?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,t&&(n=n.replace(/\//g,"\\")),n}function C(t,e){var r=e?m:y,n="",o=t.scheme,i=t.authority,a=t.path,h=t.query,s=t.fragment;if(o&&(n+=o,n+=":"),(i||"file"===o)&&(n+=u,n+=u),i){var c=i.indexOf("@");if(-1!==c){var f=i.substr(0,c);i=i.substr(c+1),-1===(c=f.indexOf(":"))?n+=r(f,!1):(n+=r(f.substr(0,c),!1),n+=":",n+=r(f.substr(c+1),!1)),n+="@"}-1===(c=(i=i.toLowerCase()).indexOf(":"))?n+=r(i,!1):(n+=r(i.substr(0,c),!1),n+=i.substr(c))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2))(l=a.charCodeAt(1))>=65&&l<=90&&(a="/".concat(String.fromCharCode(l+32),":").concat(a.substr(3)));else if(a.length>=2&&58===a.charCodeAt(1)){var l;(l=a.charCodeAt(0))>=65&&l<=90&&(a="".concat(String.fromCharCode(l+32),":").concat(a.substr(2)))}n+=r(a,!0)}return h&&(n+="?",n+=r(h,!1)),s&&(n+="#",n+=e?s:y(s,!1)),n}function A(t){try{return decodeURIComponent(t)}catch(e){return t.length>3?t.substr(0,3)+A(t.substr(3)):t}}var w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function x(t){return t.match(w)?t.replace(w,(function(t){return A(t)})):t}var _,O=r(470),P=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},j=O.posix||O,U="/";!function(t){t.joinPath=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t.with({path:j.join.apply(j,P([t.path],e,!1))})},t.resolvePath=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var n=t.path,o=!1;n[0]!==U&&(n=U+n,o=!0);var i=j.resolve.apply(j,P([n],e,!1));return o&&i[0]===U&&!t.authority&&(i=i.substring(1)),t.with({path:i})},t.dirname=function(t){if(0===t.path.length||t.path===U)return t;var e=j.dirname(t.path);return 1===e.length&&46===e.charCodeAt(0)&&(e=""),t.with({path:e})},t.basename=function(t){return j.basename(t.path)},t.extname=function(t){return j.extname(t.path)}}(_||(_={}))})(),LIB=n})();const{URI,Utils}=LIB;
|
|
210
|
+
var LIB;(()=>{"use strict";var t={470:t=>{function e(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function r(t,e){for(var r,n="",o=0,i=-1,a=0,h=0;h<=t.length;++h){if(h<t.length)r=t.charCodeAt(h);else{if(47===r)break;r=47}if(47===r){if(i===h-1||1===a);else if(i!==h-1&&2===a){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var s=n.lastIndexOf("/");if(s!==n.length-1){-1===s?(n="",o=0):o=(n=n.slice(0,s)).length-1-n.lastIndexOf("/"),i=h,a=0;continue}}else if(2===n.length||1===n.length){n="",o=0,i=h,a=0;continue}e&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+t.slice(i+1,h):n=t.slice(i+1,h),o=h-i-1;i=h,a=0}else 46===r&&-1!==a?++a:a=-1}return n}var n={resolve:function(){for(var t,n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a;i>=0?a=arguments[i]:(void 0===t&&(t=process.cwd()),a=t),e(a),0!==a.length&&(n=a+"/"+n,o=47===a.charCodeAt(0))}return n=r(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(t){if(e(t),0===t.length)return".";var n=47===t.charCodeAt(0),o=47===t.charCodeAt(t.length-1);return 0!==(t=r(t,!n)).length||n||(t="."),t.length>0&&o&&(t+="/"),n?"/"+t:t},isAbsolute:function(t){return e(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,r=0;r<arguments.length;++r){var o=arguments[r];e(o),o.length>0&&(void 0===t?t=o:t+="/"+o)}return void 0===t?".":n.normalize(t)},relative:function(t,r){if(e(t),e(r),t===r)return"";if((t=n.resolve(t))===(r=n.resolve(r)))return"";for(var o=1;o<t.length&&47===t.charCodeAt(o);++o);for(var i=t.length,a=i-o,h=1;h<r.length&&47===r.charCodeAt(h);++h);for(var s=r.length-h,c=a<s?a:s,f=-1,u=0;u<=c;++u){if(u===c){if(s>c){if(47===r.charCodeAt(h+u))return r.slice(h+u+1);if(0===u)return r.slice(h+u)}else a>c&&(47===t.charCodeAt(o+u)?f=u:0===u&&(f=0));break}var l=t.charCodeAt(o+u);if(l!==r.charCodeAt(h+u))break;47===l&&(f=u)}var p="";for(u=o+f+1;u<=i;++u)u!==i&&47!==t.charCodeAt(u)||(0===p.length?p+="..":p+="/..");return p.length>0?p+r.slice(h+f):(h+=f,47===r.charCodeAt(h)&&++h,r.slice(h))},_makeLong:function(t){return t},dirname:function(t){if(e(t),0===t.length)return".";for(var r=t.charCodeAt(0),n=47===r,o=-1,i=!0,a=t.length-1;a>=1;--a)if(47===(r=t.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return-1===o?n?"/":".":n&&1===o?"//":t.slice(0,o)},basename:function(t,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');e(t);var n,o=0,i=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return"";var h=r.length-1,s=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!a){o=n+1;break}}else-1===s&&(a=!1,s=n+1),h>=0&&(c===r.charCodeAt(h)?-1==--h&&(i=n):(h=-1,i=s))}return o===i?i=s:-1===i&&(i=t.length),t.slice(o,i)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){o=n+1;break}}else-1===i&&(a=!1,i=n+1);return-1===i?"":t.slice(o,i)},extname:function(t){e(t);for(var r=-1,n=0,o=-1,i=!0,a=0,h=t.length-1;h>=0;--h){var s=t.charCodeAt(h);if(47!==s)-1===o&&(i=!1,o=h+1),46===s?-1===r?r=h:1!==a&&(a=1):-1!==r&&(a=-1);else if(!i){n=h+1;break}}return-1===r||-1===o||0===a||1===a&&r===o-1&&r===n+1?"":t.slice(r,o)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+"/"+n:n}(0,t)},parse:function(t){e(t);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return r;var n,o=t.charCodeAt(0),i=47===o;i?(r.root="/",n=1):n=0;for(var a=-1,h=0,s=-1,c=!0,f=t.length-1,u=0;f>=n;--f)if(47!==(o=t.charCodeAt(f)))-1===s&&(c=!1,s=f+1),46===o?-1===a?a=f:1!==u&&(u=1):-1!==a&&(u=-1);else if(!c){h=f+1;break}return-1===a||-1===s||0===u||1===u&&a===s-1&&a===h+1?-1!==s&&(r.base=r.name=0===h&&i?t.slice(1,s):t.slice(h,s)):(0===h&&i?(r.name=t.slice(1,a),r.base=t.slice(1,s)):(r.name=t.slice(h,a),r.base=t.slice(h,s)),r.ext=t.slice(a,s)),h>0?r.dir=t.slice(0,h-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,t.exports=n}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{var t;if(r.r(n),r.d(n,{URI:()=>g,Utils:()=>O}),"object"==typeof process)t="win32"===process.platform;else if("object"==typeof navigator){var e=navigator.userAgent;t=e.indexOf("Windows")>=0}var o,i,a=(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},o(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),h=/^\w[\w\d+.-]*$/,s=/^\//,c=/^\/\//;function f(t,e){if(!t.scheme&&e)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(t.authority,'", path: "').concat(t.path,'", query: "').concat(t.query,'", fragment: "').concat(t.fragment,'"}'));if(t.scheme&&!h.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!s.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(c.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var u="",l="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,g=function(){function e(t,e,r,n,o,i){void 0===i&&(i=!1),"object"==typeof t?(this.scheme=t.scheme||u,this.authority=t.authority||u,this.path=t.path||u,this.query=t.query||u,this.fragment=t.fragment||u):(this.scheme=function(t,e){return t||e?t:"file"}(t,i),this.authority=e||u,this.path=function(t,e){switch(t){case"https":case"http":case"file":e?e[0]!==l&&(e=l+e):e=l}return e}(this.scheme,r||u),this.query=n||u,this.fragment=o||u,f(this,i))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return C(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(t){if(!t)return this;var e=t.scheme,r=t.authority,n=t.path,o=t.query,i=t.fragment;return void 0===e?e=this.scheme:null===e&&(e=u),void 0===r?r=this.authority:null===r&&(r=u),void 0===n?n=this.path:null===n&&(n=u),void 0===o?o=this.query:null===o&&(o=u),void 0===i?i=this.fragment:null===i&&(i=u),e===this.scheme&&r===this.authority&&n===this.path&&o===this.query&&i===this.fragment?this:new v(e,r,n,o,i)},e.parse=function(t,e){void 0===e&&(e=!1);var r=p.exec(t);return r?new v(r[2]||u,_(r[4]||u),_(r[5]||u),_(r[7]||u),_(r[9]||u),e):new v(u,u,u,u,u)},e.file=function(e){var r=u;if(t&&(e=e.replace(/\\/g,l)),e[0]===l&&e[1]===l){var n=e.indexOf(l,2);-1===n?(r=e.substring(2),e=l):(r=e.substring(2,n),e=e.substring(n)||l)}return new v("file",r,e,u,u)},e.from=function(t){var e=new v(t.scheme,t.authority,t.path,t.query,t.fragment);return f(e,!0),e},e.prototype.toString=function(t){return void 0===t&&(t=!1),A(this,t)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var r=new v(t);return r._formatted=t.external,r._fsPath=t._sep===d?t.fsPath:null,r}return t},e}(),d=t?1:void 0,v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._formatted=null,e._fsPath=null,e}return a(e,t),Object.defineProperty(e.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=C(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),e.prototype.toString=function(t){return void 0===t&&(t=!1),t?A(this,!0):(this._formatted||(this._formatted=A(this,!1)),this._formatted)},e.prototype.toJSON=function(){var t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=d),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t},e}(g),y=((i={})[58]="%3A",i[47]="%2F",i[63]="%3F",i[35]="%23",i[91]="%5B",i[93]="%5D",i[64]="%40",i[33]="%21",i[36]="%24",i[38]="%26",i[39]="%27",i[40]="%28",i[41]="%29",i[42]="%2A",i[43]="%2B",i[44]="%2C",i[59]="%3B",i[61]="%3D",i[32]="%20",i);function m(t,e,r){for(var n=void 0,o=-1,i=0;i<t.length;i++){var a=t.charCodeAt(i);if(a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||45===a||46===a||95===a||126===a||e&&47===a||r&&91===a||r&&93===a||r&&58===a)-1!==o&&(n+=encodeURIComponent(t.substring(o,i)),o=-1),void 0!==n&&(n+=t.charAt(i));else{void 0===n&&(n=t.substr(0,i));var h=y[a];void 0!==h?(-1!==o&&(n+=encodeURIComponent(t.substring(o,i)),o=-1),n+=h):-1===o&&(o=i)}}return-1!==o&&(n+=encodeURIComponent(t.substring(o))),void 0!==n?n:t}function b(t){for(var e=void 0,r=0;r<t.length;r++){var n=t.charCodeAt(r);35===n||63===n?(void 0===e&&(e=t.substr(0,r)),e+=y[n]):void 0!==e&&(e+=t[r])}return void 0!==e?e:t}function C(e,r){var n;return n=e.authority&&e.path.length>1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?r?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,t&&(n=n.replace(/\//g,"\\")),n}function A(t,e){var r=e?b:m,n="",o=t.scheme,i=t.authority,a=t.path,h=t.query,s=t.fragment;if(o&&(n+=o,n+=":"),(i||"file"===o)&&(n+=l,n+=l),i){var c=i.indexOf("@");if(-1!==c){var f=i.substr(0,c);i=i.substr(c+1),-1===(c=f.lastIndexOf(":"))?n+=r(f,!1,!1):(n+=r(f.substr(0,c),!1,!1),n+=":",n+=r(f.substr(c+1),!1,!0)),n+="@"}-1===(c=(i=i.toLowerCase()).lastIndexOf(":"))?n+=r(i,!1,!0):(n+=r(i.substr(0,c),!1,!0),n+=i.substr(c))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2))(u=a.charCodeAt(1))>=65&&u<=90&&(a="/".concat(String.fromCharCode(u+32),":").concat(a.substr(3)));else if(a.length>=2&&58===a.charCodeAt(1)){var u;(u=a.charCodeAt(0))>=65&&u<=90&&(a="".concat(String.fromCharCode(u+32),":").concat(a.substr(2)))}n+=r(a,!0,!1)}return h&&(n+="?",n+=r(h,!1,!1)),s&&(n+="#",n+=e?s:m(s,!1,!1)),n}function w(t){try{return decodeURIComponent(t)}catch(e){return t.length>3?t.substr(0,3)+w(t.substr(3)):t}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function _(t){return t.match(x)?t.replace(x,(function(t){return w(t)})):t}var O,P=r(470),j=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},I=P.posix||P,U="/";!function(t){t.joinPath=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t.with({path:I.join.apply(I,j([t.path],e,!1))})},t.resolvePath=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var n=t.path,o=!1;n[0]!==U&&(n=U+n,o=!0);var i=I.resolve.apply(I,j([n],e,!1));return o&&i[0]===U&&!t.authority&&(i=i.substring(1)),t.with({path:i})},t.dirname=function(t){if(0===t.path.length||t.path===U)return t;var e=I.dirname(t.path);return 1===e.length&&46===e.charCodeAt(0)&&(e=""),t.with({path:e})},t.basename=function(t){return I.basename(t.path)},t.extname=function(t){return I.extname(t.path)}}(O||(O={}))})(),LIB=n})();const{URI,Utils}=LIB;
|
|
211
211
|
//# sourceMappingURL=index.js.map
|
|
212
212
|
|
|
213
213
|
/***/ }),
|
package/fs-provider/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"version": "0.0.1",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"engines": {
|
|
10
|
-
"vscode": "^1.
|
|
10
|
+
"vscode": "^1.72.0"
|
|
11
11
|
},
|
|
12
12
|
"categories": [
|
|
13
13
|
"Other"
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/vscode": "^1.72.0",
|
|
39
39
|
"@types/webpack-env": "^1.18.0",
|
|
40
|
-
"ts-loader": "^9.4.
|
|
41
|
-
"webpack": "^5.
|
|
42
|
-
"webpack-cli": "^
|
|
40
|
+
"ts-loader": "^9.4.2",
|
|
41
|
+
"webpack": "^5.75.0",
|
|
42
|
+
"webpack-cli": "^5.0.1",
|
|
43
43
|
"process": "^0.11.10",
|
|
44
44
|
"path-browserify": "^1.0.1",
|
|
45
|
-
"request-light": "^0.
|
|
46
|
-
"vscode-uri": "^3.0.
|
|
45
|
+
"request-light": "^0.6.0",
|
|
46
|
+
"vscode-uri": "^3.0.7"
|
|
47
47
|
}
|
|
48
48
|
}
|
package/out/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
2
|
+
export type BrowserType = 'chromium' | 'firefox' | 'webkit' | 'none';
|
|
3
|
+
export type VSCodeQuality = 'insiders' | 'stable';
|
|
4
|
+
export type GalleryExtension = {
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly preRelease?: boolean;
|
|
7
7
|
};
|
|
@@ -54,6 +54,10 @@ export interface Options {
|
|
|
54
54
|
* If set, opens the page with cross origin isolation enabled.
|
|
55
55
|
*/
|
|
56
56
|
coi?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* If set, serves the page with ESM usage.
|
|
59
|
+
*/
|
|
60
|
+
esm?: boolean;
|
|
57
61
|
/**
|
|
58
62
|
* @deprecated. Use `printServerLog` instead.
|
|
59
63
|
*/
|
package/out/index.js
CHANGED
|
@@ -18,20 +18,20 @@ const path = require("path");
|
|
|
18
18
|
* @param options The options defining browser type, extension and test location.
|
|
19
19
|
*/
|
|
20
20
|
async function runTests(options) {
|
|
21
|
-
var _a, _b, _c;
|
|
22
21
|
const config = {
|
|
23
22
|
extensionDevelopmentPath: options.extensionDevelopmentPath,
|
|
24
23
|
extensionTestsPath: options.extensionTestsPath,
|
|
25
24
|
build: await getBuild(options),
|
|
26
25
|
folderUri: options.folderUri,
|
|
27
26
|
folderMountPath: options.folderPath,
|
|
28
|
-
printServerLog:
|
|
27
|
+
printServerLog: options.printServerLog ?? options.hideServerLog === false,
|
|
29
28
|
extensionPaths: options.extensionPaths,
|
|
30
29
|
extensionIds: options.extensionIds,
|
|
31
|
-
coi: !!options.coi
|
|
30
|
+
coi: !!options.coi,
|
|
31
|
+
esm: !!options.esm
|
|
32
32
|
};
|
|
33
|
-
const host =
|
|
34
|
-
const port =
|
|
33
|
+
const host = options.host ?? 'localhost';
|
|
34
|
+
const port = options.port ?? 3000;
|
|
35
35
|
const server = await (0, main_1.runServer)(host, port, config);
|
|
36
36
|
return new Promise(async (s, e) => {
|
|
37
37
|
const endpoint = `http://${host}:${port}`;
|
|
@@ -43,9 +43,8 @@ async function runTests(options) {
|
|
|
43
43
|
console[type](...args);
|
|
44
44
|
});
|
|
45
45
|
await context.exposeFunction('codeAutomationExit', async (code) => {
|
|
46
|
-
var _a;
|
|
47
46
|
try {
|
|
48
|
-
await
|
|
47
|
+
await context.browser()?.close();
|
|
49
48
|
}
|
|
50
49
|
catch (error) {
|
|
51
50
|
console.error(`Error when closing browser: ${error}`);
|
|
@@ -77,35 +76,33 @@ async function getBuild(options) {
|
|
|
77
76
|
return await (0, download_1.downloadAndUnzipVSCode)(quality === 'stable' ? 'stable' : 'insider');
|
|
78
77
|
}
|
|
79
78
|
async function open(options) {
|
|
80
|
-
var _a, _b, _c;
|
|
81
79
|
const config = {
|
|
82
80
|
extensionDevelopmentPath: options.extensionDevelopmentPath,
|
|
83
81
|
extensionTestsPath: options.extensionTestsPath,
|
|
84
82
|
build: await getBuild(options),
|
|
85
83
|
folderUri: options.folderUri,
|
|
86
84
|
folderMountPath: options.folderPath,
|
|
87
|
-
printServerLog:
|
|
85
|
+
printServerLog: options.printServerLog ?? options.hideServerLog === false,
|
|
88
86
|
extensionPaths: options.extensionPaths,
|
|
89
87
|
extensionIds: options.extensionIds,
|
|
90
|
-
coi: !!options.coi
|
|
88
|
+
coi: !!options.coi,
|
|
89
|
+
esm: !!options.esm
|
|
91
90
|
};
|
|
92
|
-
const host =
|
|
93
|
-
const port =
|
|
91
|
+
const host = options.host ?? 'localhost';
|
|
92
|
+
const port = options.port ?? 3000;
|
|
94
93
|
const server = await (0, main_1.runServer)(host, port, config);
|
|
95
94
|
const endpoint = `http://${host}:${port}`;
|
|
96
95
|
const context = await openBrowser(endpoint, options);
|
|
97
|
-
context
|
|
96
|
+
context?.once('close', () => server.close());
|
|
98
97
|
return {
|
|
99
98
|
dispose: () => {
|
|
100
|
-
var _a;
|
|
101
99
|
server.close();
|
|
102
|
-
|
|
100
|
+
context?.browser()?.close();
|
|
103
101
|
}
|
|
104
102
|
};
|
|
105
103
|
}
|
|
106
104
|
exports.open = open;
|
|
107
105
|
async function openBrowser(endpoint, options) {
|
|
108
|
-
var _a, _b;
|
|
109
106
|
if (options.browserType === 'none') {
|
|
110
107
|
return undefined;
|
|
111
108
|
}
|
|
@@ -121,7 +118,7 @@ async function openBrowser(endpoint, options) {
|
|
|
121
118
|
if (options.waitForDebugger) {
|
|
122
119
|
args.push(`--remote-debugging-port=${options.waitForDebugger}`);
|
|
123
120
|
}
|
|
124
|
-
const headless =
|
|
121
|
+
const headless = options.headless ?? options.extensionTestsPath !== undefined;
|
|
125
122
|
const browser = await browserType.launch({ headless, args, devtools: options.devTools });
|
|
126
123
|
const context = await browser.newContext({ viewport: null });
|
|
127
124
|
if (options.permissions) {
|
|
@@ -138,7 +135,7 @@ async function openBrowser(endpoint, options) {
|
|
|
138
135
|
}
|
|
139
136
|
});
|
|
140
137
|
});
|
|
141
|
-
const page =
|
|
138
|
+
const page = context.pages()[0] ?? await context.newPage();
|
|
142
139
|
if (options.waitForDebugger) {
|
|
143
140
|
await page.waitForFunction(() => '__jsDebugIsReady' in globalThis);
|
|
144
141
|
}
|
|
@@ -328,6 +325,7 @@ function showHelp() {
|
|
|
328
325
|
console.log(` --headless: Whether to hide the browser. Defaults to true when an extensionTestsPath is provided, otherwise false. [Optional]`);
|
|
329
326
|
console.log(` --permission: Permission granted in the opened browser: e.g. 'clipboard-read', 'clipboard-write'. [Optional, Multiple]`);
|
|
330
327
|
console.log(` --coi: Enables cross origin isolation [Optional]`);
|
|
328
|
+
console.log(` --esm: Serve the ESM variant of VS Code [Optional]`);
|
|
331
329
|
console.log(` --folder-uri: workspace to open VS Code on. Ignored when folderPath is provided. [Optional]`);
|
|
332
330
|
console.log(` --extensionPath: A path pointing to a folder containing additional extensions to include [Optional, Multiple]`);
|
|
333
331
|
console.log(` --extensionId: The id of an extension include. The format is '\${publisher}.\${name}'. Append '@prerelease' to use a prerelease version [Optional, Multiple]`);
|
|
@@ -350,7 +348,7 @@ async function cliMain() {
|
|
|
350
348
|
console.log(`${manifest.name}: ${manifest.version}`);
|
|
351
349
|
const options = {
|
|
352
350
|
string: ['extensionDevelopmentPath', 'extensionTestsPath', 'browser', 'browserType', 'quality', 'version', 'waitForDebugger', 'folder-uri', 'permission', 'extensionPath', 'extensionId', 'sourcesPath', 'host', 'port'],
|
|
353
|
-
boolean: ['open-devtools', 'headless', 'hideServerLog', 'printServerLog', 'help', 'verbose', 'coi'],
|
|
351
|
+
boolean: ['open-devtools', 'headless', 'hideServerLog', 'printServerLog', 'help', 'verbose', 'coi', 'esm'],
|
|
354
352
|
unknown: arg => {
|
|
355
353
|
if (arg.startsWith('-')) {
|
|
356
354
|
console.log(`Unknown argument ${arg}`);
|
|
@@ -380,6 +378,7 @@ async function cliMain() {
|
|
|
380
378
|
const port = validatePortNumber(args.port);
|
|
381
379
|
const host = validateStringOrUndefined(args, 'host');
|
|
382
380
|
const coi = validateBooleanOrUndefined(args, 'coi');
|
|
381
|
+
const esm = validateBooleanOrUndefined(args, 'esm');
|
|
383
382
|
const waitForDebugger = validatePortNumber(args.waitForDebugger);
|
|
384
383
|
let folderUri = validateStringOrUndefined(args, 'folder-uri');
|
|
385
384
|
let folderPath;
|
|
@@ -411,6 +410,7 @@ async function cliMain() {
|
|
|
411
410
|
extensionIds,
|
|
412
411
|
vsCodeDevPath,
|
|
413
412
|
verbose,
|
|
413
|
+
esm,
|
|
414
414
|
coi,
|
|
415
415
|
host,
|
|
416
416
|
port
|
|
@@ -435,6 +435,7 @@ async function cliMain() {
|
|
|
435
435
|
extensionIds,
|
|
436
436
|
vsCodeDevPath,
|
|
437
437
|
verbose,
|
|
438
|
+
esm,
|
|
438
439
|
coi,
|
|
439
440
|
host,
|
|
440
441
|
port
|
package/out/server/extensions.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
4
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
var _a;
|
|
6
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
8
|
exports.getScannedBuiltinExtensions = exports.prebuiltExtensionsLocation = exports.scanForExtensions = void 0;
|
|
8
9
|
const fs_1 = require("fs");
|
|
@@ -47,7 +48,7 @@ exports.scanForExtensions = scanForExtensions;
|
|
|
47
48
|
exports.prebuiltExtensionsLocation = '.build/builtInExtensions';
|
|
48
49
|
async function getScannedBuiltinExtensions(vsCodeDevLocation) {
|
|
49
50
|
// use the build utility as to not duplicate the code
|
|
50
|
-
const extensionsUtil = await
|
|
51
|
+
const extensionsUtil = await (_a = path.join(vsCodeDevLocation, 'build', 'lib', 'extensions.js'), Promise.resolve().then(() => require(_a)));
|
|
51
52
|
const localExtensions = extensionsUtil.scanBuiltinExtensions(path.join(vsCodeDevLocation, 'extensions'));
|
|
52
53
|
const prebuiltExtensions = extensionsUtil.scanBuiltinExtensions(path.join(vsCodeDevLocation, exports.prebuiltExtensionsLocation));
|
|
53
54
|
for (const ext of localExtensions) {
|
package/out/server/workbench.js
CHANGED
|
@@ -15,9 +15,10 @@ function asJSON(value) {
|
|
|
15
15
|
return JSON.stringify(value).replace(/"/g, '"');
|
|
16
16
|
}
|
|
17
17
|
class Workbench {
|
|
18
|
-
constructor(baseUrl, dev, builtInExtensions = []) {
|
|
18
|
+
constructor(baseUrl, dev, esm, builtInExtensions = []) {
|
|
19
19
|
this.baseUrl = baseUrl;
|
|
20
20
|
this.dev = dev;
|
|
21
|
+
this.esm = esm;
|
|
21
22
|
this.builtInExtensions = builtInExtensions;
|
|
22
23
|
}
|
|
23
24
|
async render(workbenchWebConfiguration) {
|
|
@@ -29,19 +30,23 @@ class Workbench {
|
|
|
29
30
|
WORKBENCH_MAIN: this.getMain()
|
|
30
31
|
};
|
|
31
32
|
try {
|
|
32
|
-
const workbenchTemplate = (await fs_1.promises.readFile(path.resolve(__dirname,
|
|
33
|
-
return workbenchTemplate.replace(/\{\{([^}]+)\}\}/g, (_, key) =>
|
|
33
|
+
const workbenchTemplate = (await fs_1.promises.readFile(path.resolve(__dirname, `../../views/workbench${this.esm ? '-esm' : ''}.html`))).toString();
|
|
34
|
+
return workbenchTemplate.replace(/\{\{([^}]+)\}\}/g, (_, key) => values[key] ?? 'undefined');
|
|
34
35
|
}
|
|
35
36
|
catch (e) {
|
|
36
37
|
return String(e);
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
getMain() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
if (this.esm) {
|
|
42
|
+
return `<script type="module" src="${this.baseUrl}/out/vs/code/browser/workbench/workbench.js"></script>`;
|
|
43
|
+
}
|
|
44
|
+
if (this.dev) {
|
|
45
|
+
return `<script> require(['vs/code/browser/workbench/workbench'], function() {}); </script>`;
|
|
46
|
+
}
|
|
47
|
+
return `<script src="${this.baseUrl}/out/vs/workbench/workbench.web.main.nls.js"></script>`
|
|
48
|
+
+ `<script src="${this.baseUrl}/out/vs/workbench/workbench.web.main.js"></script>`
|
|
49
|
+
+ `<script src="${this.baseUrl}/out/vs/code/browser/workbench/workbench.js"></script>`;
|
|
45
50
|
}
|
|
46
51
|
async renderCallback() {
|
|
47
52
|
return await (0, download_1.fetch)(`${this.baseUrl}/out/vs/code/browser/workbench/callback.html`);
|
|
@@ -101,13 +106,13 @@ function default_1(config) {
|
|
|
101
106
|
router.use(async (ctx, next) => {
|
|
102
107
|
if (config.build.type === 'sources') {
|
|
103
108
|
const builtInExtensions = await (0, extensions_1.getScannedBuiltinExtensions)(config.build.location);
|
|
104
|
-
ctx.state.workbench = new Workbench(`${ctx.protocol}://${ctx.host}/static/sources`, true, builtInExtensions);
|
|
109
|
+
ctx.state.workbench = new Workbench(`${ctx.protocol}://${ctx.host}/static/sources`, true, config.esm, builtInExtensions);
|
|
105
110
|
}
|
|
106
111
|
else if (config.build.type === 'static') {
|
|
107
|
-
ctx.state.workbench = new Workbench(`${ctx.protocol}://${ctx.host}/static/build`, false);
|
|
112
|
+
ctx.state.workbench = new Workbench(`${ctx.protocol}://${ctx.host}/static/build`, false, config.esm);
|
|
108
113
|
}
|
|
109
114
|
else if (config.build.type === 'cdn') {
|
|
110
|
-
ctx.state.workbench = new Workbench(config.build.uri, false);
|
|
115
|
+
ctx.state.workbench = new Workbench(config.build.uri, false, config.esm);
|
|
111
116
|
}
|
|
112
117
|
await next();
|
|
113
118
|
});
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vscode/test-web",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.34",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"install-extensions": "yarn --cwd=fs-provider && yarn --cwd=sample",
|
|
6
6
|
"compile": "tsc -p ./ && yarn compile-fs-provider",
|
|
7
7
|
"watch": "tsc -w -p ./",
|
|
8
|
-
"
|
|
8
|
+
"prepack": "yarn compile",
|
|
9
9
|
"test": "eslint src --ext ts && tsc --noEmit",
|
|
10
10
|
"preversion": "npm test",
|
|
11
11
|
"postversion": "git push && git push --tags",
|
|
@@ -20,18 +20,18 @@
|
|
|
20
20
|
"vscode-test-web": "./out/index.js"
|
|
21
21
|
},
|
|
22
22
|
"engines": {
|
|
23
|
-
"node": ">=
|
|
23
|
+
"node": ">=16"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@koa/router": "^12.0.0",
|
|
27
27
|
"@koa/cors": "^4.0.0",
|
|
28
|
-
"koa": "^2.
|
|
28
|
+
"koa": "^2.14.1",
|
|
29
29
|
"koa-morgan": "^1.0.1",
|
|
30
30
|
"koa-mount": "^4.0.0",
|
|
31
31
|
"koa-static": "^5.0.0",
|
|
32
32
|
"minimist": "^1.2.7",
|
|
33
|
-
"playwright": "^1.
|
|
34
|
-
"vscode-uri": "^3.0.
|
|
33
|
+
"playwright": "^1.29.2",
|
|
34
|
+
"vscode-uri": "^3.0.7",
|
|
35
35
|
"http-proxy-agent": "^5.0.0",
|
|
36
36
|
"https-proxy-agent": "^5.0.1",
|
|
37
37
|
"decompress": "^4.2.1",
|
|
@@ -41,17 +41,17 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/koa": "^2.13.5",
|
|
43
43
|
"@types/koa-morgan": "^1.0.5",
|
|
44
|
-
"@types/koa-mount": "^4.0.
|
|
44
|
+
"@types/koa-mount": "^4.0.2",
|
|
45
45
|
"@types/koa-static": "^4.0.2",
|
|
46
46
|
"@types/koa__router": "^12.0.0",
|
|
47
47
|
"@types/minimist": "^1.2.2",
|
|
48
|
-
"@types/node": "
|
|
49
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
50
|
-
"@typescript-eslint/parser": "^5.
|
|
48
|
+
"@types/node": "16.x",
|
|
49
|
+
"@typescript-eslint/eslint-plugin": "^5.48.1",
|
|
50
|
+
"@typescript-eslint/parser": "^5.48.1",
|
|
51
51
|
"@types/decompress": "^4.2.4",
|
|
52
|
-
"eslint": "^8.
|
|
52
|
+
"eslint": "^8.31.0",
|
|
53
53
|
"eslint-plugin-header": "^3.1.1",
|
|
54
|
-
"typescript": "^4.
|
|
54
|
+
"typescript": "^4.9.4"
|
|
55
55
|
},
|
|
56
56
|
"license": "MIT",
|
|
57
57
|
"author": "Visual Studio Code Team",
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<script>
|
|
6
|
+
performance.mark('code/didStartRenderer')
|
|
7
|
+
</script>
|
|
8
|
+
<meta charset="utf-8" />
|
|
9
|
+
|
|
10
|
+
<!-- Mobile tweaks -->
|
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
12
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
13
|
+
<meta name="apple-mobile-web-app-title" content="Code">
|
|
14
|
+
<link rel="apple-touch-icon" href="{{WORKBENCH_WEB_BASE_URL}}/code-192.png" />
|
|
15
|
+
|
|
16
|
+
<!-- Disable pinch zooming -->
|
|
17
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
|
|
18
|
+
|
|
19
|
+
<!-- Workbench Configuration -->
|
|
20
|
+
<meta id="vscode-workbench-web-configuration" data-settings="{{WORKBENCH_WEB_CONFIGURATION}}">
|
|
21
|
+
|
|
22
|
+
<!-- Workbench Auth Session -->
|
|
23
|
+
<meta id="vscode-workbench-auth-session" data-settings="{{WORKBENCH_AUTH_SESSION}}">
|
|
24
|
+
|
|
25
|
+
<!-- Builtin Extensions (running out of sources) -->
|
|
26
|
+
<meta id="vscode-workbench-builtin-extensions" data-settings="{{WORKBENCH_BUILTIN_EXTENSIONS}}">
|
|
27
|
+
|
|
28
|
+
<!-- Workbench Icon/Manifest/CSS -->
|
|
29
|
+
<link rel="icon" href="{{WORKBENCH_WEB_BASE_URL}}/favicon.ico" type="image/x-icon" />
|
|
30
|
+
<link rel="manifest" href="{{WORKBENCH_WEB_BASE_URL}}/manifest.json">
|
|
31
|
+
</head>
|
|
32
|
+
|
|
33
|
+
<body aria-label="">
|
|
34
|
+
</body>
|
|
35
|
+
|
|
36
|
+
<!-- Startup (do not modify order of script tags!) -->
|
|
37
|
+
<script>
|
|
38
|
+
// BASE URL
|
|
39
|
+
const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location.origin).toString();
|
|
40
|
+
globalThis._VSCODE_FILE_ROOT = baseUrl + '/out/';
|
|
41
|
+
</script>
|
|
42
|
+
<script>
|
|
43
|
+
performance.mark('code/willLoadWorkbenchMain');
|
|
44
|
+
</script>
|
|
45
|
+
{{WORKBENCH_MAIN}}
|
|
46
|
+
</html>
|