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
- Support for fast data transfer to and from JavaScript typed arrays
- Support for JavaScript modules
- Support for CommonJS modules
- Automatic conversion between .NET
BigInteger
and JavaScript BigInt
.
- Optional automatic conversion between .NET
DateTime
and JavaScript Date
.
- Optional automatic conversion between .NET tasks and JavaScript promises.
- Support for .NET 5.0+, .NET Framework 4.5+, .NET Core 3.1, and .NET Standard 2.1.
- Support for Windows (x86/x64/arm64), Linux (x64/arm/arm64), and macOS (x64/arm64).
Installation
Complete package
All in one, for all supported platforms.
Composite packages
Everything you need for one platform.
Platform |
Packages |
Windows |
|
Linux |
|
macOS |
|
Component packages
Cross-platform libraries and data.
Component |
Packages |
Core |
|
JScript/VBScript |
|
V8 |
|
V8 native assembly packages
Platform-specific V8 libraries.
Platform |
Packages |
Windows |
|
Linux |
|
macOS |
|
Documentation
Acknowledgments
We'd like to thank: