* Creates a node compatibility mode (#82334)
## About The Pull Request
By default this will install node v20 LTS, but if a user is detected to
be using win 7 it's node v14
This lets us run higher node versions (with presumably more stable and
performant content) while allowing win 7 users to play
I should note that this is making clean tgui builds run at ~6.7sec which
is about a 6.9% speed increase (nice) from the previous #80310
## Why It's Good For The Game
Better tools
## Changelog
N/A nothing player facing
* Creates a node compatibility mode
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* windows node bootstrapping now downloads node.exe to a separate file before renaming it (#73586)
This should stop people from getting "corrupt" copies of node.exe in
their `./tools/bootstrap/.cache` directory. I checked before making this
commit that WebClient.DownloadFile can definitely result in a
half-written file.
* windows node bootstrapping now downloads node.exe to a separate file before renaming it
---------
Co-authored-by: willox <me@wiox.me>
* Change NodeJS on Windows to 64-bit, downgrade to v14.16.1 (#64513)
* Change bootstrapped NodeJS on Windows from 32-bit to 64-bit
* Last node version to support Win7
* Skip platform check
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Change NodeJS on Windows to 64-bit, downgrade to v14.16.1
Co-authored-by: William Wallace <me@wiox.me>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Always use vendored NodeJS on Windows (#64461)
As @ SpaceManiac said:
A big part of the point of the bootstrap scripts is to provide a reproducible environment
Here I am, web-removing the bit of code that allows using a system-wide version of NodeJS. Now we're vendored only.
* Always use vendored NodeJS on Windows
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Bumps bootstrapped python version to 3.7.9 (#64246)
From quick test all our helper scripts work fine on 3.7.
Why 3.7.9 instead of latest 3.7.12 ? Embed zips for these versions are missing from python.org ftp. (They apparently do not ship binaries for security-fix only releases)
* Bumps bootstrapped python version to 3.7.9
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Simplified Node Bootstrap mk. II (#56797)
Script tools/bootstrap/node_.ps1 will now only download a single node.exe file (32-bit variant) and nothing more.
Since we don't need to unzip, we removed a dependency on a .NET component.
Removed logging, because TGS4 already logs stdout/err, while all this fancy output redirection breaks on older PowerShell versions.
node.bat uses a system-wide node exe if available
CBT will not mislead users by printing things like "missing tgstation.dmb"
* Simplified Node Bootstrap mk. II
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Simplify Node bootstrapping (#56713)
Fixes#56676 (can't test because author didn't answer my inquiries on discord)
- Script `tools/bootstrap/node_.ps1` will now only download a single `node.exe` file (32-bit variant) and nothing more.
- Since we don't need to unzip, we removed a dependency on a .NET component.
- Removed logging, because TGS4 already logs stdout/err, while all this fancy output redirection breaks on older PowerShell versions.
- `node.bat` uses a system-wide node exe if available
- CBT will not mislead users by printing things like "missing tgstation.dmb"
* Simplify Node bootstrapping
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Use portable Python for map merge hooks, other tools (#55658)
* Add .dmm merge driver (#55699)
This is kind of a prototype. It only fully handles a few situations,
and doesn't produce particularly easy-to-read conflict markers when it
fails. I hope that it can be useful at least some of the time, can be
improved over time, and that the lessons learned can influence a future
interactive GUI conflict resolver (integrated into StrongDMM?). In the
worst case, one can fall back to the tried and true "manually re-do one
side's changes" strategy.
**Automatic use**: In `tools/hooks/`, run `Install.bat`
**Manual use**, for Git GUIs that don't run merge drivers: while a
merge is in progress, in `tools/mapmerge2/`, double-click `Resolve Map
Conflicts.bat`
This PR also removes the error-prone "Prepare Maps.bat" /
"mapmerge.bat" workflow. Those who aren't using the hooks should
instead use `Run Before Committing.bat` before committing. First-time
contributors who opened a PR without map merging can be advised to run
`I Forgot To Map Merge.bat`.
* Fix loose double-quot in tradership_faction.dmm
Co-authored-by: Tad Hardesty <tad@platymuus.com>