1 | const createPreset = require('@healthline/six-million/babel').default
|
2 |
|
3 | const isJest = !!process.env.JEST_WORKER_ID
|
4 | const isServer = !!process.env.IS_SERVER || isJest
|
5 | exports.modernBrowsers = {
|
6 | ios: '11.3',
|
7 | chrome: '70',
|
8 | firefox: '60'
|
9 | }
|
10 |
|
11 | module.exports = (context, opts = {}) => {
|
12 | opts = {
|
13 | ...opts,
|
14 | modernBrowsers: require('./node/server/compile-targets').modernBrowsers
|
15 | }
|
16 | const preset = createPreset(context, opts)
|
17 | preset.plugins.push(
|
18 | [
|
19 | require.resolve('babel-plugin-module-resolver'),
|
20 | {
|
21 | alias: {
|
22 | 'next/client': isServer ? undefined : '@kpdecker/next/browser/client',
|
23 | 'next/link': isServer ? '@kpdecker/next/node/lib/link' : '@kpdecker/next/browser/lib/link',
|
24 | 'next/head': isServer ? '@kpdecker/next/node/lib/head' : '@kpdecker/next/browser/lib/head',
|
25 | 'next/page-loader': isServer ? '@kpdecker/next/node/lib/page-loader' : '@kpdecker/next/browser/lib/page-loader',
|
26 | 'next/document': isServer ? '@kpdecker/next/node/server/document' : undefined,
|
27 | 'next/router': isServer ? '@kpdecker/next/node/server/router' : '@kpdecker/next/browser/client/router'
|
28 | }
|
29 | }
|
30 | ])
|
31 | return preset
|
32 | }
|