Skip to content

Commit

Permalink
Only resolve .babelrc files when they are not disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Mar 27, 2021
1 parent 6b39baf commit f73a65b
Showing 1 changed file with 37 additions and 36 deletions.
73 changes: 37 additions & 36 deletions packages/babel-core/src/config/config-chain.js
Expand Up @@ -201,56 +201,57 @@ export function* buildRootChain(
mergeChain(configFileChain, result);
}

const pkgData =
typeof context.filename === "string"
? yield* findPackageData(context.filename)
: null;

let ignoreFile, babelrcFile;
let isIgnored = false;
const fileChain = emptyChain();
// resolve all .babelrc files
if (
(babelrc === true || babelrc === undefined) &&
pkgData &&
babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)
typeof context.filename === "string"
) {
({ ignore: ignoreFile, config: babelrcFile } = yield* findRelativeConfig(
pkgData,
context.envName,
context.caller,
));

if (ignoreFile) {
fileChain.files.add(ignoreFile.filepath);
}
const pkgData = yield* findPackageData(context.filename);

if (
ignoreFile &&
shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)
pkgData &&
babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)
) {
isIgnored = true;
}
({ ignore: ignoreFile, config: babelrcFile } = yield* findRelativeConfig(
pkgData,
context.envName,
context.caller,
));

if (ignoreFile) {
fileChain.files.add(ignoreFile.filepath);
}

if (babelrcFile && !isIgnored) {
const validatedFile = validateBabelrcFile(babelrcFile);
const babelrcLogger = new ConfigPrinter();
const result = yield* loadFileChain(
validatedFile,
context,
undefined,
babelrcLogger,
);
if (!result) {
if (
ignoreFile &&
shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)
) {
isIgnored = true;
} else {
babelRcReport = yield* babelrcLogger.output();
mergeChain(fileChain, result);
}
}

if (babelrcFile && isIgnored) {
fileChain.files.add(babelrcFile.filepath);
if (babelrcFile && !isIgnored) {
const validatedFile = validateBabelrcFile(babelrcFile);
const babelrcLogger = new ConfigPrinter();
const result = yield* loadFileChain(
validatedFile,
context,
undefined,
babelrcLogger,
);
if (!result) {
isIgnored = true;
} else {
babelRcReport = yield* babelrcLogger.output();
mergeChain(fileChain, result);
}
}

if (babelrcFile && isIgnored) {
fileChain.files.add(babelrcFile.filepath);
}
}
}

Expand Down

0 comments on commit f73a65b

Please sign in to comment.