27 lines
875 B
JavaScript
27 lines
875 B
JavaScript
import test from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { mkdtemp, writeFile } from 'node:fs/promises'
|
|
import { join } from 'node:path'
|
|
import { tmpdir } from 'node:os'
|
|
import { loadConfig } from '../src/lib/config.js'
|
|
|
|
test('loadConfig supports ht.config.ts defineConfig shape', async () => {
|
|
const cwd = await mkdtemp(join(tmpdir(), 'ht-config-'))
|
|
await writeFile(join(cwd, 'ht.config.ts'), `
|
|
import { defineConfig } from 'html-transform'
|
|
export default defineConfig({
|
|
prototype: './proto',
|
|
output: './out',
|
|
plan: { interactiveReview: true }
|
|
})
|
|
`)
|
|
|
|
const config = await loadConfig(cwd)
|
|
|
|
assert.equal(config.prototypeDir, join(cwd, 'proto'))
|
|
assert.equal(config.outputDir, join(cwd, 'out'))
|
|
assert.equal(config.plan.interactiveReview, true)
|
|
assert.equal(config.project.qualityCommands.lint, 'pnpm lint')
|
|
})
|
|
|