Skip to content

Commit e44cb5a

Browse files
committed
chore: switch to vite
1 parent a73ae92 commit e44cb5a

22 files changed

+1848
-7071
lines changed

.babelrc.js

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

.eslintignore

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

.eslintrc.js

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

.github/workflows/demo.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,25 @@ jobs:
1010
runs-on: ubuntu-latest
1111

1212
steps:
13-
- uses: actions/checkout@v3
14-
- uses: actions/setup-node@v3
13+
- uses: actions/checkout@v4
14+
15+
- uses: pnpm/action-setup@v4
16+
name: Install pnpm
1517
with:
16-
node-version: '20'
17-
- uses: pnpm/action-setup@v2
18+
version: 10
19+
run_install: false
20+
21+
- uses: actions/setup-node@v4
1822
with:
19-
version: 8
23+
node-version: '25'
24+
cache: 'pnpm'
25+
2026
- name: Build
2127
run: pnpm i && pnpm demo
28+
2229
- name: Deploy to GitHub Pages
2330
uses: JamesIves/github-pages-deploy-action@v4
2431
with:
25-
folder: dist
32+
folder: dist/demo
2633
branch: gh-pages
2734
single-commit: true

.github/workflows/publish.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,26 @@ on:
55
tags:
66
- v*
77

8+
permissions:
9+
id-token: write # Required for OIDC
10+
contents: read
11+
812
jobs:
913
build:
1014
runs-on: ubuntu-latest
1115
steps:
12-
- uses: actions/checkout@v3
13-
- uses: actions/setup-node@v3
16+
- uses: actions/checkout@v4
17+
18+
- uses: pnpm/action-setup@v4
19+
name: Install pnpm
1420
with:
15-
node-version: '20'
16-
registry-url: 'https://registry.npmjs.org'
17-
- uses: pnpm/action-setup@v2
21+
version: 10
22+
run_install: false
23+
24+
- uses: actions/setup-node@v4
1825
with:
19-
version: 8
26+
node-version: '25'
27+
cache: 'pnpm'
28+
registry-url: 'https://registry.npmjs.org'
29+
2030
- run: pnpm i && pnpm publish --no-git-checks
21-
env:
22-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.husky/.gitignore

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

.husky/pre-push

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
#!/bin/sh
2-
. "$(dirname "$0")/_/husky.sh"
3-
4-
npm run lint
1+
pnpm lint

.npmrc

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

eslint.config.mjs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import js from '@eslint/js';
2+
import prettier from 'eslint-config-prettier';
3+
import globals from 'globals';
4+
import ts from 'typescript-eslint';
5+
6+
/** @type {import('eslint').Linter.Config[]} */
7+
export default [
8+
js.configs.recommended,
9+
...ts.configs.recommended,
10+
prettier,
11+
{
12+
languageOptions: {
13+
globals: {
14+
...globals.browser,
15+
...globals.node,
16+
VM: true,
17+
__COMMIT__: true,
18+
__VERSION__: true,
19+
},
20+
},
21+
},
22+
{
23+
ignores: ['dist/'],
24+
},
25+
{
26+
rules: {
27+
'@typescript-eslint/no-explicit-any': 'off',
28+
},
29+
},
30+
];

package.json

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,24 @@
44
"description": "Register a shortcut for a function",
55
"author": "Gerald <[email protected]>",
66
"license": "ISC",
7+
"type": "module",
78
"scripts": {
89
"prepare": "husky || true",
9-
"dev": "rollup -wc",
10-
"prepublishOnly": "run-s build",
11-
"lint": "eslint --ext .ts,.tsx . && prettier -c --ignore-path=.eslintignore .",
12-
"lint:fix": "eslint --ext .ts,.tsx . --fix && prettier -c --ignore-path=.eslintignore . -w",
13-
"test": "jest",
14-
"ci": "run-s lint test",
15-
"clean": "del-cli dist types",
16-
"build:js": "NODE_ENV=production rollup -c",
10+
"dev": "vite",
11+
"prepublishOnly": "pnpm build",
12+
"lint": "eslint",
13+
"test": "vitest --run",
14+
"clean": "del-cli dist",
15+
"build:js": "vite build --mode iife && vite build --mode es",
1716
"build:types": "tsc -p tsconfig.prod.json",
18-
"build": "run-s ci clean build:*",
19-
"demo:dev": "DEMO=1 run-s demo:cp dev",
20-
"demo:build": "DEMO=1 run-s build",
21-
"demo:cp": "cp src/demo/index.html dist",
22-
"demo": "run-s demo:build demo:cp"
17+
"build": "pnpm lint && pnpm test && pnpm clean && pnpm /^build:/",
18+
"demo:dev": "vite --config vite.config.ts --mode demo",
19+
"demo:build": "vite build --mode demo",
20+
"demo:cp": "cp src/demo/index.html dist/index.iife.js dist/demo",
21+
"demo": "pnpm build && pnpm demo:build && pnpm demo:cp"
2322
},
24-
"unpkg": "dist/index.js",
25-
"jsdelivr": "dist/index.js",
23+
"unpkg": "dist/index.iife.js",
24+
"jsdelivr": "dist/index.iife.js",
2625
"repository": "[email protected]:violentmonkey/vm-shortcut.git",
2726
"nyc": {
2827
"include": [
@@ -33,26 +32,24 @@
3332
"access": "public",
3433
"registry": "https://registry.npmjs.org/"
3534
},
36-
"main": "dist/index.js",
37-
"module": "dist/index.mjs",
35+
"main": "dist/index.iife.js",
36+
"module": "dist/index.js",
3837
"files": [
39-
"dist",
40-
"types"
38+
"dist"
4139
],
42-
"typings": "types/index.d.ts",
43-
"dependencies": {
44-
"@babel/runtime": "^7.24.0"
45-
},
40+
"typings": "dist/index.d.ts",
4641
"devDependencies": {
47-
"@gera2ld/plaid": "~2.7.0",
48-
"@gera2ld/plaid-rollup": "~2.7.0",
49-
"@gera2ld/plaid-test": "~2.6.0",
50-
"del-cli": "^5.1.0",
51-
"husky": "^9.0.11",
52-
"jest-environment-jsdom": "^29.7.0",
53-
"vue": "^3.4.21"
54-
},
55-
"jest": {
56-
"testEnvironment": "jsdom"
42+
"@eslint/js": "^9.39.2",
43+
"del-cli": "^7.0.0",
44+
"eslint": "^9.39.2",
45+
"eslint-config-prettier": "^10.1.8",
46+
"globals": "^17.0.0",
47+
"husky": "^9.1.7",
48+
"prettier": "^3.7.4",
49+
"typescript": "^5.9.3",
50+
"typescript-eslint": "^8.51.0",
51+
"vite": "^7.3.0",
52+
"vitest": "^4.0.16",
53+
"vue": "^3.5.26"
5754
}
5855
}

0 commit comments

Comments
 (0)