A light version of the revert to help builds work on TGS3.
(TGS3 builds were locking up on live, causing servers to be unable to testmerge or update things because of something to do with the recent juke build. I don't into the build tool, otherwise I'd be more clear)
Added an option to tools/build/build to treat DreamMaker warnings as errors. Enabled this option only for Windows Build (tools/ci/build.ps1).
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Juke Build 0.9.0
* Fix a small bug with build.js
* Distill cmds
* Return sonar
* Revert those build.cmd changes
* Some improvements
* Treat all sonar warnings as errors because they should fail the sonar target
* Do not clean up bootstrap cache because it locks up on removing it
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.
Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.
Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.
Makes the code more legible and makes mapping less painful.
(The payment has been made)
## About The Pull Request
**Upgrades:**
- Yarn 3.0
- TypeScript 4.3
- Sass 1.37
- Required some refactoring of `/` into `math.div()` in CSS
**Dependency removals:**
- Removed ESM package, see: https://github.com/standard-things/esm/pull/902
I initially thought it was impossible to stop relying on this package, but fortunately, ES module support in Node 12+ now comes standard and I only had to convert the very few external module imports to `require()` (because Yarn PnP).
I also moved `logging.js` directly into `tgui-dev-server` package, because that's where it is used. One less internal dependency.
**Sidegrades:**
- Removed creation of a common tgui chunk, because in practice it creates unnecessary complexity (devs sometimes get a white screen due to this chunk being invalid) and doesn't really save that much data on CDN, and **definitely** doesn't make tgui load faster.
I think that is all. I tested it a bit and everything seemingly works.
Basically, saves developer's time by yelling that the compiler can't write to dmb/rsc, because they are locked by Dream Daemon.
Added myself as a code owner for /tools/build.
* Update rust version to latest release
This should fix the fact our docker build has been failing for the past
10 days
* Make wget not be quite so noisy
Updated Juke Build to version 0.4.0
Main new feature: dependsOn, inputs, outputs, and onlyWhen fields now all accept a function of format ({ get }) => ..., and all of them can be async. This means that you can easily parametrize every part of the build.
Added references to Juke Build to README in the build folder
extends the tile reskinning functionality to iron, bronze, plastitanium, carpet and pod floors
makes a bit of tile code better
moves some paths around, like elevator shafts being plating instead of floor
adds rotating as a tile reskinning function available on chapel or side floors for example
lets players customize any rooms they would want much more than it is possible now, allowing for more creativity
This pull request converts the changelog to TGUI.
Note: Old unused changelog files will be automatically removed on the next changelog run
Why It's Good For The Game
More consistent UI, ability to view all historic logs.
Changelog
cl Celotajs
refactor: Converted the changelog popup to TGUI
/cl
Adds the ability for the TGS4 precompile script on Linux platforms to resolve the youtube-dl dependency. This essentially is for Docker deployments, but can also apply to regular TGS4 deployments as well.
This PR adds a minor note about needing to compile rust-g to Linux building instructions. I'm not sure if this is the appropriate place for it, but I don't see a better place to put it.
Adds a new CBT define which is automatically created when building. If this define is absent, the build will fail.
This is what Cyberboss tried to do with USE_BUILD_BAT_INSTEAD_OF_DREAM_MAKER.dm, but couldn't.
The reasoning behind this is CBT is already a requirement to build a fresh project, otherwise the tgui bundle files won't exist. This gives a readable error to go along with that. However, you can currently build once then just use Dream Maker. This is a footgun - not only are we already adding new things to CBT like tgfont which will fail later on, but also it will create weird scenarios when we add tasks to CBT that don't immediately fail if not ran, or otherwise create out of sync builds.
Also replaces rmSync with unlinkSync, which works on older Node versions.
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Added column 80 rulers to all javascript and scss files.
Added a "prettier" config to have sensible defaults for those who prefer to use it.
Added RadarJS (fork of SonarQube's SonarJS). Launchable only via bin/tgui --lint-harder for now.
Disabled ESLint rule for parens around arrow function arguments, because in TypeScript they're pretty much always required, and I don't want to replace it throughout the codebase.
Removed unused javascript extensions from tooling (jsx, mjs).
The action has been working fine, and every bug its had has been solved not with disabling it, but with me resolving it. There's no reason to keep around the old system anymore. Viva la actions.
* Fix finding of dreamseeker instances and not die on cache copy failures
* Upgrade dependencies, resolve webpack dependencies explicitly
* Preload tgui asset to fix reloading of a not yet sent tgui asset
* Rewrite node bootstrap and DM build task
* Redundant array accessor
* Add install-state.gz to tgui build dependencies
* Update build.js
* Use a proper dmlang vscode var