Skip to content

Commit c4ea7b7

Browse files
authored
Monorepo (#250)
* Initial move of files to monorepo * Remove more stuff and cleanup * Finish setting up docs (and add tailwind) * Potentially fix up * Move readme and add some documentation * Remove experimental externalDir * Move icons to shared code * Move to turborepo * Re-add linting * Update pre-commit * Fix react type dependency * Fix very weird ts error * Fix link with @types/wicg-file-system-access * Fix updated node types * thwonk * Silence * Fix testing * Don't hardcode auth * Update turbo.json
1 parent e2ae270 commit c4ea7b7

File tree

337 files changed

+1814
-1034
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

337 files changed

+1814
-1034
lines changed

.babelrc

Lines changed: 0 additions & 5 deletions
This file was deleted.

.eslintrc.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = {
2+
root: true,
3+
// This tells ESLint to load the config from the package `eslint-config-custom`
4+
extends: ["@dumbcode/eslint-config-custom"],
5+
settings: {
6+
next: {
7+
rootDir: ["apps/*/"],
8+
},
9+
},
10+
};

.eslintrc.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

.gitignore

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,21 @@
11
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
22

33
# dependencies
4-
/node_modules
5-
/.pnp
4+
node_modules
5+
.pnp
66
.pnp.js
77

88
# testing
9-
/coverage
10-
*.log
9+
coverage
1110

1211
# next.js
13-
/.next/
14-
/out/
15-
16-
# production
17-
/build
12+
.next/
13+
out/
14+
build
1815

1916
# misc
2017
.DS_Store
2118
*.pem
22-
npm-debug.log*
23-
.eslintcache
2419

2520
# debug
2621
npm-debug.log*
@@ -29,24 +24,10 @@ yarn-error.log*
2924
.pnpm-debug.log*
3025

3126
# local env files
32-
.env*.local
33-
34-
# vercel
35-
.vercel
36-
37-
# typescript
38-
*.tsbuildinfo
39-
40-
# editor
41-
.vscode/*
42-
43-
# devfiles
44-
src/stylesheets/index.css
27+
.env.local
28+
.env.development.local
29+
.env.test.local
30+
.env.production.local
4531

46-
# PWA files
47-
**/public/sw.js
48-
**/public/workbox-*.js
49-
**/public/worker-*.js
50-
**/public/sw.js.map
51-
**/public/workbox-*.js.map
52-
**/public/worker-*.js.map
32+
# turbo
33+
.turbo

README.md

Lines changed: 48 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,73 @@
1-
# DumbCode Studio v1
1+
# Turborepo starter
22

3-
The Dumbcode Studio v1 is meant to be the model for the first release version of the DumbCode Studio. We have had the great opportunity to work with out community to design this beutiful piece of software. We have gone through 3 main phases of the studio to get it to this point and we are very happy to bring it to the public finally after all these years!
3+
This is an official Yarn v1 starter turborepo.
44

5-
## What does it do?
5+
## What's inside?
66

7-
The DumbCode Studio is a conjunction of tools for creating entity mods for minecraft. It includes:
8-
- A Project File Handler
9-
- A Modeler
10-
- An Animator
11-
- Texture Mapper
12-
- Texturing tools
13-
- A variety of export options, including to our Lib format DumbLibrary
7+
This turborepo uses [Yarn](https://classic.yarnpkg.com/) as a package manager. It includes the following packages/apps:
148

15-
## Project Management v2
9+
### Apps and Packages
1610

17-
The project page has always been the hub for the studio. This is the place where you start and finish all your projects. As the Studio evolved over this past year we found it to need a bit of an overhaul in what faces the user. We took the react rewrite as an opportunity to rethink it and make it the most user friendly the community has ever seen it. We've also brought a bunch of new features to project management like remote projects to incorperate things directly with your git repositories.
11+
- `docs`: a [Next.js](https://nextjs.org) app
12+
- `web`: another [Next.js](https://nextjs.org) app
13+
- `ui`: a stub React component library shared by both `web` and `docs` applications
14+
- `eslint-config-custom`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
15+
- `tsconfig`: `tsconfig.json`s used throughout the monorepo
1816

19-
## The Modeler
17+
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
2018

21-
The modeler is the team's goal to take what we've learned from other modeling softwares like Tabula and Blockbench for Minecraft mods, and professional modeling softwares like Rhinoceros to create a fully functional piece of software for creating blocky style models. Our goal is for studio models to be useful for your games or mods in a more user friendly way than ever before.
19+
### Utilities
2220

23-
Our command backed interface makes the software very easily expandable in the future and we plan to keep adding new features well into the future.
21+
This turborepo has some additional tools already setup for you:
2422

25-
## The animator v3
23+
- [TypeScript](https://www.typescriptlang.org/) for static type checking
24+
- [ESLint](https://eslint.org/) for code linting
25+
- [Prettier](https://prettier.io) for code formatting
2626

27-
The DumbCode animator v1 was a proof of concept to animate Tabula models for our minecraft mods. The prototype version turned out to be a huge improvement to our workflow so we refined it in v2 with new features and a new more friendly interface which allowed some community members to provide feedback too. The 3rd version is meant to be the final visual change for the animator. It takes the v2 animator and makes it more accessible for any and all users. Those experienced with other softwares and even new animators will find this new version to be much simpler than before while allowing for more complex animations to take place in less screen realistate while sticking to our original design goals.
27+
### Build
2828

29-
## The Texture Mapper
29+
To build all apps and packages, run the following command:
3030

31-
This version of the studio breaks apart the texture mapping and texturing tools into seperate tasks, This makes the controlls on the texturer more reliable for your textureres and allows for simplified user interfaces. In the future we want to make texture mapping as painless as possible, and this is the first step towards that future.
31+
```
32+
cd my-turborepo
33+
yarn run build
34+
```
3235

33-
## The Texturer v2
36+
### Develop
3437

35-
In this version we've taken the Texturer to a new level. Originally we made the texturer to be a simple mapping tool with some painting options to make it easy to get your bearings on a model in an external texturing tool. We've decided to allow for the user to create a full worspace for texturing the models further than ever before in a tool like the studio. We don't think this will be the final stage of the Texturer but we do believe that it's the first step towards it being great.
38+
To develop all apps and packages, run the following command:
3639

37-
## Summary and Disclaimer
40+
```
41+
cd my-turborepo
42+
yarn run dev
43+
```
3844

39-
DumbCode has been working on this project for a long time, and are very excited to make it useful to the public in the near future. Public functionality will come soon, and is technically avalible.
45+
### Remote Caching
4046

41-
More news to come and make sure to keep up with us on [Discord](https://www.dumbcode.net/discord) and on our [Website](https://www.dumbcode.net/) for news to come.
47+
Turborepo can use a technique known as [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
4248

43-
### Contributing
49+
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
4450

45-
## Getting Started
51+
```
52+
cd my-turborepo
53+
npx turbo login
54+
```
4655

47-
First, run the development server:
56+
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
4857

49-
```bash
50-
yarn dev
51-
```
58+
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:
5259

53-
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
60+
```
61+
npx turbo link
62+
```
5463

55-
## Learn More
64+
## Useful Links
5665

57-
To learn more about Next.js, take a look at the following resources:
66+
Learn more about the power of Turborepo:
5867

59-
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
60-
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
68+
- [Pipelines](https://turborepo.org/docs/core-concepts/pipelines)
69+
- [Caching](https://turborepo.org/docs/core-concepts/caching)
70+
- [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching)
71+
- [Scoped Tasks](https://turborepo.org/docs/core-concepts/scopes)
72+
- [Configuration Options](https://turborepo.org/docs/reference/configuration)
73+
- [CLI Usage](https://turborepo.org/docs/reference/command-line-reference)

apps/docs/.eslintrc.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
root: true,
3+
extends: ["@dumbcode/eslint-config-custom"],
4+
};

apps/docs/.lintstagedrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('@dumbcode/eslint-config-custom/lint-staged')

apps/docs/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## Getting Started
2+
3+
First, run the development server:
4+
5+
```bash
6+
yarn dev
7+
```
8+
9+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
10+
11+
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
12+
13+
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
14+
15+
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
16+
17+
## Learn More
18+
19+
To learn more about Next.js, take a look at the following resources:
20+
21+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
22+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
23+
24+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
25+
26+
## Deploy on Vercel
27+
28+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js.
29+
30+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)