mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
57e9a5e5f6
* Find custom babel config location properly. Earlier we simply check for the .bablerc file in the dir. But the actual logic is much complex. Now we are using the babel's actual logic to find the custom config location. * Fix failing tests.
17 lines
707 B
JavaScript
17 lines
707 B
JavaScript
import { join } from 'path'
|
|
import buildConfigChain from 'babel-core/lib/transformation/file/options/build-config-chain'
|
|
|
|
export default function findBabelConfigLocation (dir) {
|
|
// We need to provide a location of a filename inside the `dir`.
|
|
// For the name of the file, we could be provide anything.
|
|
const filename = join(dir, 'filename.js')
|
|
const options = { babelrc: true, filename }
|
|
|
|
// First We need to build the config chain.
|
|
// Then we need to remove the config item with the location as "base".
|
|
// That's the config we are passing as the "options" below
|
|
const configList = buildConfigChain(options).filter(i => i.loc !== 'base')
|
|
|
|
return configList[0] ? configList[0].loc : null
|
|
}
|