* Switch to npm in electron/
May change resolved package versions.
* Remove redundant electron-notarize dependency
The number of dependencies stays the same. Only direct mention in
package.json is removed.
* Assume Node.js 22.x and clean up dependencies
Targeting Node.js 22.x allows using the new fs.glob* functions, which
can replace the glob module. It is still downloaded as there are other
packages using it, but is no longer included in devDependencies.
Also remove @types/filesystem, as this API is not used anywhere in the
code, it is non-standard and some of it was removed from Chromium. Was
likely used with Cordova for YORG.io 3 mobile support.
* Update linting stack
Install the latest versions of the following packages:
- @eslint/js (^9.24.0)
- eslint (^9.24.0)
- typescript-eslint (^8.29.1)
and remove packages that are no longer used:
- @types/eslint__js
- yarn
Config files were not modified.
* Switch root package to npm
npm is able to resolve packages using yarn.lock as a resolution hint.
Note that files other than those included in this commit are
intentionally kept outdated, as they may need a bigger change.
Unfortunately we have to keep a second copy for now. The lockfile
specifies the same version as used in the root package to avoid issues.
This may be replaced with Node.js type stripping in the future.
README.md is updated to include the correct command for testing the
Electron wrapper.
* Update Electron dependencies
This will break some mods and a few things were deprecated, but the
Electron wrapper will be replaced anyway.
* Add macOS and arm64 packaging tasks
As @chunkybanana has tested the general approach to building shapez on
macOS, I can now add these tasks. Aside from that, now there are tasks
to build for the 64-bit ARM variant of each system and a task that
builds packages for all platforms and architectures at once. A bug where
localConfig wasn't created when building for the first time was also
fixed.
* Unify the version source
Changes the development config to use version from package.json and
makes the production config use the same utility function. Also removes
the version file as it's no longer needed.
* Remove some Steam references from build process
Removes files needed to publish the game on Steam and related tasks that
can be only used by the developer anyway. Only the build process is
affected, the actual game part still supports Steam integration.
* Refactor/add packaging tasks
Adds new Gulp tasks to create a distributable package of the game. A
task for macOS is not provided because signing needs to be figured out
first. Package creation tasks are also aliased in package.json for
future usage in external tools or CI. Aside from that, alternative
methods of downloading the libGDX Texture Packer are dropped.
* Remove deprecated TSLint config
* Remove jsconfig.json
jsconfig.json is an alternative name for tsconfig.json that has allowJs
set to true. Since the directory already contains a tsconfig.json file,
this file does nothing.
* Remove Gitpod configuration
Gitpod is not as useful in CE because we're focusing on standalone.
Also, the configuration was added just to promote the service and there
are other similar services which may be preferred by the user.
* Remove Travis CI configuration
Travis CI is not used in shapez anymore in favor of GitHub Actions. In
addition to that, CI setup for the community edition will be done once
the codebase is in a better condition.
* Remove CONTRIBUTORS and CONTRIBUTING.md
The contributors file is out of date and unneeded as GitHub now shows
all collaborators anyway - however it could be still used in the future
to show a list of contributors in the game. CONTRIBUTING.md contains the
text of CLA, which is not enforced in this repository.
* Replace VSC workspaces with regular settings files
VSCode workspaces don't provide much benefit in a source tree like
shapez. This commit also adds EditorConfig and ESLint VSCode extensions
to the recommended extensions list.
* Remove CI workflow for building the game
It hasn't been updated in a while and we don't need it for now. Once the
codebase is in a more managable state, a new workflow will be added.
* Remove some unused resources
There are still many resources left, but they will be removed along with
the relevant code later.