Files
upstream-tiptap/packages/react/tests/integration/useClientBoundary.test.ts
upstream-mirror 083a46e93b
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
snapshot of https://github.com/ueberdosis/tiptap.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:11:02 +05:00

27 lines
912 B
TypeScript

/**
* @vitest-environment node
*/
import { readFileSync } from 'node:fs'
import { fileURLToPath } from 'node:url'
import { describe, expect, it } from 'vite-plus/test'
// The package boundary must stay a client module so it can be imported from
// React Server Components without evaluating the class components inside.
const entries = ['../../src/index.ts', '../../src/menus/index.ts']
describe('use client boundary', () => {
it.each(entries)('%s starts with the "use client" directive', entry => {
const path = fileURLToPath(new URL(entry, import.meta.url))
// The directive must be the very first statement (only a BOM may precede
// it), otherwise some RSC tooling ignores it. Do not trim leading blanks.
const firstLine = readFileSync(path, 'utf8')
.replace(/^\uFEFF/, '')
.split('\n')[0]
.trimEnd()
expect(firstLine).toMatch(/^(['"])use client\1;?$/)
})
})