Repository: nodejs/node
Pull request: doc: remove obsolete Boxstarter automated install

Fixes: https://github.com/nodejs/node/issues/61690

## Current situation

The [BUILDING > Option 3: Automated install with Boxstarter](https://github.com/nodejs/node/blob/main/BUILDING.md#option-3-automated-install-with-boxstarter) document section includes instructions with an associated script to automatically install dependencies on Windows required to build Node.js.

These instructions are non-working: the script fails to install the necessary Visual Studio workload and optional components. Instead it reports an "Unhandled Exception".

### Background

The last release of [chocolatey/boxstarter](https://github.com/chocolatey/boxstarter/releases) was 3.0.3 in Oct 6, 2023. It is bundled with `choco@1.1.0`, not the current [chocolatey@2.6.0](https://github.com/chocolatey/boxstarter/releases).

Boxstarter is only compatible with the legacy Windows PowerShell 5, not with PowerShell 7 (see issue https://github.com/chocolatey/boxstarter/issues/353 from Oct 2018).

Given the outdated nature of the Boxstarter release, it seems unlikely that there will be a new release that solves the above issues.

### Node.js history

The [Boxstarter automated install script](https://github.com/nodejs/node/blob/main/tools/bootstrap/windows_boxstarter) was introduced to Node.js in Nov 2017.

Later, in Sep 2024, a set of [WinGet configuration scripts](https://github.com/nodejs/node/tree/main/.configurations) was added that offered an alternative to the Boxstarter script.

## Change

Remove:

- the [BUILDING > Option 3: Automated install with Boxstarter](https://github.com/nodejs/node/blob/main/BUILDING.md#option-3-automated-install-with-boxstarter) documentation section

- the directory [tools/bootstrap](https://github.com/nodejs/node/tree/main/tools/bootstrap) containing the [tools/bootstrap/windows_boxstarter](https://github.com/nodejs/node/blob/main/tools/bootstrap/windows_boxstarter) script

- [GitHub Actions workflow](https://github.com/nodejs/node/tree/main/.github/workflows) references to [tools/bootstrap](https://github.com/nodejs/node/tree/main/tools/bootstrap)

## Alternatives

Dependencies for Windows builds can be installed by following the remaining instructions in the [BUILDING > Windows prerequisites](https://github.com/nodejs/node/blob/main/BUILDING.md#windows-prerequisites) section:

- [Option 1: Manual install](https://github.com/nodejs/node/blob/main/BUILDING.md#option-1-manual-install) or
- [Option 2: Automated install with WinGet](https://github.com/nodejs/node/blob/main/BUILDING.md#option-2-automated-install-with-winget)


Changed files:
filename: .github/workflows/build-tarball.yml
patch: @@ -18,7 +18,6 @@ on:
       - tsconfig.json
       - test/internet/**
       - tools/actions/**
-      - tools/bootstrap/**
       - tools/dep_updaters/**
       - tools/doc/**
       - tools/eslint-rules/**
@@ -48,7 +47,6 @@ on:
       - tsconfig.json
       - test/internet/**
       - tools/actions/**
-      - tools/bootstrap/**
       - tools/dep_updaters/**
       - tools/doc/**
       - tools/eslint-rules/**

filename: .github/workflows/test-macos.yml
patch: @@ -18,7 +18,6 @@ on:
       - tsconfig.json
       - test/internet/**
       - tools/actions/**
-      - tools/bootstrap/**
       - tools/dep_updaters/**
       - tools/doc/**
       - tools/eslint-rules/**
@@ -49,7 +48,6 @@ on:
       - tsconfig.json
       - test/internet/**
       - tools/actions/**
-      - tools/bootstrap/**
       - tools/dep_updaters/**
       - tools/doc/**
       - tools/eslint-rules/**

filename: BUILDING.md
patch: @@ -38,7 +38,6 @@ file a new issue.
     * [Windows Prerequisites](#windows-prerequisites)
       * [Option 1: Manual install](#option-1-manual-install)
       * [Option 2: Automated install with WinGet](#option-2-automated-install-with-winget)
-      * [Option 3: Automated install with Boxstarter](#option-3-automated-install-with-boxstarter)
     * [Building Node.js](#building-nodejs-2)
       * [Using ccache](#using-ccache)
   * [Android](#android)
@@ -811,39 +810,6 @@ winget configure .\.configurations\configuration.dsc.yaml
 
 To add optional components for MSI or ARM64 builds, refer to [Option 1: Manual install](#option-1-manual-install).
 
-##### Option 3: Automated install with Boxstarter
-
-A [Boxstarter](https://boxstarter.org/) script can be used for easy setup of
-Windows systems with all the required prerequisites for Node.js development.
-This script will install the following [Chocolatey](https://chocolatey.org/)
-packages:
-
-* [Git for Windows](https://chocolatey.org/packages/git) with the `git` and
-  Unix tools added to the `PATH`
-* [Python 3.x](https://chocolatey.org/packages/python)
-* [Visual Studio 2022 Build Tools](https://chocolatey.org/packages/visualstudio2022buildtools)
-  with [Visual C++ workload](https://chocolatey.org/packages/visualstudio2022-workload-vctools)
-* [NetWide Assembler](https://chocolatey.org/packages/nasm)
-
-To install Node.js prerequisites using
-[Boxstarter WebLauncher](https://boxstarter.org/weblauncher), visit
-<https://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/nodejs/node/HEAD/tools/bootstrap/windows_boxstarter>
-with a supported browser.
-
-Alternatively, you can use PowerShell. Run those commands from
-an elevated (Administrator) PowerShell terminal:
-
-```powershell
-Set-ExecutionPolicy Unrestricted -Force
-iex ((New-Object System.Net.WebClient).DownloadString('https://boxstarter.org/bootstrapper.ps1'))
-get-boxstarter -Force
-Install-BoxstarterPackage https://raw.githubusercontent.com/nodejs/node/HEAD/tools/bootstrap/windows_boxstarter -DisableReboots
-refreshenv
-```
-
-The entire installation using Boxstarter will take up approximately 10 GB of
-disk space.
-
 #### Building Node.js
 
 * Remember to first clone the Node.js repository with the Git command

filename: tools/bootstrap/README.md
patch: @@ -1,2 +0,0 @@
-Refer to [BUILDING.md](../../BUILDING.md#option-3-automated-install-with-boxstarter) for
-instructions on how to build Node.js with boxstarter.

filename: tools/bootstrap/windows_boxstarter
patch: @@ -1,24 +0,0 @@
-# Boxstarter (http://boxstarter.org/) script for Node.js prerequisites
-#
-# To install either open this link in IE or Edge:
-#  http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/nodejs/node/HEAD/tools/bootstrap/windows_boxstarter
-#
-# Or run those commands in an elevated Powershell terminal:
-#  iex ((New-Object System.Net.WebClient).DownloadString('http://boxstarter.org/bootstrapper.ps1'))
-#  get-boxstarter -Force
-#  Install-BoxstarterPackage https://raw.githubusercontent.com/nodejs/node/HEAD/tools/bootstrap/windows_boxstarter -DisableReboots
-#
-# For more detail see
-# https://github.com/nodejs/node/blob/HEAD/tools/bootstrap/README.md
-#
-
-# Git and Unix tools will be added to the PATH
-choco install git -params /GitAndUnixToolsOnPath -y
-choco install python3 -y
-
-# Installs VS 2022 Build Tools
-choco install visualstudio2022buildtools -y
-choco install visualstudio2022-workload-vctools -y --params="--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.VC.ATL.ARM64 --add Microsoft.NetCore.Component.SDK --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset"
-
-# NASM
-choco install nasm -y