function convertOptionsIntoArguments()

in packages/kotlinc-js-api/kotlin-compiler.js [16:83]


function convertOptionsIntoArguments(options) {
  let argumentsList = [
    '-output',
    options.output,
    options.sourceMaps ? '-source-map' : null,
    options.noStdlib ? '-no-stdlib ' : null,
    options.metaInfo ? '-meta-info' : null,
    options.noWarn ? '-nowarn' : null,
    options.verbose ? '-verbose' : null,
  ];

  argumentsList = addOptionWithValue(argumentsList, '-main', options.main);

  argumentsList = addOptionWithValue(
    argumentsList,
    '-source-map-embed-sources',
    options.sourceMapEmbedSources
  );
  argumentsList = addOptionWithValue(
    argumentsList,
    '-source-map-prefix',
    options.sourceMapPrefix
  );
  argumentsList = addOptionWithValue(
    argumentsList,
    '-source-map-source-roots',
    options.sourceMapSourceRoots
  );

  argumentsList = addOptionWithValue(
    argumentsList,
    '-kotlin-home',
    options.kotlinHome
  );
  argumentsList = addOptionWithValue(
    argumentsList,
    '-module-kind',
    options.moduleKind
  );
  argumentsList = addOptionWithValue(
    argumentsList,
    '-Xplugin',
    options.plugin,
    true
  );

  if (options.libraries && options.libraries.length) {
    argumentsList = argumentsList.concat(
      '-libraries',
      options.libraries.join(isWindows ? ';' : ':')
    );
  }

  if (options.experimental) {
    if (options.experimental.multiPlatform) {
      argumentsList = argumentsList.concat('-Xmulti-platform');
    }
    if (options.experimental.customArguments) {
      argumentsList = argumentsList.concat(
        options.experimental.customArguments
      );
    }
  }

  argumentsList = argumentsList.concat(options.sources);

  return argumentsList.filter((arg) => !!arg);
}