A library for adding scripting to .NET applications. Supports V8 (Windows, Linux, macOS) and JScript/VBScript (Windows).
Перейти к файлу
ClearScript d5f5baa17c ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
ClearScript ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
ClearScriptBenchmarks ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
ClearScriptConsole ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
ClearScriptTest ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
ClearScriptV8 ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
Misc ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
NetCore ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
NetFramework ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
NetStandard ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
NuGet/files ClearScript 7.1: Split out ClearScript.Windows.Core from ClearScript.Windows; added "core" Windows Script engine classes that don't require the Windows Desktop runtime; added support for Windows and Linux on arm64 hardware (GitHub Issue #206); enabled the JavaScript Internationalization API in V8ScriptEngine (GitHub Issue #150); added V8Runtime.WriteHeapSnapshot and V8ScriptEngine.WriteRuntimeHeapSnapshot (GitHub Issue #85); switched to static linking of C/C++ libraries to broaden Linux support (GitHub Issue #215); relaxed type comparison in HostTypeCollection (GitHub Issue #213); added experimental support for the Universal Windows Platform (V8 only); updated API and build documentation. Tested with V8 8.8.278.14. 2021-01-22 06:44:18 -08:00
UWP ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
Unix ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
V8 ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
docs ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
.gitignore Version 7.1.3: Added V8Settings.EnableTopLevelAwait; host collections and async enumerables now support "for await...of" in V8 (GitHub Issue #259 ); added ScriptEngine.DisableExtensionMethods (GitHub Issue #261); fixed V8 property name/index retrieval bug (GitHub Issue #262); added ScriptEngine.AddHostTypes; updated API documentation. Tested with V8 9.1.269.28. 2021-05-26 07:39:08 -07:00
ClearScript.NoV8.sln Version 7.1.1: Added support for Linux on 32-bit ARM hardware (GitHub Issue #230); added support for .NET Standard 2.1 (GitHub Issue #151); added V8RuntimeConstraints.HeapExpansionMultiplier; fixed an intermittent crash related to V8 background tasks; updated API and build documentation. Tested with V8 8.9.255.20. 2021-03-04 05:22:48 -08:00
ClearScript.NoV8.sln.DotSettings Version 7.1.7 Preview: Disabled V8 pointer compression to improve performance and potentially fix GitHub Issue #291; added symbols to managed component packages. Tested with V8 9.5.172.13 (Beta). 2021-09-28 08:48:32 -07:00
ClearScript.sln Version 7.1.1: Added support for Linux on 32-bit ARM hardware (GitHub Issue #230); added support for .NET Standard 2.1 (GitHub Issue #151); added V8RuntimeConstraints.HeapExpansionMultiplier; fixed an intermittent crash related to V8 background tasks; updated API and build documentation. Tested with V8 8.9.255.20. 2021-03-04 05:22:48 -08:00
ClearScript.sln.DotSettings Version 7.1.7 Preview: Disabled V8 pointer compression to improve performance and potentially fix GitHub Issue #291; added symbols to managed component packages. Tested with V8 9.5.172.13 (Beta). 2021-09-28 08:48:32 -07:00
License.txt Tweaked licenses slightly. 2018-10-08 22:33:19 -04:00
ReadMe.md Version 7.1.7 Preview: Disabled V8 pointer compression to improve performance and potentially fix GitHub Issue #291; added symbols to managed component packages. Tested with V8 9.5.172.13 (Beta). 2021-09-28 08:48:32 -07:00
RunNetCoreTests.cmd Version 7.1.2: Added optional ValueTask conversions (GitHub Issue #248); patched V8 to avoid Date.prototype.toLocaleString crash when ICU data is unavailable (GitHub Issue #246); added HostSettings.AuxiliarySearchPath; fixed default document loader issue with foreign file name extensions; updated V8 debug agent web responses for Node.js alignment; updated API documentation. Tested with V8 9.0.257.19. 2021-04-17 11:09:56 -07:00
V8Update.cmd ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00
Version.tt ClearScript 7.2: Added V8ScriptEngine.CancelAwaitDebugger (GitHub Issue #309); added support for BigInt64Array and BigUint64Array; (V8) same-runtime engines get direct access to all shared objects (related to GitHub Issue #308); (V8) typed arrays and data views based on SharedArrayBuffer can be shared across runtimes (GitHub Issue #317); improved V8-to-host invocation performance; updated build and API documentation. Tested with V8 9.6.180.14. 2021-11-22 07:45:53 -08:00

ReadMe.md

Banner

Follow

Description

ClearScript is a library that makes it easy to add scripting to your .NET applications. It currently supports JavaScript (via V8 and JScript) and VBScript.

Features

  • Simple usage; create a script engine, add your objects and/or types, run scripts
  • Support for several script engines: Google's V8, Microsoft's JScript and VBScript
  • Exposed resources require no modification, decoration, or special coding of any kind
  • Scripts get simple access to most of the features of exposed objects and types:
    • Methods, properties, fields, events
    • (Objects) Indexers, extension methods, conversion operators, explicitly implemented interfaces
    • (Types) Constructors, nested types
  • Full support for generic types and methods, including C#-like type inference and explicit type arguments
  • Exposed .NET collections support native script iteration mechanisms:
  • Scripts can invoke methods with output parameters, optional parameters, and parameter arrays
  • Script delegates enable callbacks into script code
  • Support for exposing all the types defined in one or more assemblies in one step
  • Optional support for importing types and assemblies from script code
  • The host can invoke script functions and access script objects directly
  • Full support for script debugging
  • V8 Support for fast data transfer to and from JavaScript typed arrays
  • V8 Support for JavaScript modules
  • V8 JScript Support for CommonJS modules
  • V8 Automatic conversion between .NET BigInteger and JavaScript BigInt.
  • V8 Optional automatic conversion between .NET DateTime and JavaScript Date.
  • V8 Optional automatic conversion between .NET tasks and JavaScript promises.
  • Support for .NET 5.0, .NET Core 3.1, .NET Framework 4.5, and .NET Standard 2.1.
  • Support for Windows (x86/x64/arm64), Linux (x64/arm/arm64), and macOS (x64/arm64).

Installation

Composite packages

Everything you need for one platform.

Platform Packages
Windows ClearScript ClearScript.win-arm64
Linux ClearScript.linux-x64 ClearScript.linux-arm ClearScript.linux-arm64
macOS ClearScript.osx-x64 ClearScript.osx-arm64

Component packages

Cross-platform libraries and data.

Component Packages
Core ClearScript.Core
JScript/VBScript ClearScript.Windows.Core ClearScript.Windows
V8 ClearScript.V8 Microsoft.ClearScript.V8.ICUData

V8 native assembly packages

Platform-specific V8 libraries.

Platform Packages
Windows ClearScript.V8.Native.win-x86 ClearScript.V8.Native.win-x64 ClearScript.V8.Native.win-arm64
Linux ClearScript.V8.Native.linux-x64 ClearScript.V8.Native.linux-arm ClearScript.V8.Native.linux-arm64
macOS ClearScript.V8.Native.osx-x64 ClearScript.V8.Native.osx-arm64

Documentation