Skip to content

Commit cd4903e

Browse files
committed
feat: conditionally export renderToStrings based on environment
1 parent b6a8a66 commit cd4903e

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

src/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@ import { DOMWrapper } from './domWrapper'
22
import { VueWrapper } from './vueWrapper'
33
import BaseWrapper from './baseWrapper'
44
import { mount, shallowMount } from './mount'
5-
import { renderToString } from './renderToString'
5+
import { renderToString as _renderToString } from './renderToString'
66
import { MountingOptions } from './types'
77
import { RouterLinkStub } from './components/RouterLinkStub'
88
import { createWrapperError } from './errorWrapper'
99
import { config } from './config'
1010
import { flushPromises } from './utils/flushPromises'
1111
import { enableAutoUnmount, disableAutoUnmount } from './utils/autoUnmount'
1212

13+
// is __SSR__ avaialble? If so, preferable to use that?
14+
const isNode = typeof window === 'undefined'
15+
const renderToString = ( isNode ? _renderToString : null)
1316
export {
1417
mount,
1518
shallowMount,

tests/index.jsdom.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// @vitest-environment jsdom
2+
import { describe, expect, it } from 'vitest'
3+
4+
import * as exports from '../src/index'
5+
describe('index.js exports', () => {
6+
it('in a browser environment renderToString should not be exported', () => {
7+
// data type of null is object
8+
expect(typeof exports.renderToString).toEqual('object');
9+
});
10+
})

tests/index.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// @vitest-environment node
2+
import { describe, expect, it } from 'vitest'
3+
4+
import * as exports from '../src/index'
5+
describe('index.js exports', () => {
6+
it('in a node environment renderToString should be exported', () => {
7+
expect(typeof exports.renderToString).toEqual('function');
8+
});
9+
})

0 commit comments

Comments
 (0)