Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIRROR] TGUI maintenance chores and juke upgrades #4717

Merged
merged 3 commits into from Feb 8, 2022

Conversation

AustationBot
Copy link
Member

Original PR: BeeStation/BeeStation-Hornet#6247

About The Pull Request

Ports several juke/tgs changes to resolve some of our technical debt and to get the TGUI dev server working again.

Ported the following:

Why It's Good For The Game

General TGUI improvements and QoL changes for development.

⚠️ IMPORTANT CHANGES ⚠️

Interacting with TGUI has changed drastically. There is no longer a bin/tgui script to interact with. Instead, developers will need to use either the windows scripts found in the bin/ root directory, via Juke, or via yarn. Excerpt from the updated tgui/README.md below.

TGUI usage

Via provided cmd scripts (Windows):

  • bin/tgui-build - Build tgui in production mode and run a full suite of code checks.
  • bin/tgui-dev - Launch a development server.
    • bin/tgui-dev --reload - Reload byond cache once.
    • bin/tgui-dev --debug - Run server with debug logging enabled.
    • bin/tgui-dev --no-hot - Disable hot module replacement (helps when doing development on IE8).
  • bin/tgui-sonar - Analyze code with SonarQube.
  • bin/tgui-bench - Run benchmarks.

To open a CMD or PowerShell window in any open folder, right click while holding Shift on any free space in the folder, then click on either Open command window here or Open PowerShell window here.

Via Juke Build (cross-platform):

  • tools/build/build tgui - Build tgui in production mode.
  • tools/build/build tgui-dev - Build tgui in production mode.
    • tools/build/build tgui-dev --reload - Reload byond cache once.
    • tools/build/build tgui-dev --debug - Run server with debug logging enabled.
    • tools/build/build tgui-dev --no-hot - Disable hot module replacement (helps when doing development on IE8).
  • tools/build/build tgui-lint - Show (and auto-fix) problems with the code.
  • tools/build/build tgui-sonar - Analyze code with SonarQube.
  • tools/build/build tgui-test - Run unit and integration tests.
  • tools/build/build tgui-analyze - Run a bundle analyzer.
  • tools/build/build tgui-bench - Run benchmarks.
  • tools/build/build tgui-clean - Clean up tgui folder.

With Juke Build, you can run multiple targets together, e.g.:

tools/build/build tgui tgui-lint tgui-tsc tgui-test

Via Yarn (cross-platform):

Run yarn install once to install tgui dependencies.

  • yarn tgui:build - Build tgui in production mode.
    • yarn tgui:build [options] - Build tgui with custom webpack options.
  • yarn tgui:dev - Launch a development server.
    • yarn tgui:dev --reload - Reload byond cache once.
    • yarn tgui:dev --debug - Run server with debug logging enabled.
    • yarn tgui:dev --no-hot - Disable hot module replacement (helps when doing development on IE8).
  • yarn tgui:lint - Show (and auto-fix) problems with the code.
  • yarn tgui:sonar - Analyze code with SonarQube.
  • yarn tgui:tsc - Check code with TypeScript compiler.
  • yarn tgui:test - Run unit and integration tests.
  • yarn tgui:analyze - Run a bundle analyzer.
  • yarn tgui:bench - Run benchmarks.

Testing Photographs and Procedure

  • Built the base using the default VSC command (Ctrl+Shift+B)
  • Built the base using the debug function (F5)
  • Built the base using BUILD.bat
  • Built the base using tools/build/build
  • Used all of the bin/*.cmd scripts
  • Verified that the TGUI-dev server worked (see screenshots)
  • Tested basic TGUI elements and windows
Screenshots&Videos

image

image

image

Changelog

🆑stylemistake,SplinterGP,mokulus
code: Treat DreamMaker warnings as errors in CI
refactor: Performance of core tgui components was improved (Button, Icon, Flex, Stack). UI should feel a tiny bit faster.
/:cl:

@AustationBot AustationBot added Code Improvement Makes something better from a code perspective GitHub Changes GitHub tooling Refactor Refactors some code Tools Changes made to tools UI Changes made to the UI system Upstream PR Merged This PR is mirrored from upstream. Automatically assigned by the AuStation Bot. labels Jan 28, 2022
@github-actions
Copy link

github-actions bot commented Feb 1, 2022

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the Merge Conflict PR is conflicting and can't be merged label Feb 1, 2022
@TheFakeElon
Copy link
Collaborator

remirror

Crossedfall and others added 2 commits February 9, 2022 07:30
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: mokulus <36231852+mokulus@users.noreply.github.com>
Co-authored-by: SplinterGP <isseisanloverias@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
@AustationBot AustationBot removed the Merge Conflict PR is conflicting and can't be merged label Feb 8, 2022
@TheFakeElon TheFakeElon enabled auto-merge (squash) February 8, 2022 22:51
@TheFakeElon TheFakeElon merged commit cda91fb into master Feb 8, 2022
@TheFakeElon TheFakeElon deleted the upstream-merge-6247 branch February 8, 2022 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Improvement Makes something better from a code perspective GitHub Changes GitHub tooling Refactor Refactors some code Tools Changes made to tools UI Changes made to the UI system Upstream PR Merged This PR is mirrored from upstream. Automatically assigned by the AuStation Bot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants