Skip to content

Commit 745fcd6

Browse files
committed
directMode -> runInNewContext
1 parent 086ae44 commit 745fcd6

File tree

5 files changed

+26
-23
lines changed

5 files changed

+26
-23
lines changed

src/server/bundle-renderer/create-bundle-renderer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export function createBundleRendererCreator (createRenderer: () => Renderer) {
3434
) {
3535
let files, entry, maps
3636
let basedir = rendererOptions.basedir
37-
const direct = rendererOptions.directMode
37+
const runInNewContext = rendererOptions.runInNewContext !== false
3838

3939
// load bundle if given filepath
4040
if (
@@ -76,7 +76,7 @@ export function createBundleRendererCreator (createRenderer: () => Renderer) {
7676

7777
const renderer = createRenderer(rendererOptions)
7878

79-
const run = createBundleRunner(entry, files, basedir, direct)
79+
const run = createBundleRunner(entry, files, basedir, runInNewContext)
8080

8181
return {
8282
renderToString: (context?: Object, cb: (err: ?Error, res: ?string) => void) => {

src/server/bundle-renderer/create-bundle-runner.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ function deepClone (val) {
8686
}
8787
}
8888

89-
export function createBundleRunner (entry, files, basedir, direct) {
89+
export function createBundleRunner (entry, files, basedir, runInNewContext) {
9090
const evaluate = compileModule(files, basedir)
91-
if (!direct) {
92-
// default mode: creates a fresh context and re-evaluate the bundle
91+
if (runInNewContext) {
92+
// new context mode: creates a fresh context and re-evaluate the bundle
9393
// on each render. Ensures entire application state is fresh for each
9494
// render, but incurs extra evaluation cost.
9595
return (userContext = {}) => new Promise(resolve => {
@@ -109,7 +109,10 @@ export function createBundleRunner (entry, files, basedir, direct) {
109109
if (!runner) {
110110
runner = evaluate(entry, sharedContext)
111111
if (typeof runner !== 'function') {
112-
throw new Error('direct mode expects bundle export to be a function.')
112+
throw new Error(
113+
'bundle export should be a function when using ' +
114+
'{ runInNewContext: false }.'
115+
)
113116
}
114117
}
115118
sharedContext.__VUE_SSR_CONTEXT__ = userContext

src/server/create-renderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ export type RenderOptions = {
2424
cache?: RenderCache;
2525
template?: string;
2626
basedir?: string;
27-
directMode?: boolean;
2827
shouldPreload?: Function;
2928
clientManifest?: ClientManifest;
29+
runInNewContext?: boolean;
3030
};
3131

3232
export function createRenderer ({

test/ssr/ssr-bundle-render.spec.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ describe('SSR: bundle renderer', () => {
3737
createAssertions(false)
3838
})
3939

40-
function createAssertions (directMode) {
40+
function createAssertions (runInNewContext) {
4141
it('renderToString', done => {
42-
createRenderer('app.js', { directMode }, renderer => {
42+
createRenderer('app.js', { runInNewContext }, renderer => {
4343
const context = { url: '/test' }
4444
renderer.renderToString(context, (err, res) => {
4545
expect(err).toBeNull()
@@ -51,7 +51,7 @@ function createAssertions (directMode) {
5151
})
5252

5353
it('renderToStream', done => {
54-
createRenderer('app.js', { directMode }, renderer => {
54+
createRenderer('app.js', { runInNewContext }, renderer => {
5555
const context = { url: '/test' }
5656
const stream = renderer.renderToStream(context)
5757
let res = ''
@@ -67,7 +67,7 @@ function createAssertions (directMode) {
6767
})
6868

6969
it('renderToString catch error', done => {
70-
createRenderer('error.js', { directMode }, renderer => {
70+
createRenderer('error.js', { runInNewContext }, renderer => {
7171
renderer.renderToString(err => {
7272
expect(err.message).toBe('foo')
7373
done()
@@ -76,7 +76,7 @@ function createAssertions (directMode) {
7676
})
7777

7878
it('renderToStream catch error', done => {
79-
createRenderer('error.js', { directMode }, renderer => {
79+
createRenderer('error.js', { runInNewContext }, renderer => {
8080
const stream = renderer.renderToStream()
8181
stream.on('error', err => {
8282
expect(err.message).toBe('foo')
@@ -90,7 +90,7 @@ function createAssertions (directMode) {
9090
const get = jasmine.createSpy('get')
9191
const set = jasmine.createSpy('set')
9292
const options = {
93-
directMode,
93+
runInNewContext,
9494
cache: {
9595
// async
9696
get: (key, cb) => {
@@ -133,7 +133,7 @@ function createAssertions (directMode) {
133133
const get = jasmine.createSpy('get')
134134
const set = jasmine.createSpy('set')
135135
const options = {
136-
directMode,
136+
runInNewContext,
137137
cache: {
138138
// async
139139
has: (key, cb) => {
@@ -181,7 +181,7 @@ function createAssertions (directMode) {
181181
spyOn(cache, 'set').and.callThrough()
182182
const options = {
183183
cache,
184-
directMode
184+
runInNewContext
185185
}
186186
createRenderer('nested-cache.js', options, renderer => {
187187
const expected = '<div data-server-rendered="true">/test</div>'
@@ -213,7 +213,7 @@ function createAssertions (directMode) {
213213
})
214214

215215
it('renderToString (bundle format with code split)', done => {
216-
createRenderer('split.js', { directMode, asBundle: true }, renderer => {
216+
createRenderer('split.js', { runInNewContext, asBundle: true }, renderer => {
217217
const context = { url: '/test' }
218218
renderer.renderToString(context, (err, res) => {
219219
expect(err).toBeNull()
@@ -224,7 +224,7 @@ function createAssertions (directMode) {
224224
})
225225

226226
it('renderToStream (bundle format with code split)', done => {
227-
createRenderer('split.js', { directMode, asBundle: true }, renderer => {
227+
createRenderer('split.js', { runInNewContext, asBundle: true }, renderer => {
228228
const context = { url: '/test' }
229229
const stream = renderer.renderToStream(context)
230230
let res = ''
@@ -239,7 +239,7 @@ function createAssertions (directMode) {
239239
})
240240

241241
it('renderToString catch error (bundle format with source map)', done => {
242-
createRenderer('error.js', { directMode, asBundle: true }, renderer => {
242+
createRenderer('error.js', { runInNewContext, asBundle: true }, renderer => {
243243
renderer.renderToString(err => {
244244
expect(err.stack).toContain('test/ssr/fixtures/error.js:1:6')
245245
expect(err.message).toBe('foo')
@@ -249,7 +249,7 @@ function createAssertions (directMode) {
249249
})
250250

251251
it('renderToString catch error (bundle format with source map)', done => {
252-
createRenderer('error.js', { directMode, asBundle: true }, renderer => {
252+
createRenderer('error.js', { runInNewContext, asBundle: true }, renderer => {
253253
const stream = renderer.renderToStream()
254254
stream.on('error', err => {
255255
expect(err.stack).toContain('test/ssr/fixtures/error.js:1:6')

test/ssr/ssr-template.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,9 @@ describe('SSR: template option', () => {
172172
createClientManifestAssertions(true)
173173
createClientManifestAssertions(false)
174174

175-
function createClientManifestAssertions (directMode) {
175+
function createClientManifestAssertions (runInNewContext) {
176176
it('bundleRenderer + renderToString + clientManifest', done => {
177-
createRendererWithManifest('split.js', { directMode }, renderer => {
177+
createRendererWithManifest('split.js', { runInNewContext }, renderer => {
178178
renderer.renderToString({}, (err, res) => {
179179
expect(err).toBeNull()
180180
expect(res).toContain(expectedHTMLWithManifest(false))
@@ -185,7 +185,7 @@ describe('SSR: template option', () => {
185185

186186
it('bundleRenderer + renderToStream + clientManifest + shouldPreload', done => {
187187
createRendererWithManifest('split.js', {
188-
directMode,
188+
runInNewContext,
189189
shouldPreload: (file, type) => {
190190
if (type === 'image' || type === 'script' || type === 'font') {
191191
return true
@@ -206,7 +206,7 @@ describe('SSR: template option', () => {
206206

207207
it('bundleRenderer + renderToString + clientManifest + no template', done => {
208208
createRendererWithManifest('split.js', {
209-
directMode,
209+
runInNewContext,
210210
template: null
211211
}, renderer => {
212212
const context = {}

0 commit comments

Comments
 (0)