スキップしてメイン コンテンツに移動

Closure Compiler のヒント無し、理不尽エラー

次のようなエラーメッセージに遭遇した場合、ファイル名が原因の可能性があります。Compilation errors occurred とだけ表示される、ノーヒントの暗記問題です。

[03:49:42] Error: gulp-google-closure-compiler: Compilation errors occurred
  at CompilationStream._compilationComplete (C:\...\node_modules\google-closure-compiler\lib\gulp\index.js:238:28)
  at C:\...\node_modules\google-closure-compiler\lib\gulp\index.js:208:14
  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

次のように、js_output_file に指定したファイル名と同じ名前のファイルを、 src ファイルに含むと発生します。ヒントが一切ないので注意しましょう!

const {src, dest} = require('gulp'),
      ClosureCompiler = require('google-closure-compiler').gulp();

module.exports = (done) => {
  return src(
    ['./lib/js/**/*.js', './src/index.js']
  ).pipe(
    ClosureCompiler(
      {
        dependency_mode  : 'PRUNE',
        entry_point      : 'goog:app',
        compilation_level: 'ADVANCED',
        js_output_file   : 'index.js'
      }
    )
  ).pipe(
    dest('dist')
  );
};

ソースファイルのファイル名か、js_output_file を変更することで解消します。