2015-09-12 5 views
8

Wie erzwinge ich babel, um nicht das übergeordnete Verzeichnis für .babelrc zu betrachten?Disable .babelrc Vererbung

  • Ich habe zwei .babelrc Dateien: ./a/.babelrc und ./a/example/.babelrc.
  • Ich bin babel in ./a/example Pfad ausgeführt.
  • ./a/.babelrc definiert ein Plugin „lodash“
  • Ich will nicht dieses Plugin verwenden, wenn babel in ./a/example

Ausführung habe ich versucht ./a/example/.babelrc zu setzen:.

{ 
    "stage": 0, 
    "plugins": [] 
} 

jedoch läuft babel in ./a/example Pfad verwendet immer noch "lodash" -Plugin.

$ pwd 
/a/example 
$ cat ./.babelrc 
{ 
    "stage": 0, 
    "plugins": [] 
} 
$ cat ./../.babelrc 
{ 
    "stage": 0, 
    "plugins": [ 
     "lodash" 
    ] 
} 
$ babel ./src/ 
Error: ENOENT: no such file or directory, scandir '/a/node_modules/babel-plugin-lodash/node_modules/lodash' 
    [..] 
$ babel --babelrc ./.babelrc ./src/ 
Error: ENOENT: no such file or directory, scandir '/a/node_modules/babel-plugin-lodash/node_modules/lodash' 
    [..] 

Antwort

12

Es gibt eine undokumentierte Eigenschaft namens breakConfig. Setzen Sie breakConfig auf true, um die Konfigurationsvererbung zu deaktivieren.

Dieses Verhalten wird sich in 6.x ändern. In 6.x wird Babel auf dem ersten .babelrc brechen, das es findet. extends Eigenschaft wird verwendet, um explizit andere .babelrc Dateien zu nennen, von denen er erbt.

+0

Gibt es ein Problem, das auf diese Änderungen für v6 @Gajus verweist? – JMM

+0

@JMM, nein. Ich habe davon durch das Chatten mit dem Autor erfahren. – Gajus

+0

. @ Gajus OK danke, das ist, was ich dachte :) Das sollte wirklich in der 6.0-Ausgabe sein. – JMM