From e91f40fcf39c10d596d6bcaee2a29541495074ce Mon Sep 17 00:00:00 2001 From: "J. Lewis" <6710419+lewxdev@users.noreply.github.com> Date: Wed, 10 Jul 2024 04:24:47 -0700 Subject: [PATCH] chore: setup esbuild for bundling typescript (#16) use the bundling extensions documentation as a guide for setting up esbuild. unfortunately, esbuild is necessary since bun does not support the "cjs" output format yet, which is required for vscode extensions. see: https://code.visualstudio.com/api/working-with-extensions/bundling-extension#using-esbuild --- .github/workflows/publish.yml | 6 +++--- .vscode/launch.json | 5 +++-- .vscode/tasks.json | 10 ++++++++++ bun.lockb | Bin 111555 -> 123211 bytes package.json | 13 +++++++++++- scripts/build.ts | 36 ++++++++++++++++++++++++++++++++++ src/extension.ts | 5 +++++ tsconfig.json | 4 ++++ 8 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 .vscode/tasks.json create mode 100644 scripts/build.ts create mode 100644 src/extension.ts create mode 100644 tsconfig.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 64e0f9c..7e493d4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,9 +17,9 @@ jobs: - run: | bun install - bun run vsce package - echo "filepath=$(ls *.vsix)" >> $GITHUB_ENV - echo "version=$(ls *.vsix | grep -oE '\d+\.\d+\.\d+')" >> $GITHUB_ENV + bun run build:vsix + echo "filepath=$(ls dist/*.vsix)" >> $GITHUB_ENV + echo "version=$(ls dist/*.vsix | grep -oE '\d+\.\d+\.\d+')" >> $GITHUB_ENV - env: VSCE_PAT: ${{ secrets.VSCE_PAT }} diff --git a/.vscode/launch.json b/.vscode/launch.json index 3f4ab1a..bfee349 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,8 +8,9 @@ "args": [ "${workspaceFolder}/..", "--disable-extensions", - "--extensionDevelopmentPath=${workspaceFolder}" - ] + "--extensionDevelopmentPath=${workspaceFolder}/dist" + ], + "preLaunchTask": "build extension" } ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..4ea388d --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,10 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build extension", + "type": "shell", + "command": "bun run build" + } + ] +} diff --git a/bun.lockb b/bun.lockb index 2f73dadc39801671a15f1212e40ee9e03c1045b3..f9e67999bd3d8ac52167a96b1ababdc0a471ad49 100755 GIT binary patch delta 27444 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 delta 20221 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 diff --git a/package.json b/package.json index 6dd3d61..e6d38e8 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,10 @@ "minimal", "theme" ], + "main": "src/extension.js", + "activationEvents": [ + "onStartupFinished" + ], "contributes": { "iconThemes": [ { @@ -45,13 +49,20 @@ ] }, "scripts": { + "build": "bun run clean && bun run scripts/build.ts", + "build:vsix": "bun run build --production", + "clean": "git clean -xdf dist", "prepare": "husky" }, "devDependencies": { "@commitlint/cli": "^19", "@commitlint/config-conventional": "^19", + "@tsconfig/bun": "^1.0.7", + "@tsconfig/strictest": "^2.0.5", + "@types/bun": "^1.1.6", "@types/vscode": "^1.87", - "@vscode/vsce": "^2", + "@vscode/vsce": "^2.25.0", + "esbuild": "^0.23.0", "husky": "^9" }, "commitlint": { diff --git a/scripts/build.ts b/scripts/build.ts new file mode 100644 index 0000000..f4ef6b5 --- /dev/null +++ b/scripts/build.ts @@ -0,0 +1,36 @@ +import { build } from "esbuild"; + +const isProduction = process.argv.includes("--production"); + +// see: https://code.visualstudio.com/api/working-with-extensions/bundling-extension#using-esbuild +await build({ + entryPoints: [ + "static/**/*", + "theme/**/*", + "src/extension.ts", + "package.json", + "package.nls.json", + "CHANGELOG.md", + "LICENSE.md", + "README.md", + ], + loader: { + ".json": "copy", + ".md": "copy", + ".png": "copy", + ".svg": "copy", + }, + outdir: "dist", + external: ["vscode"], + format: "cjs", + platform: "node", + bundle: true, + sourcesContent: false, + minify: isProduction, + sourcemap: !isProduction, +}); + +if (isProduction) { + const { createVSIX } = await import("@vscode/vsce"); + await createVSIX({ cwd: "dist" }); +} diff --git a/src/extension.ts b/src/extension.ts new file mode 100644 index 0000000..3497355 --- /dev/null +++ b/src/extension.ts @@ -0,0 +1,5 @@ +import * as vscode from "vscode"; + +export function activate(context: vscode.ExtensionContext) { + console.log(`[${context.extension.id}] active`); +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..22949dc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": ["@tsconfig/bun", "@tsconfig/strictest"], + "include": ["scripts", "src"] +}