A library for adding scripting to .NET applications. Supports V8 (Windows, Linux, macOS) and JScript/VBScript (Windows).
Перейти к файлу
dependabot[bot] 02b7203079
Bump nokogiri from 1.13.8 to 1.13.9 in /docs (#429)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.8 to 1.13.9.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.8...v1.13.9)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21 01:28:46 -04:00
ClearScript Version 7.3.4: Fixed Linux and macOS NuGet packages. 2022-09-29 19:52:28 -04:00
ClearScriptBenchmarks Version 7.3.4: Fixed Linux and macOS NuGet packages. 2022-09-29 19:52:28 -04:00
ClearScriptConsole Version 7.3.4: Fixed Linux and macOS NuGet packages. 2022-09-29 19:52:28 -04:00
ClearScriptTest Version 7.3.4: Fixed Linux and macOS NuGet packages. 2022-09-29 19:52:28 -04:00
ClearScriptV8 Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
Misc Version 7.2.3: Fixed crash on attempt to execute a compiled script in the wrong V8 runtime; fixed intermittent V8 crash on Windows x86 (GitHub Issue #354); added V8GlobalFlags.DisableBackgroundWork; fixed async function performance (GitHub Issue #356); added a WebAssembly unit test; updated API documentation. Tested with V8 9.9.115.8. 2022-03-05 10:04:28 -08:00
NetCore Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
NetFramework Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
NetStandard Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
NuGet/files ClearScript 7.3: Added V8ScriptEngineFlags.EnableStringifyEnhancements (GitHub Issue #376); the V8 ICU data is now packaged as a managed library to ease deployment; V8 and JScript startup scripts are now minified; fixed Exception.TargetSite reflection hole and added V8ScriptEngineFlags.HideHostExceptions (GitHub Issue #382); fixed typeof-literal comparison in V8; V8Update.cmd now works in a Visual Studio 2022 command prompt; Rosetta is no longer required for macOS builds on the arm64 (M1) architecture; updated build, deployment, and API documentation. Tested with V8 10.2.154.5. 2022-06-02 09:22:30 -04:00
UWP Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
Unix Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
V8 Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
docs Bump nokogiri from 1.13.8 to 1.13.9 in /docs (#429) 2022-10-21 01:28:46 -04:00
.gitignore ClearScript 7.3: Added V8ScriptEngineFlags.EnableStringifyEnhancements (GitHub Issue #376); the V8 ICU data is now packaged as a managed library to ease deployment; V8 and JScript startup scripts are now minified; fixed Exception.TargetSite reflection hole and added V8ScriptEngineFlags.HideHostExceptions (GitHub Issue #382); fixed typeof-literal comparison in V8; V8Update.cmd now works in a Visual Studio 2022 command prompt; Rosetta is no longer required for macOS builds on the arm64 (M1) architecture; updated build, deployment, and API documentation. Tested with V8 10.2.154.5. 2022-06-02 09:22:30 -04: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.3.2: Switched from the standard .NET reflection binder to a custom algorithm, ensuring consistently enhanced behavior for all reflection binding scenarios; reviewed "dynamic" usage, eliminating it where possible and reducing it elsewhere (GitHub Issue #400); added ScriptEngine.DisableDynamicBinding; added IScriptEngineException.ScriptExceptionAsObject; fixed invocation of methods that have both optional parameters and parameter arrays; added implicit conversion support for constructor and indexed property arguments (GitHub Issue #396); extended canonical referencing to Guid and all readonly struct types; added ScriptObject.InvokeAsFunction; updated API and build documentation. Tested with V8 10.5.218.8. 2022-09-15 08:04:51 -04:00
ClearScript.sln ClearScript 7.3: Added V8ScriptEngineFlags.EnableStringifyEnhancements (GitHub Issue #376); the V8 ICU data is now packaged as a managed library to ease deployment; V8 and JScript startup scripts are now minified; fixed Exception.TargetSite reflection hole and added V8ScriptEngineFlags.HideHostExceptions (GitHub Issue #382); fixed typeof-literal comparison in V8; V8Update.cmd now works in a Visual Studio 2022 command prompt; Rosetta is no longer required for macOS builds on the arm64 (M1) architecture; updated build, deployment, and API documentation. Tested with V8 10.2.154.5. 2022-06-02 09:22:30 -04:00
ClearScript.sln.DotSettings Version 7.3.2: Switched from the standard .NET reflection binder to a custom algorithm, ensuring consistently enhanced behavior for all reflection binding scenarios; reviewed "dynamic" usage, eliminating it where possible and reducing it elsewhere (GitHub Issue #400); added ScriptEngine.DisableDynamicBinding; added IScriptEngineException.ScriptExceptionAsObject; fixed invocation of methods that have both optional parameters and parameter arrays; added implicit conversion support for constructor and indexed property arguments (GitHub Issue #396); extended canonical referencing to Guid and all readonly struct types; added ScriptObject.InvokeAsFunction; updated API and build documentation. Tested with V8 10.5.218.8. 2022-09-15 08:04:51 -04:00
License.txt Tweaked licenses slightly. 2018-10-08 22:33:19 -04:00
ReadMe.md ClearScript 7.3: Added V8ScriptEngineFlags.EnableStringifyEnhancements (GitHub Issue #376); the V8 ICU data is now packaged as a managed library to ease deployment; V8 and JScript startup scripts are now minified; fixed Exception.TargetSite reflection hole and added V8ScriptEngineFlags.HideHostExceptions (GitHub Issue #382); fixed typeof-literal comparison in V8; V8Update.cmd now works in a Visual Studio 2022 command prompt; Rosetta is no longer required for macOS builds on the arm64 (M1) architecture; updated build, deployment, and API documentation. Tested with V8 10.2.154.5. 2022-06-02 09:22:30 -04: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
SECURITY.md Microsoft mandatory file (#380) 2022-05-19 08:51:15 -04:00
V8Update.cmd Version 7.3.3: Added DefaultDocumentLoader to address GitHub Issue #412; unified method, constructor, and property invocation, fixing GitHub Issue #413; fixed invocation of indexers with optional parameters; hardened V8 debug agent disposal, fixing a rare exception (GitHub Issue #416); added a check to prevent version mismatches between managed and native V8 assemblies (GitHub Issue #416); restricted host item IDispatchEx support to Windows Script engines, fixing GitHub Issue #417; updated API documentation. Tested with V8 10.6.194.14. 2022-09-27 21:12:03 -04:00
Version.tt Version 7.3.4: Fixed Linux and macOS NuGet packages. 2022-09-29 19:52:28 -04: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 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

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

Acknowledgments

We'd like to thank: