From 68d9767bd845d51a0c1cad62319db630185d1439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Tue, 2 Jun 2026 15:43:16 +0800 Subject: [PATCH] =?UTF-8?q?ci/cd=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yml | 74 ++++++------------------------------- deploy.yaml | 44 ---------------------- k8s/deployment.yaml | 26 +++++++++++++ k8s/ingress.yaml | 20 ++++++++++ k8s/service.yaml | 15 ++++++++ package-lock.json | 61 ++++++------------------------ 6 files changed, 84 insertions(+), 156 deletions(-) delete mode 100644 deploy.yaml create mode 100644 k8s/deployment.yaml create mode 100644 k8s/ingress.yaml create mode 100644 k8s/service.yaml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index c8f3b73..b1a99ac 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,68 +1,18 @@ -name: 全局K3s部署 +name: 部署 admin-ui 到 K3s + on: push: - branches: [master] + branches: + - main + jobs: deploy: - # ========== 核心修复:替换为具体Ubuntu版本,解决运行期匹配问题 ========== - runs-on: ubuntu-24.04 - env: - # 从组织级Secrets读取,不用在仓库重复配置 - K3S_HOST: ${{ secrets.K3S_HOST }} - APP_NAME: ${{ gitea.repo_name }} - # 补充:若后续要推送镜像,需替换为实际镜像仓库地址(比如你的Gitea镜像仓库) - REGISTRY: 116.204.74.41:3000/red-future + runs-on: ubuntu-latest steps: - # ========== 核心:新增国内Git代理,彻底解决GitHub拉取慢 ========== - - name: 配置国内GitHub代理加速 + - name: 拉取代码 + uses: actions/checkout@v4 + + - name: 部署到 K3s run: | - # 全局Git代理:所有GitHub请求走国内镜像站 - git config --global url."https://ghproxy.com/https://github.com/".insteadOf "https://github.com/" - # 可选:替换Ubuntu源为清华源,加速依赖安装 - sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list - apt update -y - # ========== 核心修改:替换checkout源,避开GitHub ========== - - name: 拉取代码(Gitea官方源) - uses: gitea/actions/checkout@v4 - with: - fetch-depth: 0 # 可选:拉取完整历史,加速后续操作 - timeout-minutes: 10 # 增加超时,避免拉取中断 - - # 1. 初始化 Docker Buildx(原内容不变) - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - # 2. 可选:登录镜像仓库(若需推送镜像,取消注释并配置密钥) - # - name: Login to Gitea Registry - # uses: docker/login-action@v3 - # with: - # registry: 116.204.74.41:3000 - # username: ${{ secrets.GITEA_USER }} - # password: ${{ secrets.GITEA_PWD }} - - # 3. 构建+推送(原内容不变) - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - push: true - tags: ${{ env.REGISTRY }}/${{ env.APP_NAME }}:${{ gitea.sha }} - cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.APP_NAME }}:buildcache - cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.APP_NAME }}:buildcache,mode=max - - # 4. 修复后的SSH部署步骤(解决路径+命名空间问题) - - name: SSH部署K3s - run: | - mkdir -p ~/.ssh - echo "${{ secrets.K3S_PEM_KEY }}" > k3s.pem - chmod 600 k3s.pem - - # ========== 修正1:上传仓库根目录的deploy.yaml到K3s临时目录 ========== - scp -i k3s.pem -o StrictHostKeyChecking=no ./deploy.yaml root@${K3S_HOST}:/tmp/ - - # ========== 修正2:kubectl指向临时文件+补充命名空间 ========== - ssh -i k3s.pem -o StrictHostKeyChecking=no root@${K3S_HOST} << CMD - kubectl apply -f /tmp/deploy.yaml - kubectl rollout restart deployment ${APP_NAME} -n default - rm -f /tmp/deploy.yaml # 可选:清理临时文件 - CMD \ No newline at end of file + kubectl apply -f k8s/ + kubectl rollout restart deployment admin-ui \ No newline at end of file diff --git a/deploy.yaml b/deploy.yaml deleted file mode 100644 index 2f35ab8..0000000 --- a/deploy.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: ${APP_NAME} - namespace: default - labels: - app: ${APP_NAME} -spec: - replicas: 1 - selector: - matchLabels: - app: ${APP_NAME} - template: - metadata: - labels: - app: ${APP_NAME} - spec: - containers: - - name: ${APP_NAME} - image: ${REGISTRY}/${APP_NAME}:${gitea.sha} - imagePullPolicy: Always - ports: - - containerPort: 80 # 你的项目实际端口(比如前端80、后端8080) - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi ---- -apiVersion: v1 -kind: Service -metadata: - name: ${APP_NAME}-service - namespace: default -spec: - type: NodePort - selector: - app: ${APP_NAME} - ports: - - port: 80 - targetPort: 80 - nodePort: 30001 # 必须在30000-32767之间 \ No newline at end of file diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml new file mode 100644 index 0000000..e982d44 --- /dev/null +++ b/k8s/deployment.yaml @@ -0,0 +1,26 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: admin-ui + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + app: admin-ui + template: + metadata: + labels: + app: admin-ui + spec: + containers: + - name: admin-ui + image: 116.204.74.41:3000/red-future/admin-ui:latest + imagePullPolicy: Always + ports: + - containerPort: 80 + - containerPort: 443 + resources: + limits: + memory: "512Mi" + cpu: "500m" \ No newline at end of file diff --git a/k8s/ingress.yaml b/k8s/ingress.yaml new file mode 100644 index 0000000..e60005b --- /dev/null +++ b/k8s/ingress.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: admin-ui + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "true" + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + tls: + - secretName: admin-ui-tls + rules: + - http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: admin-ui + port: + number: 443 \ No newline at end of file diff --git a/k8s/service.yaml b/k8s/service.yaml new file mode 100644 index 0000000..1811a59 --- /dev/null +++ b/k8s/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: admin-ui +spec: + selector: + app: admin-ui + ports: + - name: http + port: 80 + targetPort: 80 + - name: https + port: 443 + targetPort: 443 + type: ClusterIP \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e8854d8..11575f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -927,7 +927,6 @@ "resolved": "https://registry.npmjs.org/@interactjs/core/-/core-1.10.27.tgz", "integrity": "sha512-SliUr/3ZbLAdED8LokzYzWHWMdCB5Cq+UnpXuRy+BIod1j97m4IUFf/D1iIKUBBjBcucgXbz28z96WnenVCB7Q==", "license": "MIT", - "peer": true, "peerDependencies": { "@interactjs/utils": "1.10.27" } @@ -998,7 +997,6 @@ "resolved": "https://registry.npmjs.org/@interactjs/modifiers/-/modifiers-1.10.27.tgz", "integrity": "sha512-ei/qfoQ+9/8k6WzNzdNqHI6cWkIV576N4Ap16r5CoqOWwhA6Xzj3OMHf1g0t1O4eSq2HdJsVJn3eLNfw9HsbeQ==", "license": "MIT", - "peer": true, "dependencies": { "@interactjs/snappers": "1.10.27" }, @@ -1065,8 +1063,7 @@ "version": "1.10.27", "resolved": "https://registry.npmjs.org/@interactjs/utils/-/utils-1.10.27.tgz", "integrity": "sha512-+qfLOio2OxQqg1cXSnRaCl+N8MQDQLDS9w+aOGxH8YLAhIMyt7Asxx/46//sT8orgsi16pmlBPtngPHT9s8zKw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@intlify/core-base": { "version": "11.1.2", @@ -1158,7 +1155,6 @@ "resolved": "https://registry.npmjs.org/@logicflow/core/-/core-2.2.1.tgz", "integrity": "sha512-VzLPrCrT4eXnOLjoGQ5v4GUSay3+6rd3YNZD0qOJw4vME5e4WjQ5fd+hKK2zlIzgdRI4D54dXiEFJrS6xdV6yQ==", "license": "Apache-2.0", - "peer": true, "dependencies": { "classnames": "^2.3.2", "lodash-es": "^4.17.21", @@ -1912,7 +1908,6 @@ "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/lodash": "*" } @@ -1923,7 +1918,6 @@ "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -1995,7 +1989,6 @@ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -2171,7 +2164,6 @@ "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", "license": "MIT", - "peer": true, "dependencies": { "@transloadit/prettier-bytes": "0.0.7", "@uppy/store-default": "^2.1.1", @@ -2203,7 +2195,6 @@ "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", "license": "MIT", - "peer": true, "dependencies": { "@uppy/companion-client": "^2.2.2", "@uppy/utils": "^4.1.2", @@ -2281,7 +2272,6 @@ "resolved": "https://registry.npmjs.org/@vue-flow/core/-/core-1.48.2.tgz", "integrity": "sha512-raxhgKWE+G/mcEvXJjGFUDYW9rAI3GOtiHR3ZkNpwBWuIaCC1EYiBmKGwJOoNzVFgwO7COgErnK7i08i287AFA==", "license": "MIT", - "peer": true, "dependencies": { "@vueuse/core": "^10.5.0", "d3-drag": "^3.0.0", @@ -2525,7 +2515,6 @@ "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", "license": "MIT", - "peer": true, "dependencies": { "is-url": "^1.2.4" }, @@ -2558,7 +2547,6 @@ "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.19.tgz", "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", "license": "MIT", - "peer": true, "dependencies": { "@types/event-emitter": "^0.3.3", "event-emitter": "^0.3.5", @@ -2677,7 +2665,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2933,7 +2920,6 @@ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz", "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", "license": "MIT", - "peer": true, "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/commands": "^6.0.0", @@ -3117,7 +3103,6 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -3257,7 +3242,6 @@ "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", "license": "MIT", - "peer": true, "dependencies": { "ssr-window": "^3.0.0-alpha.1" } @@ -3294,7 +3278,6 @@ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", "license": "Apache-2.0", - "peer": true, "dependencies": { "tslib": "2.3.0", "zrender": "5.6.1" @@ -3523,7 +3506,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4316,8 +4298,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/is-number": { "version": "7.0.0", @@ -4504,15 +4485,13 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash-unified": { "version": "1.0.3", @@ -4529,37 +4508,32 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash.foreach": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -4572,15 +4546,13 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash.toarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/magic-string": { "version": "0.30.21", @@ -4693,7 +4665,6 @@ "resolved": "https://registry.npmjs.org/mobx/-/mobx-5.15.7.tgz", "integrity": "sha512-wyM3FghTkhmC+hQjyPGGFdpehrcX1KOXsDuERhfK2YbJemkUhEB+6wzEN639T21onxlfYBmriA1PFnvxTUhcKw==", "license": "MIT", - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/mobx" @@ -4758,7 +4729,6 @@ } ], "license": "MIT", - "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -5045,7 +5015,6 @@ "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.2.tgz", "integrity": "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==", "license": "MIT", - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -5306,7 +5275,6 @@ "integrity": "sha512-N+7WK20/wOr7CzA2snJcUSSNTCzeCGUTFY3OgeQP3mZ1aj9NMQ0mSTXwlrnd89j33zzQJGqIN52GIOmYrfq46A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -5525,7 +5493,6 @@ "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", "license": "MIT", - "peer": true, "dependencies": { "immer": "^9.0.6", "is-plain-object": "^5.0.0", @@ -5549,7 +5516,6 @@ "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.6.3.tgz", "integrity": "sha512-W2lHLLw2qR2Vv0DcMmcxXqcfdBaIcoN+y/86SmHv8fn4DazEQSH6KN3TjZcWvwujW56OHiiirsbHWZb4vx/0fg==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.17.0" } @@ -5715,7 +5681,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -5793,7 +5758,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5863,7 +5827,6 @@ "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -6032,7 +5995,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -6052,7 +6014,6 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz", "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.25", "@vue/compiler-sfc": "3.5.25",