27 lines
831 B
TypeScript
27 lines
831 B
TypeScript
import { x } from 'tinyexec'
|
|
import { describe, expect, it } from 'vitest'
|
|
import { getPackageExportsManifest } from 'vitest-package-exports'
|
|
import yaml from 'yaml'
|
|
|
|
// TODO: remove this when you are ready for the first release
|
|
const IS_READY = false
|
|
|
|
describe.runIf(IS_READY)('exports-snapshot', async () => {
|
|
const packages: { name: string, path: string, private?: boolean }[] = JSON.parse(
|
|
await x('pnpm', ['ls', '--only-projects', '-r', '--json']).then(r => r.stdout),
|
|
)
|
|
|
|
for (const pkg of packages) {
|
|
if (pkg.private)
|
|
continue
|
|
it(`${pkg.name}`, async () => {
|
|
const manifest = await getPackageExportsManifest({
|
|
importMode: 'src',
|
|
cwd: pkg.path,
|
|
})
|
|
await expect(yaml.stringify(manifest.exports))
|
|
.toMatchFileSnapshot(`./exports/${pkg.name}.yaml`)
|
|
})
|
|
}
|
|
})
|