Skip to content

Commit

Permalink
Attempt at making bundle size increase smaller
Browse files Browse the repository at this point in the history
  • Loading branch information
bragle committed Dec 8, 2020
1 parent bf337c2 commit 04d5126
Showing 1 changed file with 26 additions and 18 deletions.
44 changes: 26 additions & 18 deletions packages/next/next-server/lib/router/router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ import resolveRewrites from './utils/resolve-rewrites'
import { getRouteMatcher } from './utils/route-matcher'
import { getRouteRegex } from './utils/route-regex'

interface RouteProperties {
shallow: boolean
}

interface TransitionOptions {
shallow?: boolean
locale?: string | false
Expand Down Expand Up @@ -656,9 +660,10 @@ export default class Router implements BaseRouter {
}

const { shallow = false } = options
const routeProps = { shallow }

if (this._inFlightRoute) {
this.abortComponentLoad(this._inFlightRoute, shallow)
this.abortComponentLoad(this._inFlightRoute, routeProps)
}

as = addBasePath(
Expand All @@ -682,12 +687,12 @@ export default class Router implements BaseRouter {
// any time without notice.
if (!(options as any)._h && this.onlyAHashChange(cleanedAs)) {
this.asPath = cleanedAs
Router.events.emit('hashChangeStart', as, { shallow })
Router.events.emit('hashChangeStart', as, routeProps)
// TODO: do we need the resolved href when only a hash change?
this.changeState(method, url, as, options)
this.scrollToHash(cleanedAs)
this.notify(this.components[this.route])
Router.events.emit('hashChangeComplete', as, { shallow })
Router.events.emit('hashChangeComplete', as, routeProps)
return true
}

Expand Down Expand Up @@ -824,15 +829,15 @@ export default class Router implements BaseRouter {
}
}

Router.events.emit('routeChangeStart', as, { shallow })
Router.events.emit('routeChangeStart', as, routeProps)

try {
const routeInfo = await this.getRouteInfo(
route,
pathname,
query,
as,
shallow
routeProps
)
let { error, props, __N_SSG, __N_SSP } = routeInfo

Expand Down Expand Up @@ -866,7 +871,7 @@ export default class Router implements BaseRouter {
return new Promise(() => {})
}

Router.events.emit('beforeHistoryChange', as, { shallow })
Router.events.emit('beforeHistoryChange', as, routeProps)
this.changeState(method, url, as, options)

if (process.env.NODE_ENV !== 'production') {
Expand All @@ -884,7 +889,7 @@ export default class Router implements BaseRouter {
)

if (error) {
Router.events.emit('routeChangeError', error, cleanedAs, { shallow })
Router.events.emit('routeChangeError', error, cleanedAs, routeProps)
throw error
}

Expand All @@ -899,7 +904,7 @@ export default class Router implements BaseRouter {
document.documentElement.lang = this.locale
}
}
Router.events.emit('routeChangeComplete', as, { shallow })
Router.events.emit('routeChangeComplete', as, routeProps)

return true
} catch (err) {
Expand Down Expand Up @@ -951,7 +956,7 @@ export default class Router implements BaseRouter {
pathname: string,
query: ParsedUrlQuery,
as: string,
shallow: boolean,
routeProps: RouteProperties,
loadErrorFail?: boolean
): Promise<CompletePrivateRouteInfo> {
if (err.cancelled) {
Expand All @@ -960,7 +965,7 @@ export default class Router implements BaseRouter {
}

if (isAssetError(err) || loadErrorFail) {
Router.events.emit('routeChangeError', err, as, { shallow })
Router.events.emit('routeChangeError', err, as, routeProps)

// If we can't load the page it could be one of following reasons
// 1. Page doesn't exists
Expand Down Expand Up @@ -1037,7 +1042,7 @@ export default class Router implements BaseRouter {
pathname,
query,
as,
shallow,
routeProps,
true
)
}
Expand All @@ -1048,13 +1053,13 @@ export default class Router implements BaseRouter {
pathname: string,
query: any,
as: string,
shallow: boolean = false
routeProps: RouteProperties
): Promise<PrivateRouteInfo> {
try {
const existingRouteInfo: PrivateRouteInfo | undefined = this.components[
route
]
if (shallow && existingRouteInfo && this.route === route) {
if (routeProps.shallow && existingRouteInfo && this.route === route) {
return existingRouteInfo
}

Expand Down Expand Up @@ -1113,7 +1118,7 @@ export default class Router implements BaseRouter {
this.components[route] = routeInfo
return routeInfo
} catch (err) {
return this.handleRouteInfoError(err, pathname, query, as, shallow)
return this.handleRouteInfoError(err, pathname, query, as, routeProps)
}
}

Expand Down Expand Up @@ -1358,11 +1363,14 @@ export default class Router implements BaseRouter {
})
}

abortComponentLoad(as: string, shallow: boolean): void {
abortComponentLoad(as: string, routeProps: RouteProperties): void {
if (this.clc) {
Router.events.emit('routeChangeError', buildCancellationError(), as, {
shallow,
})
Router.events.emit(
'routeChangeError',
buildCancellationError(),
as,
routeProps
)
this.clc()
this.clc = null
}
Expand Down

0 comments on commit 04d5126

Please sign in to comment.