Skip to content

Commit eaaca54

Browse files
authored
Merge pull request #274 from gadget-inc/depfu/update/yarn/vite-2.7.12
Update vite: 2.3.4 → 2.7.12 (minor)
2 parents a657781 + 08eb606 commit eaaca54

File tree

9 files changed

+171
-82
lines changed

9 files changed

+171
-82
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,5 @@ jspm_packages/
4444
BUILD_SHA
4545

4646
tsconfig.tsbuildinfo
47+
48+
dist/

packages/fastify-renderer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"path-to-regexp": "^6.2.0",
6666
"sanitize-filename": "^1.6.3",
6767
"stream-template": "^0.0.10",
68-
"vite": "^2.2.2",
68+
"vite": "^2.7.12",
6969
"wouter": "^2.7.5"
7070
},
7171
"peerDependencies": {

packages/fastify-renderer/src/node/index.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,15 @@ import fastifyStatic from 'fastify-static'
66
import { promises as fs } from 'fs'
77
import 'middie'
88
import path from 'path'
9-
import { build as viteBuild, createServer, InlineConfig, resolveConfig, ResolvedConfig, ViteDevServer } from 'vite'
9+
import {
10+
build as viteBuild,
11+
createServer,
12+
InlineConfig,
13+
resolveConfig,
14+
ResolvedConfig,
15+
SSROptions,
16+
ViteDevServer,
17+
} from 'vite'
1018
import { DefaultDocumentTemplate } from './DocumentTemplate'
1119
import { FastifyRendererOptions, FastifyRendererPlugin } from './Plugin'
1220
import { PartialRenderOptions, Render, RenderableRoute, RenderOptions } from './renderers/Renderer'
@@ -19,7 +27,7 @@ import { mapFilepathToEntrypointName } from './utils'
1927
declare module 'fastify' {
2028
interface FastifyInstance {
2129
[kRendererPlugin]: FastifyRendererPlugin
22-
[kRendererViteOptions]: InlineConfig
30+
[kRendererViteOptions]: InlineConfig & { ssr?: SSROptions }
2331
[kRenderOptions]: RenderOptions
2432
setRenderConfig(options: PartialRenderOptions): void
2533
}
@@ -136,6 +144,9 @@ const FastifyRenderer = fp<FastifyRendererOptions>(
136144
middlewareMode: true,
137145
...plugin.vite?.server,
138146
},
147+
ssr: {
148+
noExternal: ['fastify-renderer'],
149+
},
139150
}
140151

141152
let config: ResolvedConfig
@@ -152,9 +163,8 @@ const FastifyRenderer = fp<FastifyRendererOptions>(
152163
await plugin.renderer.prepare(plugin.routes, config, devServer)
153164
})
154165

155-
fastify.addHook('onClose', async (_, done) => {
166+
fastify.addHook('onClose', async () => {
156167
await devServer?.close()
157-
done()
158168
})
159169
},
160170
{
@@ -181,7 +191,6 @@ export const build = async (fastify: FastifyInstance) => {
181191
const entrypointName = mapFilepathToEntrypointName(renderableRoute.renderable, renderableRoute.base)
182192
clientEntrypoints[entrypointName] = plugin.renderer.buildVirtualClientEntrypointModuleID(renderableRoute)
183193
serverEntrypoints[entrypointName] = plugin.renderer.buildVirtualServerEntrypointModuleID(renderableRoute)
184-
serverEntrypoints[mapFilepathToEntrypointName(renderableRoute.layout)] = renderableRoute.layout
185194
}
186195

187196
const vite = fastify[kRendererViteOptions]

packages/fastify-renderer/src/node/renderers/react/ReactRenderer.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,6 @@ export class ReactRenderer implements Renderer {
285285

286286
return `
287287
// client side hydration entrypoint for a particular route generated by fastify-renderer
288-
import 'vite/dynamic-import-polyfill'
289288
import React from 'react'
290289
import ReactDOM from 'react-dom'
291290
import { routes } from ${JSON.stringify(ReactRenderer.ROUTE_TABLE_ID + '?' + querystring.stringify({ base }))}

packages/fastify-renderer/test/FastifyRenderer.spec.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,6 @@ describe('FastifyRenderer', () => {
7272
expect(closeSpy).toHaveBeenCalled()
7373
})
7474

75-
test('should prepare routes', async () => {
76-
const server = await newFastify()
77-
const prepareSpy = jest.spyOn(ReactRenderer.prototype, 'prepare')
78-
79-
await server.register(FastifyRenderer)
80-
await server.listen(0)
81-
await server.close()
82-
83-
expect(prepareSpy).toHaveBeenCalled()
84-
})
85-
8675
test('should do nothing if the registered route is not renderable', async () => {
8776
const server = await newFastify()
8877
const registerRouteSpy = jest.spyOn(FastifyRendererPlugin.prototype, 'registerRoute')

packages/fastify-renderer/test/Plugin.spec.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ import path from 'path'
33
import { DefaultDocumentTemplate } from '../src/node/DocumentTemplate'
44
import { FastifyRendererOptions } from '../src/node/Plugin'
55
import { RenderBus } from '../src/node/RenderBus'
6-
// import * as ReactRendererModule from '../src/node/renderers/react/ReactRenderer';
76
import { ReactRenderer } from '../src/node/renderers/react/ReactRenderer'
87
import { RenderableRoute } from '../src/node/renderers/Renderer'
98
import { newFastifyRendererPlugin } from './helpers'
109

11-
jest.mock('fs')
10+
jest.mock('fs', () => ({
11+
...jest.requireActual('fs'), // import and retain the original functionalities
12+
readFileSync: jest.fn().mockImplementation(() => '{ "test": "value" }'),
13+
}))
1214
jest.mock('../src/node/renderers/react/ReactRenderer')
1315

1416
describe('FastifyRendererPlugin', () => {
1517
beforeEach(() => {
1618
jest.clearAllMocks()
17-
fs.readFileSync = jest.fn().mockImplementation(() => '{ "test": "value" }')
1819
})
1920

2021
test('should create a new instance with default options', async () => {
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { build } from '../../../fastify-renderer/src/node'
2+
import { server as getServer } from '../server'
3+
4+
describe('simple-react building assets', () => {
5+
test('can run the build', async () => {
6+
const server = await getServer()
7+
await server.ready()
8+
await build(server)
9+
})
10+
})

0 commit comments

Comments
 (0)