Skip to content

Commit eb74a66

Browse files
committed
Let Kotlin/JS inject main function arguments
1 parent ee2e262 commit eb74a66

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

gradle/build-logic/src/main/kotlin/net/kautler/ncc_packer.gradle.kts

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package net.kautler
1818

1919
import org.gradle.accessors.dm.LibrariesForLibs
2020
import org.gradle.accessors.dm.LibrariesForKotlinWrappers
21+
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalMainFunctionArgumentsDsl
2122
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
2223
import org.jetbrains.kotlin.gradle.tasks.IncrementalSyncTask
2324

@@ -33,6 +34,8 @@ kotlin {
3334
useEsModules()
3435
binaries.executable()
3536
nodejs()
37+
@OptIn(ExperimentalMainFunctionArgumentsDsl::class)
38+
passAsArgumentToMainFunction("process.argv.slice(2)")
3639
}
3740

3841
sourceSets {

ncc-packer/src/jsMain/kotlin/net/kautler/nccpacker/NccPacker.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import node.process.process
2828
import vercel.ncc.NccBuildOptions
2929
import vercel.ncc.ncc
3030

31-
suspend fun main() {
31+
suspend fun main(vararg args: String) {
3232
runCatching {
33-
val (input, output) = process.argv.filterIndexed { i, _ -> i > 1 }
33+
val (input, output) = args
3434
val result = ncc(
3535
input,
3636
NccBuildOptions(

0 commit comments

Comments
 (0)