From 0024366d8870b4ba60ac3068187eea3b82ae9eab Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Sun, 11 Jan 2026 04:43:50 +0800 Subject: [PATCH] chore(ci): added pnpm util, fix macos merge issue --- apps/stage-tamagotchi/package.json | 1 + .../scripts/merge-latest-mac.ts | 16 +++++--- pnpm-lock.yaml | 38 +++++++++++++++++-- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/apps/stage-tamagotchi/package.json b/apps/stage-tamagotchi/package.json index a180c8404..ab1788486 100644 --- a/apps/stage-tamagotchi/package.json +++ b/apps/stage-tamagotchi/package.json @@ -140,6 +140,7 @@ "@iconify-json/vscode-icons": "^1.2.37", "@iconify/utils": "^3.1.0", "@intlify/unplugin-vue-i18n": "^11.0.1", + "@pnpm/find-workspace-dir": "^7.0.3", "@proj-airi/iconify-meteocons": "catalog:", "@proj-airi/lobe-icons": "^1.0.18", "@proj-airi/stage-shared": "workspace:^", diff --git a/apps/stage-tamagotchi/scripts/merge-latest-mac.ts b/apps/stage-tamagotchi/scripts/merge-latest-mac.ts index c1f69c075..486d9d032 100644 --- a/apps/stage-tamagotchi/scripts/merge-latest-mac.ts +++ b/apps/stage-tamagotchi/scripts/merge-latest-mac.ts @@ -3,6 +3,7 @@ import { mkdir, readFile, writeFile } from 'node:fs/promises' import { dirname, resolve } from 'node:path' import { cwd, exit } from 'node:process' +import { findWorkspaceDir } from '@pnpm/find-workspace-dir' import { cac } from 'cac' import * as yaml from 'yaml' @@ -129,22 +130,27 @@ async function main() { const dir = String(args.options.dir || '').trim() let files: string[] = [] + const workspaceRoot = await findWorkspaceDir(cwd()) || cwd() if (inputs.length > 0) { for (const input of inputs) { const resolved = resolve(input) - if (!existsSync(resolved)) { + const fallback = resolve(workspaceRoot, input) + const target = existsSync(resolved) ? resolved : fallback + if (!existsSync(target)) { continue } - if (statSync(resolved).isDirectory()) { - files.push(...collectLatestMacFiles(resolved)) + if (statSync(target).isDirectory()) { + files.push(...collectLatestMacFiles(target)) } else { - files.push(resolved) + files.push(target) } } } else { - const scanDir = dir || resolve('bundle') + const scanDir = dir + ? (existsSync(resolve(dir)) ? resolve(dir) : resolve(workspaceRoot, dir)) + : resolve('bundle') files = collectLatestMacFiles(scanDir) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6091c8422..f60970927 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1122,6 +1122,9 @@ importers: '@intlify/unplugin-vue-i18n': specifier: ^11.0.1 version: 11.0.3(@vue/compiler-dom@3.5.26)(eslint@9.39.2(jiti@2.6.1))(rollup@4.54.0)(typescript@5.9.3)(vue-i18n@11.2.7(vue@3.5.25(typescript@5.9.3)))(vue@3.5.25(typescript@5.9.3)) + '@pnpm/find-workspace-dir': + specifier: ^7.0.3 + version: 7.0.3 '@proj-airi/iconify-meteocons': specifier: 'catalog:' version: 0.1.4 @@ -2919,7 +2922,7 @@ importers: version: 66.5.11 '@wxt-dev/module-vue': specifier: ^1.0.3 - version: 1.0.3(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))(wxt@0.20.13(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 1.0.3(vite@8.0.0-beta.5(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))(wxt@0.20.13(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) vue-tsc: specifier: ^3.1.8 version: 3.2.1(typescript@5.9.3) @@ -7279,6 +7282,18 @@ packages: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} + '@pnpm/constants@10.0.0': + resolution: {integrity: sha512-dxIXcW1F1dxIGfye2JXE7Q8WVwYB0axVzdBOkvE1WKIVR4xjB8e6k/Dkjo7DpbyfW5Vu2k21p6dyM32YLSAWoQ==} + engines: {node: '>=18.12'} + + '@pnpm/error@6.0.3': + resolution: {integrity: sha512-OIYhG7HQh4zUFh2s8/6bp7glVRjNxms7bpzXVOLV7pyRa+rSYFmqJ8zDsBC64k58nuaxS85Ip+SCDjFxsFGeOg==} + engines: {node: '>=18.12'} + + '@pnpm/find-workspace-dir@7.0.3': + resolution: {integrity: sha512-eGjkyHSufkHyZ66WpygWnslcRePB0U1lJg1dF3rgWqTChpregYoDyNGDzK7l9Gk+CHVgGZZS5aWp7uKKVmAAEg==} + engines: {node: '>=18.12'} + '@pnpm/network.ca-file@1.0.2': resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} @@ -21010,6 +21025,17 @@ snapshots: '@pnpm/config.env-replace@1.1.0': {} + '@pnpm/constants@10.0.0': {} + + '@pnpm/error@6.0.3': + dependencies: + '@pnpm/constants': 10.0.0 + + '@pnpm/find-workspace-dir@7.0.3': + dependencies: + '@pnpm/error': 6.0.3 + find-up: 5.0.0 + '@pnpm/network.ca-file@1.0.2': dependencies: graceful-fs: 4.2.10 @@ -22366,6 +22392,12 @@ snapshots: vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.25(typescript@5.9.3) + '@vitejs/plugin-vue@6.0.3(vite@8.0.0-beta.5(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))': + dependencies: + '@rolldown/pluginutils': 1.0.0-beta.53 + vite: 8.0.0-beta.5(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) + vue: 3.5.25(typescript@5.9.3) + '@vitest/browser-playwright@4.0.16(bufferutil@4.1.0)(playwright@1.57.0)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.16)': dependencies: '@vitest/browser': 4.0.16(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.16) @@ -23112,9 +23144,9 @@ snapshots: '@types/filesystem': 0.0.36 '@types/har-format': 1.2.16 - '@wxt-dev/module-vue@1.0.3(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))(wxt@0.20.13(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))': + '@wxt-dev/module-vue@1.0.3(vite@8.0.0-beta.5(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))(wxt@0.20.13(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@vitejs/plugin-vue': 6.0.3(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) + '@vitejs/plugin-vue': 6.0.3(vite@8.0.0-beta.5(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) wxt: 0.20.13(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - vite