function compile()

in packages/kotlinc-js-api/kotlin-compiler.js [85:117]


function compile(options) {
  return new Promise((resolve, reject) => {
    const extension = isWindows ? '.bat' : '';

    const compilation = spawn(
      require.resolve(`kotlin-compiler/bin/kotlinc-js${extension}`),
      convertOptionsIntoArguments(options),
      { stdio: [process.stdin, process.stdout, 'pipe'] }
    );
    let errors = '';

    compilation.stderr.on('data', (data) => {
      errors += data.toString();
    });

    compilation.on('error', (err) => {
      errors += 'kotlin-js failed. Do you have Kotlin installed?';
      errors += JSON.stringify(err);
    });

    compilation.on('close', (code) => {
      if (code !== SUCCESS_CODE) {
        reject(errors || `Kotlin compiler exited with code ${code}`);
        return;
      }

      if (errors) {
        console.warn('Kotlin Compiler stderr output:', errors);
      }
      resolve();
    });
  });
}