Allow to embed source files into JS source maps

This commit is contained in:
Alexey Andreev
2017-06-14 14:03:37 +03:00
parent 73c37ecd25
commit a0e1bde594
40 changed files with 491 additions and 81 deletions
@@ -48,6 +48,15 @@ open class DefaultValues(val defaultValue: String, val possibleValues: List<Stri
listOf("\"plain\"", "\"amd\"", "\"commonjs\"", "\"umd\"")
)
object JsSourceMapContentModes : DefaultValues(
"\"${K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING}\"",
listOf(
K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_NEVER,
K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_ALWAYS,
K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING
).map { "\"$it\""}
)
object JsMain : DefaultValues(
"\"" + CALL + "\"",
listOf("\"" + CALL + "\"", "\"" + NO_CALL + "\"")
@@ -52,6 +52,14 @@ public class K2JSCompilerArguments extends CommonCompilerArguments {
)
public String sourceMapSourceRoots;
@GradleOption(DefaultValues.JsSourceMapContentModes.class)
@Argument(
value = "-source-map-embed-sources",
valueDescription = "{ always, never, inlining }",
description = "Embed source files into source map"
)
public String sourceMapEmbedSources;
@GradleOption(DefaultValues.BooleanTrueDefault.class)
@Argument(value = "-meta-info", description = "Generate .meta.js and .kjsm files with metadata. Use to create a library")
public boolean metaInfo;
@@ -24,4 +24,8 @@ public interface K2JsArgumentConstants {
String MODULE_AMD = "amd";
String MODULE_COMMONJS = "commonjs";
String MODULE_UMD = "umd";
String SOURCE_MAP_SOURCE_CONTENT_ALWAYS = "always";
String SOURCE_MAP_SOURCE_CONTENT_NEVER = "never";
String SOURCE_MAP_SOURCE_CONTENT_INLINING = "inlining";
}