* Bump electron version to 22.2.1
* Fix npm run electron command (needed the electron-packager-all command which I had removed)
* Improve the npm run format command, no longer floods terminal with all file names
* Updated start command to serve the built version of the game in .app
* Remove some unused commands and unused workflows. Combined the ci and ci-pr workflows.
* Modify check for generated files logic. Attempt to fix so it will edit its own comment instead of posting a new one on every commit.
* Try to fix check for generated files to create a comment on a PR.
* Check for generated files does not count as a failure.
* Lint doesn't fail based on stuff in dist. Prettier and lint no longer use the "diff" version.
* Removed some commands that weren't really used (specific version electron packager commands that require you to have already ran npm run electron to generate .package folder)
`npm run build` now generates a .app folder with the minimal run files
`npm run electron` now uses the .app contents as a base
deploy-dev.yml should upload just the .app folder after building (not tested yet)
* Updated mathjax and better-react-mathjax
* Removed MathJaxWrapper. Per better-react-mathjax documentation, we were incorrectly including a new context for every equation using this wrapper.
* Wrapped entire game in a MathJaxContext at GameRoot.
Includes some bug fixes:
* Fix sleeve shock internal/display discrepancy (0-100 vs 0-100)
* Special error message if ns function called without a this
* Change whitespace to pre-wrap for dialog box.
* Fix bug where idle sleeves do not consume cycles but still recover shock from those cycles. Now they do not recover during idle.
* attempted to tag commit as v2.2.0
Cypress and Jest both define "expect", but they come from different
libraries (Cypress uses Chai, Jest uses its own thing). So we can't
include both of them in the tsconfig.json. Conveniently, however, we
don't need any of the test code to be part of the main project, so
it suffices to give these things their own tsconfig.json files.
That being done, adding "jest" to the global types lets us remove all
those imports.
Cypress and Jest both define "expect", but they come from different
libraries (Cypress uses Chai, Jest uses its own thing). So we can't
include both of them in the tsconfig.json. Conveniently, however, we
don't need any of the test code to be part of the main project, so
it suffices to give cypress its own tsconfig.json file.
That being done, adding "jest" to the global types lets us remove all
those imports.
depcheck is useful here. Has some false reports, but there are some
unused packages and some missing ones. Also I moved types to dev-
dependencies because we don't use them at runtime.
Replaces the `npm run allbuild` script with the `npm version` command.
It creates a new commit with a standardized message & includes the built
app.
Usage: `npm version [patch | minor | version | 10.0.0 | etc]`
Will update the package.json & perform a bunch of steps in a row:
- Runs `npm install` in:
- The root directory
- The ./electron/ directory
- The ./tools/bump-version/ directory
- Runs `npm run test`
- Update the version string in:
- ./electron/package.json (version)
- ./src/Constants.ts (VersionString)
- ./doc/source/conf.py (version & release)
- Runs `npm run doc` (build the markdown documentation)
- Runs `npm run build` (production build)
- Runs `npm run electron` (electron build)
- Runs `git add --all`
- Runs `git push -u origin dev && git push --tags`
It did not resolve all of the vulns as some are gated behind breaking
changes. Most of them seem to be resolved when updating to webpack 5
Also moves devDependencies out of normal dependencies, as a few libs
were better suited for dev.
It lets us bundle static files such as images.
Allows us to `imports img from "./img.png"` to retrieve an image's path.
Note that we'll have to add other entries in the global.d.ts file if we
want to handle other extensions than .png.
Adds mocks to Jest tests so that we don't fail tests when loading static
assets.
Handling the exceptions and closing the app seem to properly kill the
dangling processes that appear at launch in Windows 10. Without this, if
an exception is throw before the window is active (ie: no
steamapp_id.txt file), there will be remaining processes.
Added electron-log to additionally log to a text file.