From 7d94c595456dde7ffcca4e40d02607b81ee3cf0b Mon Sep 17 00:00:00 2001 From: Ashcon Partovi Date: Mon, 23 Sep 2024 16:04:44 -0700 Subject: [PATCH] Publish VSCode extension --- packages/bun-vscode/.gitignore | 13 ++++++++++--- packages/bun-vscode/bun.lockb | Bin 54384 -> 110144 bytes packages/bun-vscode/package.json | 7 +++++-- packages/bun-vscode/scripts/build.mjs | 8 ++------ packages/bun-vscode/scripts/dev.mjs | 26 ++++++++++++++++++++++++++ packages/bun-vscode/scripts/test.mjs | 10 +++------- 6 files changed, 46 insertions(+), 18 deletions(-) create mode 100644 packages/bun-vscode/scripts/dev.mjs diff --git a/packages/bun-vscode/.gitignore b/packages/bun-vscode/.gitignore index cafc85cea7..792cb949ab 100644 --- a/packages/bun-vscode/.gitignore +++ b/packages/bun-vscode/.gitignore @@ -1,3 +1,10 @@ -node_modules -extension -example/.vscode +# Project files + +/node_modules +/extension +/example/.vscode +/.vscode-test + +# macOS files + +.DS_Store diff --git a/packages/bun-vscode/bun.lockb b/packages/bun-vscode/bun.lockb index 9433b0c6deda1a39e15fafd3d7500d880660af40..b5dfde26d33a62233cc30a6ecc4d3a810ff3218a 100755 GIT binary patch literal 110144 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 delta 9084 zcmeHNX>=7;wysklked)7A&}uFAqj*qC1k#txR(UNU@-`SmqCUAH{@axAOj?UkVIw~ z!v+q6h_O)_?T$1;6k4P2wIbSrSw3Zn18viyjr~OJmf(Ya->#}_(AC}R^?Iw{dOx}r zU+welv(Gtu@7h(jDu%>8228y6IEe!n_CG)sPw)^Katjlw}k ze|z=q!W*BoDf+QpX`B{WcX6x1jI*zz)GseL+P{Wi?kb;G=`LQNnffD;y}@^xd=+GH9TY`o$5cojm}?pgh2#mWCijNq3BDGF z-G`99z|TXnBPSub|DegwApi?_Gh|oDhh5bb1!aoTjHr5m&-PQ4eC{}k2L9EfH@*Fk`8i}a$PY~EE-iAExhu+R!11rXgpP=zWADI(ms?UT=50-+~uy4WiHGTh#|a6 zbwP2lySzdf2_p`sFC@}efcol;FDp@K6x_cnXklM;$k~H`gvUC{Dczs{IbO*3lOcMsLC8V@71R+*&N;% zk`oyQ$?nWAa^a#cRz8YSls@1~3d+h|X^P@1t#DVkUFGMYhiScEjNxV*I4`qcaYN;7(IhZ0d-IHGi;Hz_`>3Xg^l1`;p-rI&U3Lw zn!ENl#@@z2z7rZ1MZxs-o#PB%3(n)X9`%xgn3wIX?eCm;?p;fd zE}h2Kp4pmnfu69u?6cy=!nZaA{vqb%T;C!u8WR{r+XIXIFJf#w#`-`8Qgh&7`YO;z zL{od9LljYFPlvY?4~CI6tY^0OezZpEt*dB_(OUyMd3sCGGIXcVGVH$pq1WN<>0OW3 zIDKr}4?1gSMVX-M+-MoSr_eHILCctVL>JF$>(MfFZ=+?5up$U!L;+g&>GK^!%dqG8Pq`!sQtqwJ_8)b#tz1=9F zRJs$EEe=pixI>($_Hc)#Gs-j_BLs;so0`*|Y9j2GWl$zU=|!!HHt{sIM>xb6lo{!; zMB;IggPu;*IwZpfBu^jP5NWfV1)BiYnFm=yaOaOSrU*}d8jzr_y(z1o-EtppgkeznaU^0rwe)j%pMnnYL}rUGDKplg z<^@wtEMJ(GScf=C?XeEa4LtGq@?b8jO}#&aYWmwPyYM(OvWP1nZc%%Ghb2AK;{s=P z30Q(YEH}m`9;cQ#hxaFJ!J%8ia1(MbswvE783V@k;zfvAtfZC!4$EuMjWL#uw5i># zlr_+=qlIh8g;R)>xa*VlYmlUQ~$@7HS#f5Z9@F zki*hH;)j4jZDI*k4|Z4%LC5KX2ZL>vkHC!dwW5BbA}MQ#-QteCXMRf)ShBtv2ipe5 z4tWuRwRFeRl08u=cVdRm4}=Ztz<3yn6ql(Pj8p5ym&yAk*eE&|o^7#38QyfJ+>{Jz zNpM*1KvM|IE_$8Lk2dnvg>nblEE0^DLyh#aS>6U?SG;vsLSu~jfh(w=Szw$LAI`I7 zKNyeGeGzTclIT!_`_c>dIehSB<{p$UygUGA%*gDwV4Nxa-u4OaXIScK<|>}jkFt{O zmXpwrgcZDiPv4nV`mL!BjiuW#sly|kok7Y`LT^xYibL()pI%6@TPF8cln2m-N=5lT z)t|Da*}biJc55_jTDEr~T4TAT{ydIuPfMpIGsdWYh@%%~tWskKP}a<>I{Ys2ZYJ6X2lo0RfBx_!!0SMV-*N55NzHG7<2iEf4X_ zr=D3BoMC;~6jM%RB@UMO(Nd-Xyvz)Mk9#HSAJVlymOO5bsb|S<%{4h>jPBL~Q}I_N zjV}zQorOJgR~MR=e^2rfMW!7~c5M;B`iB8NShBu^368%e+4UuQuP*iVbp=nf6kvl2 z(|{#sxXR@BO17^y^(=Ye6#(m3nz9xWKh?@=fDe}3zXo9Yb$ki=SZ4@bsR=W?!Gu@?h6v zAH4SNe;#Yv=)33R@vr$mx6S_UTc4hL;>MrfJdoj_@ueZ;U#bZ&nqKM@ov0aSZ?Y_Q ziq2Gka~EpC*@ps_IE97WIQvp7&VCfS)G4~sQk?zi{8A@XmHAVAnI^hZb(vH2pi4Lh z(7RG`_og)G!a2J!ES*~U9O2f)U@15hpYU_yGj$$ zG^xr-)2jXH6j)yp)lTxM@h4ZcCSs`>>;@gS%NE1ux64?7-X*)GhP7ON|-!8-l zR!K>_5Z`XZw@VYt=_=TDu>9ScsHVoU z;@gY(_G+SmChbLh`w$=4Y7+Yp-+simPZMjY8SD&Lul*W6bPM()zQ?fMTbjC2p&f5M zNFfKXAm}EA@_zFmy?&r8-Du0D0~h_&EeajI_#jn1-l5v2(2Ps-=;gp5I(sR~dlv2_ zzmv_E-xm0A??g|u4G_&I&$rD{#if(ES2R`ER=s}mKt zB32HG75#?2jNVp&U+(xls4vhDhy~cCIA8!U5Euju28ICaT7oxCH$40z75_Fc26Fcx<@Dh5$U4`%_Gr44DdK0vTLS z>{&X%QRM)`fRO-SI+mjWzD#@>Cjt|I@c>^cComb{OZFhZmv9R3fXP|M{d_4ovjxCh zfSu$L8G!YbnZPVy4!||ziDo|9E`a;EmWu(d(5O;yU31W^4gG zC5Vjo(C^x+UC`nfazv3A62&Z;mn3?p@$x~a&Pg+mkNxn#$<97vc2YuGdP1W9X&i-~ z-Rrh?**y7;w>x^8WowcM4LygU78rQ`{11b~1Y1IiA}=QitNYjJ_C@!>*!m%Z*ShAR zJ1rp*6DywG1R0iprn;%kA#R+(BY?D#oCEy9i^)<6>ISl<8N#?GhyH z!+5%6<)G}IEJD*fn|qV(7YBz&1U%D8U|c5p70>ox$nD!nlix^pb@Y5FXJKf%XTLBp zZ{M8Lox7_Y2A&;7|KO3IKmP2p*E)Kvsyv=7Lad%WNOw!l;ndD0zwfZfl^?TTo=wXq zkE~ksN1xbtIt)D9n#V@DXO%hP9_#2?CF4^>sMWI(Iw){JirDmNQ-{G3SpWm^l3c-d zo{iMcc2|7el#@a905W!J-*(OrdbU)cG10Ke8m3ffXlCH+4SDZLBs^*maYs{0BkjlkaBe!LU z6tPae3Ssr^`o8$i@8=yZ|K)n!E{W|vmjRjj{LQ09kaT2<5{%iF57ixcBwr+ShE2!o{d`n z-nV9awfU1;bJpR7{>TOpFu9Wz+qb;>lrf8nyHO zFkH9O($6kJ)v;E2#g2p=lnzjFLQc0MFCWTh?8uAJIZn)x107kOzqlVZWy6gKJL0u zwR4=jG7X-aGX1Ad<`^+M10{-B|Mv6ujv|jwM*)Tmke^H!A%0ayjA!{7{LZX6F2ZEQ z3=t>C%n*szUU-P(rmA0)k@lvj>UQ_KX*%&8MYhclkICwpA}@GZ`Fz*B%F_6X>Lspn z{WQPKy`(~3Z4%+~_%Y$zCj;rPSXeW!varxq#+&Dr6@~E`@yiN|-3tmTT&MpyQ*7~( zO-Ds@gb4DxXln7lXpHb{Pl#9l E8=b9WtN;K2 diff --git a/packages/bun-vscode/package.json b/packages/bun-vscode/package.json index cdaecb9099..23ace8a229 100644 --- a/packages/bun-vscode/package.json +++ b/packages/bun-vscode/package.json @@ -1,6 +1,6 @@ { "name": "bun-vscode", - "version": "0.0.13", + "version": "0.0.15", "author": "oven", "repository": { "type": "git", @@ -8,11 +8,13 @@ }, "main": "dist/extension.js", "devDependencies": { + "@types/bun": "^1.1.10", "@types/vscode": "^1.60.0", "@vscode/debugadapter": "^1.56.0", "@vscode/debugadapter-testsupport": "^1.56.0", + "@vscode/test-cli": "^0.0.10", + "@vscode/test-electron": "^2.4.1", "@vscode/vsce": "^2.20.1", - "bun-types": "^0.7.3", "esbuild": "^0.19.2", "typescript": "^5.0.0" }, @@ -43,6 +45,7 @@ "build": "node scripts/build.mjs", "pretest": "bun run build", "test": "node scripts/test.mjs", + "dev": "vscode-test --config scripts/dev.mjs", "prepublish": "npm version patch && bun run build", "publish": "cd extension && bunx vsce publish" }, diff --git a/packages/bun-vscode/scripts/build.mjs b/packages/bun-vscode/scripts/build.mjs index 73f88b014c..24fc6497c4 100644 --- a/packages/bun-vscode/scripts/build.mjs +++ b/packages/bun-vscode/scripts/build.mjs @@ -1,13 +1,9 @@ import { buildSync } from "esbuild"; import { execSync } from "node:child_process"; import { cpSync, mkdirSync, rmSync } from "node:fs"; -import path from "node:path"; +import { dirname } from "node:path"; -let { pathname } = new URL("..", import.meta.url); -if (process.platform === "win32") { - pathname = path.normalize(pathname).substring(1); // remove leading slash -} -process.chdir(pathname); +process.chdir(dirname(import.meta.dirname)); buildSync({ entryPoints: ["src/extension.ts", "src/web-extension.ts"], diff --git a/packages/bun-vscode/scripts/dev.mjs b/packages/bun-vscode/scripts/dev.mjs new file mode 100644 index 0000000000..33fe719583 --- /dev/null +++ b/packages/bun-vscode/scripts/dev.mjs @@ -0,0 +1,26 @@ +import { defineConfig } from "@vscode/test-cli"; +import { dirname, join } from "node:path"; +import { existsSync, mkdirSync, writeFileSync } from "node:fs"; + +const workspacePath = dirname(import.meta.dirname); +const vscodePath = join(workspacePath, ".vscode-test"); +const vscodeTestPath = join(vscodePath, "launch.test.js"); + +if(!existsSync(vscodeTestPath)) { + mkdirSync(vscodePath, { recursive: true }); + writeFileSync(vscodeTestPath, `// Generated by ${import.meta.filename} +// A test that intentionally waits forever and does nothing, +// so you can debug and test the VSCode extension in a clean environment. +suite("VSCode extension", function () { + this.timeout(Number.MAX_SAFE_INTEGER); + test("wait forever", (done) => {}); +}); +`); +} + +export default defineConfig({ + workspaceFolder: join(workspacePath, "example"), + extensionDevelopmentPath: workspacePath, + skipExtensionDependencies: true, + files: vscodeTestPath, +}); diff --git a/packages/bun-vscode/scripts/test.mjs b/packages/bun-vscode/scripts/test.mjs index 105f577ac0..505e93ef42 100644 --- a/packages/bun-vscode/scripts/test.mjs +++ b/packages/bun-vscode/scripts/test.mjs @@ -1,12 +1,8 @@ import { exec } from "node:child_process"; import { readdirSync } from "node:fs"; -import path from "node:path"; +import { dirname } from "node:path"; -let { pathname } = new URL("..", import.meta.url); -if (process.platform === "win32") { - pathname = path.normalize(pathname).substring(1); // remove leading slash -} -process.chdir(pathname); +process.chdir(dirname(import.meta.dirname)); let extPath; for (const filename of readdirSync("extension")) { @@ -20,6 +16,6 @@ if (!extPath) { throw new Error("No .vsix file found"); } -exec(`code --new-window --install-extension=${path} --extensionDevelopmentPath=${pathname} example`, { +exec(`code --new-window --install-extension=${extPath} --extensionDevelopmentPath=${process.cwd()} example`, { stdio: "inherit", });