diff --git a/.gitattributes b/.gitattributes
index 6456f2ef592b8a..9278790f45592b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -81,4 +81,4 @@ src/tests/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/revcomp-
src/tests/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/knucleotide-input.txt text eol=lf
src/tests/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/knucleotide-input-big.txt text eol=lf
src/mono/browser/runtime/dotnet.d.ts text eol=lf
-src/native/corehost/browserhost/loader/dotnet.d.ts text eol=lf
+src/native/libs/Common/JavaScript/loader/dotnet.d.ts text eol=lf
diff --git a/eng/native.wasm.targets b/eng/native.wasm.targets
index 6cc8549d92f9f1..a8966ecdb85e9b 100644
--- a/eng/native.wasm.targets
+++ b/eng/native.wasm.targets
@@ -24,6 +24,7 @@
+
diff --git a/src/native/.eslintignore b/src/native/.eslintignore
index 60eb58f0ba9393..e83cae41cdd642 100644
--- a/src/native/.eslintignore
+++ b/src/native/.eslintignore
@@ -1 +1 @@
-./corehost/browserhost/loader/dotnet.d.ts
+./libs/Common/JavaScript/loader/dotnet.d.ts
diff --git a/src/native/libs/Common/JavaScript/CMakeLists.txt b/src/native/libs/Common/JavaScript/CMakeLists.txt
index 880d4dac2f58ed..9f9ebbb7c859ca 100644
--- a/src/native/libs/Common/JavaScript/CMakeLists.txt
+++ b/src/native/libs/Common/JavaScript/CMakeLists.txt
@@ -11,38 +11,40 @@ set(ROLLUP_TS_SOURCES
"${CLR_SRC_NATIVE_DIR}/rollup.config.js"
"${CLR_SRC_NATIVE_DIR}/rollup.config.defines.js"
"${CLR_SRC_NATIVE_DIR}/rollup.config.plugins.js"
+
"${CLR_SRC_NATIVE_DIR}/corehost/browserhost/libBrowserHost.footer.js"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/libSystem.Native.Browser.Utils.footer.js"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/libSystem.Native.Browser.extpost.js"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/libSystem.Native.Browser.footer.js"
"${CLR_SRC_NATIVE_DIR}/libs/System.Runtime.InteropServices.JavaScript.Native/libSystem.Runtime.InteropServices.JavaScript.Native.footer.js"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/host/assets.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/host/cross-module.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/host/host.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/host/index.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/host/per-module.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/host/types.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/assets.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/bootstrap.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/config.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/cross-module.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/dotnet.d.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/dotnet.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/exit.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/host-builder.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/icu.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/index.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/lib-initializers.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/logging.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/per-module.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/polyfills.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/promise-completion-source.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/run.ts"
- "${CLR_SRC_NATIVE_DIR}/corehost/browserhost/loader/types.ts"
"${CLR_SRC_NATIVE_DIR}/corehost/browserhost/types.ts"
- "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/ems-ambient/index.ts"
+
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/cross-module/index.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/ems-ambient/index.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/host/assets.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/host/cross-module.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/host/host.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/host/index.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/host/per-module.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/host/types.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/assets.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/bootstrap.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/config.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/cross-module.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/dotnet.d.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/dotnet.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/exit.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/host-builder.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/icu.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/index.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/lib-initializers.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/logging.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/per-module.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/polyfills.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/promise-completion-source.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/run.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/loader/types.ts"
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/per-module/index.ts"
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/types/consts.d.ts"
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/types/ems-ambient.ts"
@@ -55,8 +57,9 @@ set(ROLLUP_TS_SOURCES
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/types/node.d.ts"
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/types/public-api.ts"
"${CLR_SRC_NATIVE_DIR}/libs/Common/JavaScript/types/v8.d.ts"
- "${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/diagnostics/cross-module.ts"
+
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/diagnostics/console-proxy.ts"
+ "${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/diagnostics/cross-module.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/diagnostics/exit.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/diagnostics/index.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/diagnostics/per-module.ts"
@@ -79,6 +82,7 @@ set(ROLLUP_TS_SOURCES
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/utils/runtime-list.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/utils/strings.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Native.Browser/utils/types.ts"
+
"${CLR_SRC_NATIVE_DIR}/libs/System.Runtime.InteropServices.JavaScript.Native/dotnet.runtime.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Runtime.InteropServices.JavaScript.Native/interop/cancelable-promise.ts"
"${CLR_SRC_NATIVE_DIR}/libs/System.Runtime.InteropServices.JavaScript.Native/interop/cross-module.ts"
@@ -108,8 +112,6 @@ set(ROLLUP_OUTPUTS
"${STATIC_LIB_DESTINATION}/dotnet.js"
"${STATIC_LIB_DESTINATION}/dotnet.js.map"
"${STATIC_LIB_DESTINATION}/dotnet.d.ts"
- "${STATIC_LIB_DESTINATION}/libBrowserHost.js"
- "${STATIC_LIB_DESTINATION}/libBrowserHost.js.map"
"${STATIC_LIB_DESTINATION}/libSystem.Native.Browser.js"
"${STATIC_LIB_DESTINATION}/libSystem.Native.Browser.js.map"
"${STATIC_LIB_DESTINATION}/libSystem.Native.Browser.Utils.js"
@@ -122,9 +124,19 @@ set(ROLLUP_OUTPUTS
"${STATIC_LIB_DESTINATION}/libSystem.Runtime.InteropServices.JavaScript.Native.js.map"
)
+if(CMAKE_BUILD_RUNTIME_FLAVOR STREQUAL "CoreCLR")
+ LIST(APPEND ROLLUP_OUTPUTS
+ "${STATIC_LIB_DESTINATION}/libBrowserHost.js"
+ "${STATIC_LIB_DESTINATION}/libBrowserHost.js.map"
+ )
+else()
+ #error TODO Mono
+endif()
+
+
add_custom_command(
OUTPUT ${ROLLUP_OUTPUTS}
- COMMAND npm run rollup:cmake -- "Configuration:${CMAKE_BUILD_TYPE},ProductVersion:${CMAKE_PRODUCT_VERSION},ContinuousIntegrationBuild:${CMAKE_CONTINUOUS_INTEGRATION_BUILD},StaticLibDestination:${STATIC_LIB_DESTINATION}"
+ COMMAND npm run rollup:cmake -- "Configuration:${CMAKE_BUILD_TYPE},ProductVersion:${CMAKE_PRODUCT_VERSION},ContinuousIntegrationBuild:${CMAKE_CONTINUOUS_INTEGRATION_BUILD},RuntimeFlavor:${CMAKE_BUILD_RUNTIME_FLAVOR},StaticLibDestination:${STATIC_LIB_DESTINATION}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../.."
COMMENT "Running 'npm run rollup' to generate JavaScript bundles"
DEPENDS ${ROLLUP_TS_SOURCES}
diff --git a/src/native/corehost/browserhost/host/assets.ts b/src/native/libs/Common/JavaScript/host/assets.ts
similarity index 96%
rename from src/native/corehost/browserhost/host/assets.ts
rename to src/native/libs/Common/JavaScript/host/assets.ts
index b4d920c2c3b9c8..3fd2a34c4ceab6 100644
--- a/src/native/corehost/browserhost/host/assets.ts
+++ b/src/native/libs/Common/JavaScript/host/assets.ts
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-import type { CharPtr, VfsAsset, VoidPtr, VoidPtrPtr } from "./types";
-import { _ems_ } from "../../../libs/Common/JavaScript/ems-ambient";
+import type { CharPtr, VfsAsset, VoidPtr, VoidPtrPtr } from "../types";
+import { _ems_ } from "../ems-ambient";
-import { browserVirtualAppBase, ENVIRONMENT_IS_WEB } from "./per-module";
+import { browserVirtualAppBase, ENVIRONMENT_IS_WEB } from "../per-module";
const hasInstantiateStreaming = typeof WebAssembly !== "undefined" && typeof WebAssembly.instantiateStreaming === "function";
const loadedAssemblies: Map = new Map();
diff --git a/src/native/corehost/browserhost/host/cross-module.ts b/src/native/libs/Common/JavaScript/host/cross-module.ts
similarity index 69%
rename from src/native/corehost/browserhost/host/cross-module.ts
rename to src/native/libs/Common/JavaScript/host/cross-module.ts
index d5e72ee0889671..7e45f1da5f993b 100644
--- a/src/native/corehost/browserhost/host/cross-module.ts
+++ b/src/native/libs/Common/JavaScript/host/cross-module.ts
@@ -1,4 +1,4 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-export * from "../../../libs/Common/JavaScript/cross-module";
+export * from "../cross-module";
diff --git a/src/native/corehost/browserhost/host/host.ts b/src/native/libs/Common/JavaScript/host/host.ts
similarity index 96%
rename from src/native/corehost/browserhost/host/host.ts
rename to src/native/libs/Common/JavaScript/host/host.ts
index 421138d900c4e9..4b7f63a19c9e89 100644
--- a/src/native/corehost/browserhost/host/host.ts
+++ b/src/native/libs/Common/JavaScript/host/host.ts
@@ -1,9 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-import type { CharPtrPtr, VoidPtr } from "./types";
-import { _ems_ } from "../../../libs/Common/JavaScript/ems-ambient";
-import { browserVirtualAppBase } from "./per-module";
+import type { CharPtrPtr, VoidPtr } from "../types";
+import { _ems_ } from "../ems-ambient";
+import { browserVirtualAppBase } from "../per-module";
const HOST_PROPERTY_RUNTIME_CONTRACT = "HOST_RUNTIME_CONTRACT";
const HOST_PROPERTY_TRUSTED_PLATFORM_ASSEMBLIES = "TRUSTED_PLATFORM_ASSEMBLIES";
diff --git a/src/native/corehost/browserhost/host/index.ts b/src/native/libs/Common/JavaScript/host/index.ts
similarity index 97%
rename from src/native/corehost/browserhost/host/index.ts
rename to src/native/libs/Common/JavaScript/host/index.ts
index e638eb884c83fe..bb0f9f89f5f669 100644
--- a/src/native/corehost/browserhost/host/index.ts
+++ b/src/native/libs/Common/JavaScript/host/index.ts
@@ -3,7 +3,7 @@
import type { InternalExchange, BrowserHostExports, RuntimeAPI, BrowserHostExportsTable, LoaderConfigInternal } from "./types";
import { InternalExchangeIndex } from "./types";
-import { _ems_ } from "../../../libs/Common/JavaScript/ems-ambient";
+import { _ems_ } from "../ems-ambient";
import GitHash from "consts:gitHash";
diff --git a/src/native/corehost/browserhost/host/per-module.ts b/src/native/libs/Common/JavaScript/host/per-module.ts
similarity index 69%
rename from src/native/corehost/browserhost/host/per-module.ts
rename to src/native/libs/Common/JavaScript/host/per-module.ts
index 4d63f6790bfbce..eaeaff9614e904 100644
--- a/src/native/corehost/browserhost/host/per-module.ts
+++ b/src/native/libs/Common/JavaScript/host/per-module.ts
@@ -1,4 +1,4 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-export * from "../../../libs/Common/JavaScript/per-module";
+export * from "../per-module";
diff --git a/src/native/corehost/browserhost/host/types.ts b/src/native/libs/Common/JavaScript/host/types.ts
similarity index 100%
rename from src/native/corehost/browserhost/host/types.ts
rename to src/native/libs/Common/JavaScript/host/types.ts
diff --git a/src/native/corehost/browserhost/loader/assets.ts b/src/native/libs/Common/JavaScript/loader/assets.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/assets.ts
rename to src/native/libs/Common/JavaScript/loader/assets.ts
diff --git a/src/native/corehost/browserhost/loader/bootstrap.ts b/src/native/libs/Common/JavaScript/loader/bootstrap.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/bootstrap.ts
rename to src/native/libs/Common/JavaScript/loader/bootstrap.ts
diff --git a/src/native/corehost/browserhost/loader/config.ts b/src/native/libs/Common/JavaScript/loader/config.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/config.ts
rename to src/native/libs/Common/JavaScript/loader/config.ts
diff --git a/src/native/corehost/browserhost/loader/cross-module.ts b/src/native/libs/Common/JavaScript/loader/cross-module.ts
similarity index 69%
rename from src/native/corehost/browserhost/loader/cross-module.ts
rename to src/native/libs/Common/JavaScript/loader/cross-module.ts
index d5e72ee0889671..7e45f1da5f993b 100644
--- a/src/native/corehost/browserhost/loader/cross-module.ts
+++ b/src/native/libs/Common/JavaScript/loader/cross-module.ts
@@ -1,4 +1,4 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-export * from "../../../libs/Common/JavaScript/cross-module";
+export * from "../cross-module";
diff --git a/src/native/corehost/browserhost/loader/dotnet.d.ts b/src/native/libs/Common/JavaScript/loader/dotnet.d.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/dotnet.d.ts
rename to src/native/libs/Common/JavaScript/loader/dotnet.d.ts
diff --git a/src/native/corehost/browserhost/loader/dotnet.ts b/src/native/libs/Common/JavaScript/loader/dotnet.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/dotnet.ts
rename to src/native/libs/Common/JavaScript/loader/dotnet.ts
diff --git a/src/native/corehost/browserhost/loader/exit.ts b/src/native/libs/Common/JavaScript/loader/exit.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/exit.ts
rename to src/native/libs/Common/JavaScript/loader/exit.ts
diff --git a/src/native/corehost/browserhost/loader/host-builder.ts b/src/native/libs/Common/JavaScript/loader/host-builder.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/host-builder.ts
rename to src/native/libs/Common/JavaScript/loader/host-builder.ts
diff --git a/src/native/corehost/browserhost/loader/icu.ts b/src/native/libs/Common/JavaScript/loader/icu.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/icu.ts
rename to src/native/libs/Common/JavaScript/loader/icu.ts
diff --git a/src/native/corehost/browserhost/loader/index.ts b/src/native/libs/Common/JavaScript/loader/index.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/index.ts
rename to src/native/libs/Common/JavaScript/loader/index.ts
diff --git a/src/native/corehost/browserhost/loader/lib-initializers.ts b/src/native/libs/Common/JavaScript/loader/lib-initializers.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/lib-initializers.ts
rename to src/native/libs/Common/JavaScript/loader/lib-initializers.ts
diff --git a/src/native/corehost/browserhost/loader/logging.ts b/src/native/libs/Common/JavaScript/loader/logging.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/logging.ts
rename to src/native/libs/Common/JavaScript/loader/logging.ts
diff --git a/src/native/corehost/browserhost/loader/per-module.ts b/src/native/libs/Common/JavaScript/loader/per-module.ts
similarity index 69%
rename from src/native/corehost/browserhost/loader/per-module.ts
rename to src/native/libs/Common/JavaScript/loader/per-module.ts
index 4d63f6790bfbce..eaeaff9614e904 100644
--- a/src/native/corehost/browserhost/loader/per-module.ts
+++ b/src/native/libs/Common/JavaScript/loader/per-module.ts
@@ -1,4 +1,4 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-export * from "../../../libs/Common/JavaScript/per-module";
+export * from "../per-module";
diff --git a/src/native/corehost/browserhost/loader/polyfills.ts b/src/native/libs/Common/JavaScript/loader/polyfills.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/polyfills.ts
rename to src/native/libs/Common/JavaScript/loader/polyfills.ts
diff --git a/src/native/corehost/browserhost/loader/promise-completion-source.ts b/src/native/libs/Common/JavaScript/loader/promise-completion-source.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/promise-completion-source.ts
rename to src/native/libs/Common/JavaScript/loader/promise-completion-source.ts
diff --git a/src/native/corehost/browserhost/loader/run.ts b/src/native/libs/Common/JavaScript/loader/run.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/run.ts
rename to src/native/libs/Common/JavaScript/loader/run.ts
diff --git a/src/native/corehost/browserhost/loader/types.ts b/src/native/libs/Common/JavaScript/loader/types.ts
similarity index 100%
rename from src/native/corehost/browserhost/loader/types.ts
rename to src/native/libs/Common/JavaScript/loader/types.ts
diff --git a/src/native/libs/Common/JavaScript/types/exchange.ts b/src/native/libs/Common/JavaScript/types/exchange.ts
index b228f7e2e06f34..f2d5655713ac30 100644
--- a/src/native/libs/Common/JavaScript/types/exchange.ts
+++ b/src/native/libs/Common/JavaScript/types/exchange.ts
@@ -1,13 +1,13 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-import type { check, error, info, warn, debug, fastCheck, normalizeException } from "../../../../corehost/browserhost/loader/logging";
-import type { resolveRunMainPromise, rejectRunMainPromise, getRunMainPromise, abortStartup } from "../../../../corehost/browserhost/loader/run";
-import type { addOnExitListener, isExited, isRuntimeRunning, quitNow } from "../../../../corehost/browserhost/loader/exit";
+import type { check, error, info, warn, debug, fastCheck, normalizeException } from "../loader/logging";
+import type { resolveRunMainPromise, rejectRunMainPromise, getRunMainPromise, abortStartup } from "../loader/run";
+import type { addOnExitListener, isExited, isRuntimeRunning, quitNow } from "../loader/exit";
-import type { initializeCoreCLR } from "../../../../corehost/browserhost/host/host";
-import type { instantiateWasm, installVfsFile, registerDllBytes, loadIcuData, registerPdbBytes } from "../../../../corehost/browserhost/host/assets";
-import type { createPromiseCompletionSource, getPromiseCompletionSource, isControllablePromise } from "../../../../corehost/browserhost/loader/promise-completion-source";
+import type { initializeCoreCLR } from "../host/host";
+import type { instantiateWasm, installVfsFile, registerDllBytes, loadIcuData, registerPdbBytes } from "../host/assets";
+import type { createPromiseCompletionSource, getPromiseCompletionSource, isControllablePromise } from "../loader/promise-completion-source";
import type { isSharedArrayBuffer, zeroRegion } from "../../../System.Native.Browser/utils/memory";
import type { stringToUTF16, stringToUTF16Ptr, stringToUTF8, stringToUTF8Ptr, utf16ToString } from "../../../System.Native.Browser/utils/strings";
diff --git a/src/native/package.json b/src/native/package.json
index a21651a2457791..e1939fd60b32d7 100644
--- a/src/native/package.json
+++ b/src/native/package.json
@@ -12,8 +12,8 @@
"scripts": {
"rollup:stub": "node rollup.stub.js",
"rollup:cmake": "rollup -c --environment ",
- "rollup:release": "rollup -c --environment Configuration:Release,ProductVersion:11.0,ContinuousIntegrationBuild:false",
- "rollup:debug": "rollup -c --environment Configuration:Debug,ProductVersion:11.0,ContinuousIntegrationBuild:false",
+ "rollup:release": "rollup -c --environment Configuration:Release,ProductVersion:11.0,ContinuousIntegrationBuild:false,RuntimeFlavor:CoreCLR",
+ "rollup:debug": "rollup -c --environment Configuration:Debug,ProductVersion:11.0,ContinuousIntegrationBuild:false,RuntimeFlavor:CoreCLR",
"lint": "eslint --no-color --max-warnings=0 \"./**/*.ts\" \"./**/*.js\"",
"format": "eslint --fix \"./**/*.ts\" \"./*.js\""
},
diff --git a/src/native/rollup.config.defines.js b/src/native/rollup.config.defines.js
index 675e964c570058..92b6a882797379 100644
--- a/src/native/rollup.config.defines.js
+++ b/src/native/rollup.config.defines.js
@@ -16,11 +16,12 @@ if (process.env.ProductVersion === undefined) {
}
export const configuration = process.env.Configuration !== "Release" && process.env.Configuration !== "RELEASE" ? "Debug" : "Release";
+export const runtimeFlavor = process.env.RuntimeFlavor || "CoreCLR";
export const productVersion = process.env.ProductVersion;
export const isContinuousIntegrationBuild = process.env.ContinuousIntegrationBuild === "true" ? true : false;
export const staticLibDestination = process.env.StaticLibDestination || `../../artifacts/obj/native/net${productVersion}-browser-${configuration}-wasm/lib`;
-console.log(`Rollup configuration: Configuration=${configuration}, ProductVersion=${productVersion}, ContinuousIntegrationBuild=${isContinuousIntegrationBuild}`);
+console.log(`Rollup configuration: Configuration=${configuration}, RuntimeFlavor=${runtimeFlavor}, ProductVersion=${productVersion}, ContinuousIntegrationBuild=${isContinuousIntegrationBuild}`);
export const banner = "//! Licensed to the .NET Foundation under one or more agreements.\n//! The .NET Foundation licenses this file to you under the MIT license.\n//! This is generated file, see src/native/rollup.config.js\n\n";
export const banner_dts = banner + "//! This is not considered public API with backward compatibility guarantees. \n";
@@ -49,6 +50,7 @@ try {
export const envConstants = {
productVersion,
configuration,
+ runtimeFlavor,
gitHash,
isContinuousIntegrationBuild,
};
diff --git a/src/native/rollup.config.js b/src/native/rollup.config.js
index 241403ff6546bd..4cd6db923db0ec 100644
--- a/src/native/rollup.config.js
+++ b/src/native/rollup.config.js
@@ -10,6 +10,7 @@ import {
isDebug, staticLibDestination,
keep_classnames, keep_fnames, reserved,
inlinefastCheck,
+ runtimeFlavor,
} from "./rollup.config.defines.js";
import { terserPlugin, writeOnChangePlugin, consts, onwarn, alwaysLF, iife2fe, emsAmbient, regexReplace, sourcemapPathTransform } from "./rollup.config.plugins.js";
import { promises as fs } from "fs";
@@ -25,7 +26,7 @@ const dotnetDTS = {
},
...(isDebug ? [{
format: "es",
- file: "./corehost/browserhost/loader/dotnet.d.ts",
+ file: "./libs/Common/JavaScript/loader/dotnet.d.ts",
banner: banner_dts,
plugins: [alwaysLF(), writeOnChangePlugin()],
}] : [])
@@ -36,7 +37,7 @@ const dotnetDTS = {
};
const dotnetJS = configure({
- input: "./corehost/browserhost/loader/dotnet.ts",
+ input: "./libs/Common/JavaScript/loader/dotnet.ts",
output: [{
file: staticLibDestination + "/dotnet.js",
intro: "/*! bundlerFriendlyImports */",
@@ -141,7 +142,7 @@ const libInteropJavaScriptNative = configure({
});
const libBrowserHost = configure({
- input: "./corehost/browserhost/host/index.ts",
+ input: "./libs/Common/JavaScript/host/index.ts",
output: [{
name: "libBrowserHost",
format: "iife",