Skip to content

Commit a3c0c81

Browse files
authored
feat: esm and pnpm (#205)
* feat: switch to esm * feat: use pnpm instead of yarn * feat: bump action versions * feat: update eslint config * feat: remove deprecated rule * feat: temporarily disable tests Because of microsoft/vscode-test-cli#77
1 parent f4ab20a commit a3c0c81

File tree

21 files changed

+4909
-3083
lines changed

21 files changed

+4909
-3083
lines changed

.eslintrc.json

Lines changed: 0 additions & 24 deletions
This file was deleted.

.github/workflows/test.yml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name: Test
2-
32
on:
43
pull_request:
54
push:
@@ -16,13 +15,21 @@ jobs:
1615
runs-on: ${{ matrix.os }}
1716
steps:
1817
- name: Checkout
19-
uses: actions/checkout@v3
18+
uses: actions/checkout@v5
19+
20+
- name: Install pnpm
21+
uses: pnpm/action-setup@v4
22+
2023
- name: Install Node.js
21-
uses: actions/setup-node@v3
24+
uses: actions/setup-node@v4
2225
with:
23-
node-version: 20.x
24-
- run: yarn install
25-
- run: xvfb-run -a yarn test
26-
if: runner.os == 'Linux'
27-
- run: yarn test
28-
if: runner.os != 'Linux'
26+
node-version: 22.x
27+
# cache: "pnpm"
28+
29+
# This is disabled until https://github.com/microsoft/vscode-test-cli/issues/77
30+
# is resolved. We don't have any tests anyway.
31+
# - run: pnpm install
32+
# - run: xvfb-run -a pnpm test
33+
# if: runner.os == 'Linux'
34+
# - run: pnpm test
35+
# if: runner.os != 'Linux'

.yarnrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

eslint.config.mjs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { defineConfig, globalIgnores } from "eslint/config";
2+
import typescriptEslint from "@typescript-eslint/eslint-plugin";
3+
import tsParser from "@typescript-eslint/parser";
4+
5+
export default defineConfig([globalIgnores(["**/out", "**/dist", "**/*.d.ts"]), {
6+
plugins: {
7+
"@typescript-eslint": typescriptEslint,
8+
},
9+
10+
languageOptions: {
11+
parser: tsParser,
12+
ecmaVersion: 6,
13+
sourceType: "module",
14+
},
15+
16+
rules: {
17+
"@typescript-eslint/naming-convention": "warn",
18+
curly: "warn",
19+
eqeqeq: "warn",
20+
"no-throw-literal": "warn"
21+
},
22+
}]);

package.json

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,16 @@
2727
"go-task",
2828
"taskfile"
2929
],
30+
"type": "module",
3031
"engines": {
31-
"vscode": "^1.76.0"
32+
"vscode": "^1.100.0",
33+
"node": ">=22"
3234
},
35+
"vsce": {
36+
"dependencies": false,
37+
"useYarn": false
38+
},
39+
"packageManager": "[email protected]+sha512.68046141893c66fad01c079231128e9afb89ef87e2691d69e4d40eee228988295fd4682181bae55b58418c3a253bde65a505ec7c5f9403ece5cc3cd37dcf2531",
3340
"categories": [
3441
"Other"
3542
],
@@ -344,38 +351,40 @@
344351
}
345352
},
346353
"scripts": {
347-
"bundle": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node --minify",
354+
"preinstall": "npx only-allow pnpm",
355+
"bundle": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=esm --platform=node --minify",
348356
"compile": "tsc -p ./",
349357
"watch": "tsc -watch -p ./",
350-
"pretest": "yarn run compile && yarn run lint",
358+
"pretest": "pnpm run compile && pnpm run lint",
351359
"lint": "eslint src --ext ts",
352360
"test": "vscode-test",
353-
"package": "vsce package --yarn",
354-
"publish:vsce": "vsce publish --yarn",
355-
"publish:ovsx": "ovsx publish --yarn",
356-
"vscode:prepublish": "yarn run bundle"
361+
"package": "vsce package",
362+
"publish:vsce": "vsce publish",
363+
"publish:ovsx": "ovsx publish",
364+
"vscode:prepublish": "pnpm run bundle"
357365
},
358366
"devDependencies": {
359367
"@types/glob": "8.1.0",
360-
"@types/mocha": "10.0.6",
361-
"@types/node": "20.x",
368+
"@types/mocha": "10.0.10",
369+
"@types/node": "24.3.0",
370+
"@types/semver": "^7.7.0",
362371
"@types/strip-ansi": "3.0.0",
363-
"@types/vscode": "1.76.0",
364-
"@typescript-eslint/eslint-plugin": "7.5.0",
365-
"@typescript-eslint/parser": "7.5.0",
366-
"@vscode/test-cli": "^0.0.8",
367-
"@vscode/test-electron": "2.3.9",
368-
"@vscode/vsce": "2.24.0",
369-
"esbuild": "0.20.2",
370-
"eslint": "8.57.0",
371-
"mocha": "10.4.0",
372-
"ovsx": "0.9.0",
373-
"typescript": "5.4.4"
372+
"@types/vscode": "1.100.0",
373+
"@typescript-eslint/eslint-plugin": "8.40.0",
374+
"@typescript-eslint/parser": "8.40.0",
375+
"@vscode/test-cli": "0.0.11",
376+
"@vscode/test-electron": "2.5.2",
377+
"@vscode/vsce": "3.6.0",
378+
"esbuild": "0.25.9",
379+
"eslint": "9.33.0",
380+
"mocha": "11.7.1",
381+
"ovsx": "0.10.5",
382+
"typescript": "5.9.2"
374383
},
375384
"dependencies": {
376-
"@octokit/types": "13.1.0",
377-
"octokit": "3.2.0",
378-
"semver": "7.6.0",
379-
"strip-ansi": "6.0.1"
385+
"@octokit/types": "14.1.0",
386+
"octokit": "5.0.3",
387+
"semver": "7.7.2",
388+
"strip-ansi": "7.1.0"
380389
}
381390
}

0 commit comments

Comments
 (0)