1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/server/build/babel/preset.js
2017-02-14 07:24:01 +05:30

47 lines
1.5 KiB
JavaScript

const babelRuntimePath = require.resolve('babel-runtime/package')
.replace(/[\\/]package\.json$/, '')
const envPlugins = {
'development': [
require.resolve('babel-plugin-transform-react-jsx-source')
],
'production': [
require.resolve('babel-plugin-transform-react-constant-elements'),
require.resolve('babel-plugin-transform-react-remove-prop-types')
]
}
const plugins = envPlugins[process.env.NODE_ENV] || []
module.exports = {
presets: [
[require.resolve('babel-preset-latest'), {
'es2015': { modules: false }
}],
require.resolve('babel-preset-react')
],
plugins: [
require.resolve('babel-plugin-react-require'),
require.resolve('babel-plugin-transform-object-rest-spread'),
require.resolve('babel-plugin-transform-class-properties'),
require.resolve('babel-plugin-transform-runtime'),
require.resolve('styled-jsx/babel'),
...plugins,
[
require.resolve('babel-plugin-module-resolver'),
{
alias: {
'babel-runtime': babelRuntimePath,
'next/link': require.resolve('../../../lib/link'),
'next/prefetch': require.resolve('../../../lib/prefetch'),
'next/css': require.resolve('../../../lib/css'),
'next/head': require.resolve('../../../lib/head'),
'next/document': require.resolve('../../../server/document'),
'next/router': require.resolve('../../../lib/router'),
'next/error': require.resolve('../../../lib/error')
}
}
]
]
}