{"id":23881069,"url":"https://github.com/BaristaLabs/Espresso-v8","last_synced_at":"2025-09-09T09:31:21.259Z","repository":{"id":65413910,"uuid":"181937552","full_name":"BaristaLabs/Espresso-v8","owner":"BaristaLabs","description":"Azure DevOps Build and NuGet binary distribution of the V8 JavaScript engine","archived":false,"fork":false,"pushed_at":"2020-07-30T04:15:06.000Z","size":1454,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-29T23:55:40.030Z","etag":null,"topics":["azure-devops","azure-pipelines","espresso","multiplatform","pipelines-yaml","powershell-core","v8","v8-javascript-engine","yaml"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BaristaLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-17T17:21:29.000Z","updated_at":"2020-07-12T18:07:13.000Z","dependencies_parsed_at":"2023-01-22T09:45:15.946Z","dependency_job_id":null,"html_url":"https://github.com/BaristaLabs/Espresso-v8","commit_stats":null,"previous_names":["baristalabs/espresso-v8-win"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaristaLabs%2FEspresso-v8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaristaLabs%2FEspresso-v8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaristaLabs%2FEspresso-v8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaristaLabs%2FEspresso-v8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BaristaLabs","download_url":"https://codeload.github.com/BaristaLabs/Espresso-v8/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232327023,"owners_count":18505993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-devops","azure-pipelines","espresso","multiplatform","pipelines-yaml","powershell-core","v8","v8-javascript-engine","yaml"],"created_at":"2025-01-04T00:32:55.392Z","updated_at":"2025-01-04T00:32:56.207Z","avatar_url":"https://github.com/BaristaLabs.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Espresso-v8\n\nThis package contains scripts and configuration to perform automated multi-platform V8 Builds using Azure DevOps and publish the resulting binaries to NuGet. These pre-built V8 libraries and headers then can be used to embed the V8 JavaScript engine into multi-platform C++ projects.\n\n\u003e Note: This repository contains dynamic and static V8 builds targeting win-VS2019, macOS, and Ubuntu using a different set of GN_Options used for BaristaLabs.Espresso. See [this repository](https://github.com/pmed/v8-nuget) for different windows-based platform toolsets.\n\n[![Build Status](https://dev.azure.com/baristalabs/Espresso-v8/_apis/build/status/Espresso-v8-CI?branchName=master)](https://dev.azure.com/baristalabs/Espresso-v8/_build/latest?definitionId=3\u0026branchName=master)\n\n| Package                     | Version\n|-----------------------------|----------------------------------------------------------------------------------------------------------------------|\n|V8 Windows x86 for Visual Studio 2019|[![NuGet](https://img.shields.io/nuget/v/BaristaLabs.Espresso.v8.win-ia32.release.svg)](https://www.nuget.org/packages/BaristaLabs.Espresso.v8.win-ia32.release/)|\n|V8 Windows x64 for Visual Studio 2019|[![NuGet](https://img.shields.io/nuget/v/BaristaLabs.Espresso.v8.win-x64.release.svg)](https://www.nuget.org/packages/BaristaLabs.Espresso.v8.win-x64.release/)|\n|V8 Static Windows x64 for Visual Studio 2019|[![NuGet](https://img.shields.io/nuget/v/BaristaLabs.Espresso.v8-static.win-x64.release.svg)](https://www.nuget.org/packages/BaristaLabs.Espresso.v8-static.win-x64.release/)|\n|V8 macOS x64|[![NuGet](https://img.shields.io/nuget/v/BaristaLabs.Espresso.v8.macOS-x64.release.svg)](https://www.nuget.org/packages/BaristaLabs.Espresso.v8.macOS-x64.release/)|\n|V8 Ubuntu x64|[![NuGet](https://img.shields.io/nuget/v/BaristaLabs.Espresso.v8.ubuntu-x64.release.svg)](https://www.nuget.org/packages/BaristaLabs.Espresso.v8.ubuntu-x64.release/)|\n\n## Usage\n\nMost people who find this project want to simply embed the pre-built v8 binaries from nuget mentioned above into a C++ project.\n\nTo use V8 in a project install the package `BaristaLabs.Espresso.v8.win-$Configuration.$Version`\nfrom a console with `nuget install` command or from inside of Visual Studio\n(see menu option *Tools -\u003e NuGet Package Manager -\u003e Manage NuGet Packages for Solution...*)\nwhere\n\n  * `$Configuration` is a target v8 pre-defined configuration, such as `ia32.release` or `x64.release`.\n\n  * `$Version` is the actual V8 version, one of https://chromium.googlesource.com/v8/v8.git/+refs\n\nAfter successful packages installation add `#include \u003cv8.h\u003e` in a C++ project\nand build it. In Visual Studio 2019, all necessary files (*.lib, *.dll, *.pdb) would be referenced\nin the project automatically with MsBuild property sheets.\n\nThis is not currently true for macOS and Ubuntu using Visual Studio for Mac or other IDEs.\n\n## How to build and publish in Azure Devops\n\nSimply fork this repo, reference it in Azure Devops project, create a new YAML build pipeline, select the azure-pipelines.yml file from this repo and queue a build.\n\nThe included pipeline will check for the latest version of v8 against the nuget package name and build, pack and push a new nuget package if outdated. The author of this project uses a nightly trigger to check for new, stable v8 releases and automatically publish new builds.\n\nConsumers of this project might want to change the package name or publish to a private nuget feed, those exercises are left to the reader.\n\n## How to build and publish in a local dev environment\n\nEnsure that build dependencies have been are installed in the approprate environments.\n\nSee the following for a reference: https://v8.dev/docs/build\n\nAlso, in windows, install the Windows 10 SDK separately from Visual Studio 2019: https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk (See Note Below))\n   \nEnsure the Debugging tools are installed as it is required.\n\nTo build V8 and make NuGet packages:\n\nSimply run through the powershell scripts sequentially for the target environment.\nUse the azure-pipelines.yml as a guide for the inputs.\n\n``` Powershell\n./scripts/checkReleaseStatus # Determine which releases need to be built.\n```\n\n``` Powershell\n./scripts/win-self-hosted/win-build-v8-1.ps1 # Download v8 Build Dependencies\n./scripts/win/win-build-v8-2.ps1 -V8_VERSION 8.3.110.138 # Fetch a specific v8 version from source\n./scripts/win/win-build-v8-3.ps1 # Build v8\n./scripts/win/win-build-v8-4.ps1 # Generate nuspec and props\n```\n\nOnce the 4 scripts have been run, package/push using NuGet.\n\n``` Powershell\nnuget pack\nnuget push *.nupkg -ApiKey \u003capikey\u003e -Source https://api.nuget.org/v3/index.json\n```\n\n\u003e Note: Visit https://omahaproxy.appspot.com/ for a list of the V8 versions that correspond to a Chrome build.\n\n\n\u003e Note: When building on Windows, installing the Windows 10 SDK as part of the Visual Studio 2019 installation is insufficient as it does not include the 'Debugging Tools for Windows' feature\n\u003e Ensure that is included by first removing (the latest) Windows 10 SDK using the Visual Studio 2019 installer then installing the Windows 10 SDK from https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/ ensuring that 'Debugging Tools for Windows' is selected when installing.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBaristaLabs%2FEspresso-v8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBaristaLabs%2FEspresso-v8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBaristaLabs%2FEspresso-v8/lists"}