snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
All checks were successful
Release / Create Version PR or Publish Stable Release (push) Has been skipped
Release / Publish Prerelease to NPM (push) Has been skipped
Monitor Registries / Monitor registry health (push) Has been skipped

This commit is contained in:
upstream-mirror
2026-09-15 22:44:43 +05:00
commit 1416db152c
5727 changed files with 630238 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
import { readdirSync, readFileSync } from "node:fs"
import { dirname, join, relative, resolve } from "node:path"
import { fileURLToPath } from "node:url"
import { describe, expect, it } from "vitest"
const registryDir = dirname(fileURLToPath(import.meta.url))
const appDir = resolve(registryDir, "..")
function findFiles(dir: string, fileName: string): string[] {
return readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
const path = join(dir, entry.name)
if (entry.isDirectory()) {
return findFiles(path, fileName)
}
return entry.name === fileName ? [path] : []
})
}
describe("calendar registry items", () => {
const sourceFiles = [
...findFiles(resolve(appDir, "registry/bases"), "calendar.tsx"),
...findFiles(resolve(appDir, "registry/new-york-v4"), "calendar.tsx"),
...findFiles(resolve(appDir, "styles"), "calendar.tsx"),
]
// Only the frozen legacy styles are checked here: they have no .tsx source
// and are maintained by editing the published JSON directly in git. All
// other styles are generated from the sources checked above.
const publicFiles = [
...findFiles(resolve(appDir, "public/r/styles/default"), "calendar.json"),
...findFiles(resolve(appDir, "public/r/styles/new-york"), "calendar.json"),
]
it.each(sourceFiles.map((file) => [relative(appDir, file), file]))(
"%s uses the react-day-picker v10 month_grid class key",
(_, file) => {
const source = readFileSync(file, "utf-8")
expect(source).not.toContain('table: "w-full border-collapse"')
expect(source).toContain(
'month_grid: cn("w-full border-collapse", defaultClassNames.month_grid)'
)
}
)
it.each(publicFiles.map((file) => [relative(appDir, file), file]))(
"%s publishes the react-day-picker v10 month_grid class key",
(_, file) => {
const source = readFileSync(file, "utf-8")
expect(source).not.toContain('table: \\"w-full border-collapse\\"')
expect(source).toContain(
'month_grid: cn(\\"w-full border-collapse\\", defaultClassNames.month_grid)'
)
}
)
})