Skip to content

Commit

Permalink
TypeScript Rewrite (#3)
Browse files Browse the repository at this point in the history
* upgrade workspace

* migrate to vite

* configure biome toolchain

* add optional git hooks

* lint codebase

* fix tests

* update dependencies

* documentation fixes

* update readme

* organize types

* organize constants

* prefer enums over literals

* organize utils

* organize remaining logic

* organize assets

* organize store

* use modern redux conventions

* migrate features to toolkit

* migrate enhancers to toolkit

* add types for components

* clean up and type fixes

* unit test fixes

* more bugfixes

* fix media resolution for mdx files

* update documentation

* couple more hotfixes

* permit download of demo map in dev build

* minor schema fixes

* final round of fixes

* update dependencies
  • Loading branch information
officialMECH authored Oct 30, 2024
1 parent f9d6903 commit 593a772
Show file tree
Hide file tree
Showing 787 changed files with 35,635 additions and 50,690 deletions.
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# workspace
*.local*
*todo*

# dependencies
/node_modules
.pnp.*
Expand All @@ -9,11 +13,12 @@
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# testing
/coverage

# production
/build
/dist

# misc
.DS_Store
Expand Down
6 changes: 0 additions & 6 deletions .new-component-config.json

This file was deleted.

3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["biomejs.biome", "unifiedjs.vscode-mdx", "vitest.explorer"]
}
26 changes: 24 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
{
"editor.formatOnSave": true
}
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true,
"editor.formatOnSaveMode": "file",
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"*.js": "${capture}.js.map, ${capture}.min.js, ${capture}.d.ts, ${capture}.test.js",
"*.ts": "${capture}.js, ${capture}.test.ts",
"*.jsx": "${capture}.js",
"*.tsx": "${capture}.ts",
".gitignore": "*ignore",
"package.json": "yarn.lock, .yarnrc.yml, biome.json, lefthook.yml",
"README.md": "*.md, AUTHORS*, BACKERS*, CHANGELOG*, CODEOWNERS*, CONTRIBUTING*, CONTRIBUTORS*, CODE_OF_CONDUCT*, GOVERNANCE*, HISTORY*, LICENSE*, MAINTAINERS*, SECURITY*, SPONSORS*, TODO*, *.todo",
"tsconfig.json": "tsconfig.*.json",
"vite.config.ts": "*.config.js, *.config.cjs, *.config.mjs, *.config.ts"
},
"files.exclude": {
"**/.git": true,
"**/.yarn/install-state.gz": true,
"**/.yarn/releases": true,
"**/node_modules": true,
"**/yarn.lock": true
},
"typescript.tsdk": "node_modules\\typescript\\lib"
}
768 changes: 0 additions & 768 deletions .yarn/releases/yarn-3.1.1.cjs

This file was deleted.

934 changes: 934 additions & 0 deletions .yarn/releases/yarn-4.5.1.cjs

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .yarn/versions/43f1531c.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
releases:
beatmapper: patch
4 changes: 3 additions & 1 deletion .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
compressionLevel: mixed

enableGlobalCache: true

nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-3.1.1.cjs
yarnPath: .yarn/releases/yarn-4.5.1.cjs
40 changes: 14 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,27 @@
# Beatmapper

## A 3D editor for creating Beat Saber maps
Beatmapper is a web-based _level editor_ for Beat Saber.

![Beatmapper preview](https://github.com/bsmg/beatmapper/blob/master/preview.png?raw=true)
![Beatmapper preview](preview.png?raw=true)

[![Docker Build](https://github.com/bsmg/beatmapper/actions/workflows/docker.yml/badge.svg)](https://github.com/bsmg/beatmapper/actions/workflows/docker.yml)
### Getting Started

Beatmapper is a _map editor_ for Beat Saber, a VR rhythm game. It allows you to create your own maps, for use in the game.
Beatmapper works entirely in the browser; there is nothing to download, nor is there a backend. You can get started now at https://beatmapper.app. On your first visit, you'll be able to play around with a demo map to get a feel for the editor.

### Status: On hold
Documentation is available at https://beatmapper.app/docs.

Unfortunately, I've had to put Beatmapper on the back burner. I do hope to resume work on this project in the future, but for now, you may wish to use an alternative editor.

At the time of writing (February 2021), I was able to create, test, and publish a map, but I know some folks have had issues, and I don't have the bandwidth to explore them right now. So **please do test that your map works on your headset** before sinking a lot of time and effort into it!

### Getting started

Beatmapper works entirely in-browser; there is nothing to download, nor is there a backend. You can get started now at https://beatmapper.app. On your first visit, you'll be able to play around with a demo song, to get a feel for the editor.

Documentation is available [at beatmapper.app/docs](https://beatmapper.app/docs/docs/manual.html).

### Donations
### Why?

Beatmapper is a single-person side-project. I've already invested many, many, many hours in it. If you derive value from it, I'd appreciate donations:
There are many superior editors available for mapping nowadays, including the official editor. Here are some reasons why you may want to use this one:

- [One-time donation](https://ko-fi.com/joshwcomeau)
- [Become a patron](https://www.patreon.com/joshwcomeau)
- Works on any platform with a web browser (including Windows, Mac, and Linux).
- Requires about 1 MB of total download including assets.
- Comes with a demo track, so you can start playing around immediately.

### Why?
That said, there's many capabilities other editors have that Beatmapper can't and likely won't be able to support. If that's a dealbreaker for you, we recommend using a more feature-rich editor like [ChroMapper](https://github.com/Caeden117/ChroMapper) or the official editor for a better experience.

There are several editors already in existence, including an official one. Why make another one?
### Credits

- Cross-platform support. This editor is the only editor that works on MacOS and Linux (some other editors don't even work in a Windows VM!)
- Get started effortlessly. Requires <1mb of total download including assets. It even comes with a demo track, so you can start playing around immediately.
- No "memes".
- Full compatibility. Beatmapper exports both available Beat Saber file formats, which means you can transfer exported maps directly to your Beat Saber device, or import them into other editors. You can also import existing maps in both formats.
Beatmapper was originally a single-person side-project made by Josh Comeau for fun. If you derive value from it, feel free to show your support to the original author:

I'm creating Beatmapper primarily for myself, for fun. Bug reports and feature requests are appreciated, but please understand, **I work on this when I want to**. If you don't like the editor, you do not have to use it.
[Website](https://joshwcomeau.com) | [Ko-Fi](https://ko-fi.com/joshwcomeau) | [Patreon](https://www.patreon.com/joshwcomeau)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 593a772

Please sign in to comment.