diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 500fea9dba..1439e8658f 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -48,7 +48,7 @@ jobs: - name: skeleton node-version: 22 command: | - pnpm run --filter="@skeletonlabs/*" --sequential build + pnpm run --filter="@skeletonlabs/*" --filter="!*skeleton.dev" --sequential build pnpm test steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/ecosystem-ci/patch-project.ts b/ecosystem-ci/patch-project.ts index 4a902ccc9b..cf662600a2 100644 --- a/ecosystem-ci/patch-project.ts +++ b/ecosystem-ci/patch-project.ts @@ -132,27 +132,40 @@ async function patchSkeleton() { // Patch pnpm-workspace.yaml const pnpmWorkspacePath = join(projectDir, 'skeleton', 'pnpm-workspace.yaml'); - const pnpmWorkspaceContent = fs + let pnpmWorkspaceContent = fs .readFileSync(pnpmWorkspacePath, 'utf8') .replace(`trustPolicy: no-downgrade`, '\n') .replace( /'@vitest\/browser-playwright': [\d.]+/, `'@vitest/browser-playwright': ${vitestVersion}`, ); - const appendContent = ` -minimumReleaseAgeExclude: - - '@voidzero-dev/*' - - '@vitest/*' - - oxlint - - oxfmt - - oxlint-tsgolint + // Add entries to existing minimumReleaseAgeExclude if it exists, otherwise append new section + const newExcludes = ["'@voidzero-dev/*'", "'@vitest/*'", 'oxlint', 'oxfmt', 'oxlint-tsgolint']; + if (pnpmWorkspaceContent.includes('minimumReleaseAgeExclude:')) { + // Find the minimumReleaseAgeExclude section and add new entries + pnpmWorkspaceContent = pnpmWorkspaceContent.replace( + /minimumReleaseAgeExclude:\n((?: - .+\n)+)/, + (_, existingEntries) => { + const newEntriesStr = newExcludes.map((e) => ` - ${e}\n`).join(''); + return `minimumReleaseAgeExclude:\n${existingEntries}${newEntriesStr}`; + }, + ); + } else { + pnpmWorkspaceContent += `\nminimumReleaseAgeExclude:\n${newExcludes.map((e) => ` - ${e}`).join('\n')}\n`; + } + + // Add peerDependencyRules if not present + if (!pnpmWorkspaceContent.includes('peerDependencyRules:')) { + pnpmWorkspaceContent += ` peerDependencyRules: allowAny: - vite - vitest `; - fs.writeFileSync(pnpmWorkspacePath, pnpmWorkspaceContent + appendContent); + } + + fs.writeFileSync(pnpmWorkspacePath, pnpmWorkspaceContent); // Update vite.config.ts files to import from vitest/browser-playwright instead of @vitest/browser-playwright // This is needed because pnpm overrides don't affect Node.js module resolution at config load time diff --git a/ecosystem-ci/repo.json b/ecosystem-ci/repo.json index 8ec5964641..86a4f0d29a 100644 --- a/ecosystem-ci/repo.json +++ b/ecosystem-ci/repo.json @@ -2,7 +2,7 @@ "skeleton": { "repository": "https://github.com/skeletonlabs/skeleton.git", "branch": "main", - "hash": "1d59e077dbf28d1931405864b06f06f9d3578903" + "hash": "6f613fe3326ed483885e4acc6f49e2044aa9ab79" }, "vibe-dashboard": { "repository": "https://github.com/voidzero-dev/vibe-dashboard.git",