mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* ci: trim redundant tests and consolidate suite startup * ci: repair consolidated suite names and gate references
40 lines
1.7 KiB
JavaScript
40 lines
1.7 KiB
JavaScript
import { mkdtemp, mkdir, rm, writeFile } from 'node:fs/promises'
|
|
import { tmpdir } from 'node:os'
|
|
import { join } from 'node:path'
|
|
import { expect, it } from 'vitest'
|
|
import { mobileWebAppModuleClosure } from './build-mobile-web-app-bundle.mjs'
|
|
|
|
it('resolves local entry paths against the requested tree and selects browser siblings', async () => {
|
|
const root = await mkdtemp(join(tmpdir(), 'orca-route-entrypoints-'))
|
|
const modules = ['app/_layout', 'app/h/_layout', 'app/h/[hostId]/index']
|
|
const expected = [
|
|
'app/_layout.web.tsx',
|
|
'app/h/_layout.tsx',
|
|
'app/h/[hostId]/browser-dependency.ts',
|
|
'app/h/[hostId]/index.web.tsx'
|
|
].sort()
|
|
try {
|
|
await mkdir(join(root, 'app/h/[hostId]'), { recursive: true })
|
|
await writeFile(join(root, 'app/_layout.tsx'), "import 'native-only-layout'")
|
|
await writeFile(join(root, 'app/_layout.web.tsx'), 'export const layout = true')
|
|
await writeFile(join(root, 'app/h/_layout.tsx'), 'export const nestedLayout = true')
|
|
await writeFile(join(root, 'app/h/[hostId]/index.tsx'), "import 'native-only-package'")
|
|
await writeFile(join(root, 'app/h/[hostId]/index.web.tsx'), "import './browser-dependency'")
|
|
await writeFile(
|
|
join(root, 'app/h/[hostId]/browser-dependency.ts'),
|
|
'export const browser = true'
|
|
)
|
|
for (const entries of [
|
|
modules,
|
|
modules.map((entry) => `${entry}.tsx`),
|
|
modules.map((entry) => `./${entry}.tsx`),
|
|
modules.map((entry) => join(root, `${entry}.tsx`))
|
|
]) {
|
|
const { local } = await mobileWebAppModuleClosure(entries, { absWorkingDir: root })
|
|
expect(local.map((file) => file.replaceAll('\\', '/')).sort()).toEqual(expected)
|
|
}
|
|
} finally {
|
|
await rm(root, { recursive: true, force: true })
|
|
}
|
|
})
|