switch to bun + adopt e2e dependency stack
This commit is contained in:
9
.github/workflows/ipfs-release.yml
vendored
9
.github/workflows/ipfs-release.yml
vendored
@@ -16,11 +16,16 @@ jobs:
|
||||
with:
|
||||
node-version: "22"
|
||||
|
||||
- name: Install bun
|
||||
run: |
|
||||
curl -fsSL https://bun.sh/install | bash
|
||||
echo "$HOME/.bun/bin" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Build SPA
|
||||
run: npm run build-only
|
||||
run: bun run build-only
|
||||
|
||||
- name: Deploy via RSYNC
|
||||
uses: up9cloud/action-rsync@master
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -13,6 +13,7 @@ dist
|
||||
dist-ssr
|
||||
coverage
|
||||
*.local
|
||||
vendor/
|
||||
|
||||
/cypress/videos/
|
||||
/cypress/screenshots/
|
||||
|
||||
12
Dockerfile
12
Dockerfile
@@ -1,10 +1,10 @@
|
||||
FROM node:lts-alpine
|
||||
|
||||
FROM oven/bun:1.1-alpine
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json yarn.lock ./
|
||||
RUN yarn
|
||||
COPY ./ ./
|
||||
COPY package.json bun.lock ./
|
||||
COPY vendor ./vendor
|
||||
RUN bun install --frozen-lockfile
|
||||
COPY . .
|
||||
|
||||
EXPOSE 3000
|
||||
CMD ["yarn", "start"]
|
||||
CMD ["bun", "run", "start"]
|
||||
|
||||
@@ -5,7 +5,5 @@ services:
|
||||
container_name: p2pix_frontend
|
||||
build:
|
||||
context: .
|
||||
volumes:
|
||||
- '.:/app'
|
||||
ports:
|
||||
- '3000:3000'
|
||||
12285
package-lock.json
generated
12285
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
119
package.json
119
package.json
@@ -1,57 +1,88 @@
|
||||
{
|
||||
"name": "p2pix-front-end",
|
||||
"version": "1.2.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "vite --host=0.0.0.0 --port 3000",
|
||||
"build": "run-p type-check build-only",
|
||||
"build": "bun run type-check && bun run build-only",
|
||||
"preview": "vite preview",
|
||||
"serve": "vue-cli-service serve",
|
||||
"build-only": "vite build",
|
||||
"type-check": "vue-tsc --skipLibCheck --noEmit",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore --fix",
|
||||
"lint:fix": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "eslint . --fix",
|
||||
"format": "prettier --write \"src/**/*.{ts,vue,json}\"",
|
||||
"format:check": "prettier --check \"src/**/*.{ts,vue,json}\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@floating-ui/vue": "^0.2.1",
|
||||
"@headlessui/vue": "^1.7.3",
|
||||
"@heroicons/vue": "^2.0.12",
|
||||
"@vueuse/core": "^9.12.0",
|
||||
"@web3-onboard/injected-wallets": "^2.11.2",
|
||||
"@web3-onboard/vue": "^2.9.0",
|
||||
"alchemy-sdk": "^2.3.0",
|
||||
"axios": "^1.2.1",
|
||||
"marked": "^4.2.12",
|
||||
"qrcode": "^1.5.1",
|
||||
"viem": "^2.31.3",
|
||||
"vite-svg-loader": "^5.1.0",
|
||||
"vue": "^3.2.41",
|
||||
"vue-markdown": "^2.2.4",
|
||||
"vue-router": "^4.1.5"
|
||||
"@floating-ui/vue": "^1.1.11",
|
||||
"@graphql-typed-document-node/core": "^3.2.0",
|
||||
"@reown/appkit": "file:./vendor/reown-appkit/.pack/reown-appkit-1.8.19.tgz",
|
||||
"@reown/appkit-adapter-wagmi": "file:./vendor/reown-appkit/.pack/reown-appkit-adapter-wagmi-1.8.19.tgz",
|
||||
"@tanstack/query-core": "^5.100.8",
|
||||
"@tanstack/vue-query": "^5.100.8",
|
||||
"@urql/core": "^6.0.1",
|
||||
"@urql/vue": "^2.1.0",
|
||||
"@vueuse/core": "^14.3.0",
|
||||
"@wagmi/core": "^3.4.8",
|
||||
"@wagmi/vue": "^0.5.11",
|
||||
"graphql": "^16.13.2",
|
||||
"marked": "^18.0.3",
|
||||
"permissionless": "^0.2.57",
|
||||
"qrcode": "^1.5.4",
|
||||
"viem": "^2.48.8",
|
||||
"vite-svg-loader": "^5.1.1",
|
||||
"vue": "^3.5.33",
|
||||
"vue-router": "^5.0.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.20.2",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@rushstack/eslint-patch": "^1.1.4",
|
||||
"@types/crc": "^3.8.0",
|
||||
"@types/marked": "^4.0.8",
|
||||
"@types/node": "^16.11.68",
|
||||
"@types/qrcode": "^1.5.0",
|
||||
"@types/vue-markdown": "^2.2.1",
|
||||
"@vitejs/plugin-vue": "^3.1.2",
|
||||
"@vitejs/plugin-vue-jsx": "^2.0.1",
|
||||
"@vue/eslint-config-prettier": "^7.0.0",
|
||||
"@vue/eslint-config-typescript": "^11.0.0",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
"@wagmi/cli": "^2.3.1",
|
||||
"autoprefixer": "^10.4.12",
|
||||
"eslint": "^8.22.0",
|
||||
"eslint-plugin-vue": "^9.3.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"postcss": "^8.4.18",
|
||||
"prettier": "^2.7.1",
|
||||
"tailwindcss": "^3.2.1",
|
||||
"typescript": "~5.8.2",
|
||||
"vite": "^3.1.8",
|
||||
"vue-tsc": "^2.2.8"
|
||||
}
|
||||
"@axe-core/playwright": "^4.11.3",
|
||||
"@graphql-codegen/cli": "^7.0.0",
|
||||
"@graphql-codegen/client-preset": "^6.0.0",
|
||||
"@graphql-codegen/typed-document-node": "^7.0.0",
|
||||
"@graphql-codegen/typescript": "^6.0.0",
|
||||
"@graphql-codegen/typescript-operations": "^6.0.0",
|
||||
"@playwright/test": "^1.59.1",
|
||||
"@tailwindcss/vite": "^4.2.4",
|
||||
"@types/node": "^25.6.0",
|
||||
"@types/qrcode": "^1.5.6",
|
||||
"@vitejs/plugin-vue": "^6.0.6",
|
||||
"@vitejs/plugin-vue-jsx": "^5.1.5",
|
||||
"@vitest/coverage-v8": "^4.1.5",
|
||||
"@vue/eslint-config-prettier": "^10.2.0",
|
||||
"@vue/eslint-config-typescript": "^14.7.0",
|
||||
"@vue/test-utils": "^2.4.10",
|
||||
"@vue/tsconfig": "^0.9.1",
|
||||
"@wagmi/cli": "^2.10.0",
|
||||
"autoprefixer": "^10.5.0",
|
||||
"eslint": "^10.3.0",
|
||||
"eslint-plugin-vue": "^10.9.0",
|
||||
"happy-dom": "^20.9.0",
|
||||
"lighthouse": "^13.2.0",
|
||||
"playwright-lighthouse": "^4.0.0",
|
||||
"postcss": "^8.5.8",
|
||||
"prettier": "^3.5.3",
|
||||
"tailwindcss": "^4.2.4",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.0.10",
|
||||
"vitest": "^4.1.5",
|
||||
"vue-tsc": "^3.2.7"
|
||||
},
|
||||
"overrides": {
|
||||
"axios": "^1.15.2",
|
||||
"@reown/appkit": "file:./vendor/reown-appkit/.pack/reown-appkit-1.8.19.tgz",
|
||||
"@reown/appkit-adapter-wagmi": "file:./vendor/reown-appkit/.pack/reown-appkit-adapter-wagmi-1.8.19.tgz",
|
||||
"@reown/appkit-controllers": "file:./vendor/reown-appkit/.pack/reown-appkit-controllers-1.8.19.tgz",
|
||||
"@reown/appkit-scaffold-ui": "file:./vendor/reown-appkit/.pack/reown-appkit-scaffold-ui-1.8.19.tgz",
|
||||
"@reown/appkit-ui": "file:./vendor/reown-appkit/.pack/reown-appkit-ui-1.8.19.tgz",
|
||||
"@reown/appkit-common": "file:./vendor/reown-appkit/.pack/reown-appkit-common-1.8.19.tgz",
|
||||
"@reown/appkit-utils": "file:./vendor/reown-appkit/.pack/reown-appkit-utils-1.8.19.tgz",
|
||||
"@reown/appkit-wallet": "file:./vendor/reown-appkit/.pack/reown-appkit-wallet-1.8.19.tgz",
|
||||
"@reown/appkit-siwe": "file:./vendor/reown-appkit/.pack/reown-appkit-siwe-1.8.19.tgz",
|
||||
"@reown/appkit-siwx": "file:./vendor/reown-appkit/.pack/reown-appkit-siwx-1.8.19.tgz"
|
||||
},
|
||||
"trustedDependencies": [
|
||||
"@reown/appkit",
|
||||
"esbuild",
|
||||
"vue-demi"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user