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