UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

54 lines (44 loc) 1.43 kB
import { mkdirSync, mkdtempSync, rmSync, statSync, utimesSync, writeFileSync, } from 'node:fs' import { tmpdir } from 'node:os' import path from 'node:path' import { afterEach, describe, expect, it } from 'vitest' import { generateRouteTypes } from './generateRouteTypes' describe(generateRouteTypes, () => { const originalCwd = process.cwd() let tempRoot: string | undefined afterEach(() => { process.chdir(originalCwd) if (tempRoot) { rmSync(tempRoot, { recursive: true, force: true }) tempRoot = undefined } }) it('does not rewrite routes declarations when contents are unchanged', async () => { tempRoot = mkdtempSync(path.join(tmpdir(), 'one-routes-types-')) const appDir = path.join(tempRoot, 'app') mkdirSync(appDir) writeFileSync( path.join(appDir, 'index+ssg.tsx'), 'export default function Index() { return null }\n' ) writeFileSync( path.join(appDir, '[slug]+ssg.tsx'), 'export default function Slug() { return null }\n' ) process.chdir(tempRoot) const outFile = path.join('app', 'routes.d.ts') await generateRouteTypes(outFile, 'app') const oldDate = new Date('2001-01-01T00:00:00.000Z') utimesSync(outFile, oldDate, oldDate) const previousMtimeMs = statSync(outFile).mtimeMs await generateRouteTypes(outFile, 'app') expect(statSync(outFile).mtimeMs).toBe(previousMtimeMs) }) })