diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java index f75b20485ac..4a30155c7ad 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java @@ -27,6 +27,8 @@ import com.intellij.util.SmartList; import com.intellij.util.containers.HashMap; import kotlin.collections.ArraysKt; import kotlin.collections.CollectionsKt; +import kotlin.io.FilesKt; +import kotlin.sequences.SequencesKt; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.analyzer.AnalysisResult; @@ -64,11 +66,9 @@ import org.jetbrains.kotlin.js.facade.exceptions.TranslationException; import org.jetbrains.kotlin.js.sourceMap.SourceFilePathResolver; import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus; import org.jetbrains.kotlin.psi.KtFile; +import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil; import org.jetbrains.kotlin.serialization.js.ModuleKind; -import org.jetbrains.kotlin.utils.ExceptionUtilsKt; -import org.jetbrains.kotlin.utils.KotlinPaths; -import org.jetbrains.kotlin.utils.PathUtil; -import org.jetbrains.kotlin.utils.StringsKt; +import org.jetbrains.kotlin.utils.*; import java.io.File; import java.io.IOException; @@ -297,12 +297,23 @@ public class K2JSCompiler extends CLICompiler { ProgressIndicatorAndCompilationCanceledStatus.checkCanceled(); + if (config.getConfiguration().getBoolean(JSConfigurationKeys.META_INFO)) { + removeKjsmFilesFromOutput(outputDir); + } OutputUtilsKt.writeAll(outputFiles, outputDir, messageCollector, configuration.getBoolean(CommonConfigurationKeys.REPORT_OUTPUT_FILES)); return OK; } + private static void removeKjsmFilesFromOutput(File outputDir) { + for (File file : SequencesKt.toList(FilesKt.walkTopDown(outputDir))) { + if (file.isFile() && file.getPath().endsWith(KotlinJavascriptSerializationUtil.INSTANCE.getCLASS_METADATA_FILE_EXTENSION())) { + file.delete(); + } + } + } + private static void checkDuplicateSourceFileNames( @NotNull MessageCollector log, @NotNull List sourceFiles,