Skip to content

Commit

Permalink
Let Kotlin/JS inject main function arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
Vampire committed Feb 23, 2025
1 parent ee2e262 commit eb74a66
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package net.kautler

import org.gradle.accessors.dm.LibrariesForLibs
import org.gradle.accessors.dm.LibrariesForKotlinWrappers
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalMainFunctionArgumentsDsl
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
import org.jetbrains.kotlin.gradle.tasks.IncrementalSyncTask

Expand All @@ -33,6 +34,8 @@ kotlin {
useEsModules()
binaries.executable()
nodejs()
@OptIn(ExperimentalMainFunctionArgumentsDsl::class)
passAsArgumentToMainFunction("process.argv.slice(2)")
}

sourceSets {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ import node.process.process
import vercel.ncc.NccBuildOptions
import vercel.ncc.ncc

suspend fun main() {
suspend fun main(vararg args: String) {
runCatching {
val (input, output) = process.argv.filterIndexed { i, _ -> i > 1 }
val (input, output) = args
val result = ncc(
input,
NccBuildOptions(
Expand Down

0 comments on commit eb74a66

Please sign in to comment.