Skip to content

Commit

Permalink
Clean up eventsource initialization
Browse files Browse the repository at this point in the history
Just cleans up some code, doesn't change the underlying mechanism
  • Loading branch information
timneutkens committed Apr 13, 2021
1 parent 9a548b6 commit 48b9e15
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 21 deletions.
6 changes: 2 additions & 4 deletions packages/next/client/dev/amp-dev.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* globals __webpack_hash__ */
import EventSourcePolyfill from './event-source-polyfill'
import { getEventSourceWrapper } from './error-overlay/eventsource'
import { addMessageListener } from './error-overlay/eventsource'
import { setupPing } from './on-demand-entries-utils'
import { displayContent } from './fouc'

Expand Down Expand Up @@ -68,9 +68,7 @@ async function tryApplyUpdates() {
}
}

getEventSourceWrapper({
path: `${assetPrefix}/_next/webpack-hmr`,
}).addMessageListener((event) => {
addMessageListener((event) => {
if (event.data === '\uD83D\uDC93') {
return
}
Expand Down
6 changes: 3 additions & 3 deletions packages/next/client/dev/dev-build-watcher.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getEventSourceWrapper } from './error-overlay/eventsource'
import { addMessageListener } from './error-overlay/eventsource'

export default function initializeBuildWatcher(toggleCallback) {
const shadowHost = document.createElement('div')
Expand Down Expand Up @@ -39,8 +39,8 @@ export default function initializeBuildWatcher(toggleCallback) {
let timeoutId = null

// Handle events
const evtSource = getEventSourceWrapper({ path: '/_next/webpack-hmr' })
evtSource.addMessageListener((event) => {

addMessageListener((event) => {
// This is the heartbeat event
if (event.data === '\uD83D\uDC93') {
return
Expand Down
4 changes: 4 additions & 0 deletions packages/next/client/dev/error-overlay/eventsource.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ function EventSourceWrapper(options) {
}
}

export function addMessageListener(cb) {
eventCallbacks.push(cb)
}

export function getEventSourceWrapper(options) {
if (!options.ondemand) {
return {
Expand Down
6 changes: 3 additions & 3 deletions packages/next/client/dev/error-overlay/hot-dev-client.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

import * as DevOverlay from '@next/react-dev-overlay/lib/client'
import stripAnsi from 'next/dist/compiled/strip-ansi'
import { getEventSourceWrapper } from './eventsource'
import { addMessageListener } from './eventsource'
import formatWebpackMessages from './format-webpack-messages'

// This alternative WebpackDevServer combines the functionality of:
Expand All @@ -42,10 +42,10 @@ import formatWebpackMessages from './format-webpack-messages'

let hadRuntimeError = false
let customHmrEventHandler
export default function connect(options) {
export default function connect() {
DevOverlay.register()

getEventSourceWrapper(options).addMessageListener((event) => {
addMessageListener((event) => {
// This is the heartbeat event
if (event.data === '\uD83D\uDC93') {
return
Expand Down
6 changes: 4 additions & 2 deletions packages/next/client/dev/on-demand-entries-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ export function setupPing(assetPrefix, pathnameFn, retry) {
// close current EventSource connection
closePing()

const url = `${assetPrefix}/_next/webpack-hmr?page=${currentPage}`
evtSource = getEventSourceWrapper({ path: url, timeout: 5000, ondemand: 1 })
evtSource = getEventSourceWrapper({
path: `${assetPrefix}/_next/webpack-hmr?page=${currentPage}`,
timeout: 5000,
})

evtSource.addMessageListener((event) => {
if (event.data.indexOf('{') === -1) return
Expand Down
8 changes: 2 additions & 6 deletions packages/next/client/dev/webpack-hot-middleware-client.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import connect from './error-overlay/hot-dev-client'

export default ({ assetPrefix }) => {
const options = {
path: `${assetPrefix}/_next/webpack-hmr`,
}

const devClient = connect(options)
export default () => {
const devClient = connect()

devClient.subscribeToHmrEvent((obj) => {
if (obj.action === 'reloadPage') {
Expand Down
6 changes: 3 additions & 3 deletions packages/next/client/next-dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import initOnDemandEntries from './dev/on-demand-entries-client'
import initWebpackHMR from './dev/webpack-hot-middleware-client'
import initializeBuildWatcher from './dev/dev-build-watcher'
import { displayContent } from './dev/fouc'
import { getEventSourceWrapper } from './dev/error-overlay/eventsource'
import { addMessageListener } from './dev/error-overlay/eventsource'
import * as querystring from '../next-server/lib/router/utils/querystring'

// Temporary workaround for the issue described here:
Expand All @@ -25,7 +25,7 @@ const {
} = window

const prefix = assetPrefix || ''
const webpackHMR = initWebpackHMR({ assetPrefix: prefix })
const webpackHMR = initWebpackHMR()

window.next = next
initNext({ webpackHMR })
Expand Down Expand Up @@ -72,7 +72,7 @@ initNext({ webpackHMR })
}
}
devPagesManifestListener.unfiltered = true
getEventSourceWrapper({}).addMessageListener(devPagesManifestListener)
addMessageListener(devPagesManifestListener)

if (process.env.__NEXT_BUILD_INDICATOR) {
initializeBuildWatcher((handler) => {
Expand Down

0 comments on commit 48b9e15

Please sign in to comment.