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.
- 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
BigIntegerand JavaScriptBigInt. - V8 Optional automatic conversion between .NET
DateTimeand JavaScriptDate. - V8 Optional automatic conversion between .NET tasks and JavaScript promises.
- Support for .NET 5.0+, .NET Framework 4.6.2+, .NET Core 3.1, and .NET Standard 2.1.
- Support for Windows (x86/x64/arm64), Linux (x64/arm/arm64), and macOS (x64/arm64).
All in one, for all supported platforms.
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 |
Cross-platform libraries and data.
| Component | Packages |
|---|---|
| Core | ClearScript.Core |
| JScript/VBScript | ClearScript.Windows.Core ClearScript.Windows |
| V8 | ClearScript.V8 Microsoft.ClearScript.V8.ICUData |
Platform-specific V8 libraries.
We'd like to thank:
- The V8 team.
- The Jekyll team.
- Kenneth Reitz for generously providing the
Httpbinservice. - Michael Rose for generously providing the So Simple Jekyll theme.
- Toptal for generously providing the Toptal JavaScript Minifier.