Skip to content

Commit 6d332f8

Browse files
MartinFillonExeloo
andauthored
Ci/create release workflow (#87)
* ci(release): create a release workflow * chore: prepare first release * chore(release): set publishing * chore: simplify and standardize tsconfig, update package structure and toolchain configuration * chore(config): update release configuration and remove unused dependencies * chore: update all sub packages package json to be ready for release * fix(build): the project was no longer building after build system update * feat: change lerna to turbo * chore: fix tests to feat with new build * chore(workflow): remove clean step from linter command * chore(prettier): add `emsdk-cache/` to .prettierignore --------- Co-authored-by: Exelo <[email protected]>
1 parent d03f475 commit 6d332f8

File tree

127 files changed

+3653
-7091
lines changed

Some content is hidden

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

127 files changed

+3653
-7091
lines changed

.github/workflows/release.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*.*.*"
7+
- "v*.*.*-pre"
8+
workflow_dispatch:
9+
10+
jobs:
11+
release:
12+
runs-on: ubuntu-latest
13+
name: Building stack
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v5
17+
18+
- name: Release
19+
uses: softprops/action-gh-release@v2
20+
if: startsWith(github.ref, 'refs/tags/')
21+
with:
22+
files: |
23+
CHANGELOG.md

.github/workflows/tests.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,14 @@ env:
1111
EM_CACHE_FOLDER: "emsdk-cache"
1212

1313
jobs:
14-
tests:
14+
checkout:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- name: "Checkout"
18-
uses: actions/checkout@v2
19-
with:
20-
fetch-depth: 0
17+
- name: Checkout
18+
uses: actions/checkout@v5
2119

2220
- name: "Setup pnpm"
2321
uses: pnpm/action-setup@v4
24-
# with:
25-
# run_install: false
2622

2723
- name: "Setup node"
2824
uses: actions/setup-node@v4
@@ -45,4 +41,4 @@ jobs:
4541
run: pnpm test:unit
4642

4743
- name: "Run linter"
48-
run: pnpm clean && pnpm lint
44+
run: pnpm lint

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,7 @@ dist
223223
.yarn/install-state.gz
224224
.pnp.*
225225

226-
# NX
227-
.nx/
228-
.cursor/rules/nx-rules.mdc
229-
.github/instructions/nx.instructions.md
226+
# Turbo
227+
.turbo/
230228

231229
compile_commands.json

.husky/pre-commit

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
pnpm fix
1+
pnpm --no-install lint-staged
2+
pnpm format

.husky/pre-push

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
pnpm clean
21
pnpm lint
32
pnpm build
4-
pnpm test
3+
pnpm test:unit

.prettierignore

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,15 @@ package-lock.json
44
yarn.lock
55
bun.lock
66

7-
/.nx/cache
8-
/.nx/workspace-data
7+
packages/
8+
example/
9+
utils/
10+
releases/
11+
12+
.turbo/
13+
node_modules/
14+
dist/
15+
coverage/
16+
CHANGELOG.md
17+
18+
emsdk-cache/

CHANGELOG.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
## [unreleased]
2+
3+
### Bug Fixes
4+
5+
- *(ecs)* Change jest workflow
6+
- *(ecs)* Constructor are now binded
7+
- *(ecs/sparse array)* No discard on const methods
8+
- *(ecs/sparseArray)* Fix missing erase definition
9+
- *(ecs)* Fix jest workflow and tests compile
10+
- *(ecs)* Add type name verification for vars
11+
- *(ecs)* Change type handling on lib ecs
12+
- *(ecs)* Fix tests
13+
- *(common)* Init lib order
14+
- *(common)* Change is running
15+
- *(graphics)* Fix display
16+
- *(graphics)* Fix tests
17+
- *(graphics)* Game loop
18+
- *(game)* Delete bun.lock
19+
- *(pong)* Delete custom framerate
20+
- *(ecs)* Rename createEntity to spawnEnity
21+
- *(exceptions)* Bad naming
22+
- Change exception handling
23+
- *(common)* Update exception imports and adjust formatting in abstract class
24+
- *(graphics-2d, ecs)* Update type handling in vertex buffer and library init test
25+
- *(music)* Versions issue
26+
27+
### Features
28+
29+
- Initial commit
30+
- *(ecs/compilation)* Add basic makefile
31+
- Add wasm compilation to package.json
32+
- *(ecs/compilation)* Add wasm object creation
33+
- *(ecs/wasm)* Emsdk installation script in Readme.md
34+
- *(ecs/wasm)* Add basic test templated class
35+
- *(ecs/wasm)* Emsdk installation script in Readme.md
36+
- *(ecs)* Setup basic sparse array boiler plate code.
37+
- *(ecs)* Add type generation in makefile
38+
- *(ecs/sparseArray)* Add more functions to the sparse array
39+
- *(ecs/sparseArray)* Add more functions to the sparse array
40+
- Custom header
41+
- Add core and common
42+
- Add asset manager default in core
43+
- *(ecs/registry)* Base regitry and simple tests:
44+
- *(ecs/registry)* Systems handling and testing
45+
- *(asset-manager)* Add base library
46+
- *(asset-manager)* Add asset manager
47+
- *(asset-manager)* Add tests
48+
- *(ecs)* Modify ts rule to get types
49+
- *(graphics-2d)* Add base library
50+
- *(asset-manager)* Add wgsl handling
51+
- *(asset-manager)* Add file return
52+
- *(common)* Add templates to each get library functions
53+
- *(graphics)* Add base component and circle component
54+
- *(ecs/zipper)* Add indexed zipper and zipper with tests
55+
- *(ecs)* Setup wasm to be loaded from path specified in ecs library
56+
- *(ecs)* Add more methods to be exported by ecs library
57+
- *(ecs/tsbindings)* Add the zipper functions to the library
58+
- *(game)* Add template
59+
- *(game)* Add graphics factory
60+
- *(game)* Add width and height
61+
- *(game)* Create pong example game
62+
- *(template)* Add scripts to template
63+
- *(example/pong)* Base velocity system clocked with a framerate limiter
64+
- *(ecs)* Add type for components
65+
- *(systems)* Add ts type for systems
66+
- *(ecs)* Type getEntityComponent family of functions
67+
- *(ecs/zipper)* Merge zipper in types
68+
- *(graphics)* Add rectangle
69+
- *(input)* Add input library
70+
- *(core)* Add tickrate and fix runner
71+
- *(game)* Create pong bounce system
72+
- *(game)* Create pong players with background
73+
- *(game)* Add inputs in pong
74+
- *(graphics)* Add dynamic size handle of canvas
75+
- *(common)* Add dependencies handler
76+
- Add dependencies to current libs
77+
- Add dependencies handling
78+
- *(core)* Add default libraries to constructor
79+
- *(sound)* Init basic sound library
80+
- *(sound)* Add sound playing
81+
- *(sound)* Add basic sound playing to example
82+
- *(app)* Add the ability to mute and unmute sounds
83+
- *(core)* Enhance type safety and execution context handling
84+
- *(config)* Add initial configuration for libraries
85+
- *(common, core, config)* Introduce configuration registry and validation system
86+
- *(core)* Add `class-transformer` and `class-validator` dependencies for validation utilities
87+
- *(music)* Init basic music library
88+
- *(music)* Finish music library and add an interface for mutable libraries
89+
- *(ci)* Add build step to GitHub Actions tests workflow
90+
- *(example)* Update `pong` game mechanics and graphics integration
91+
- *(systems)* Start adding context to systems
92+
- *(ecs)* Add ecs context to the systems
93+
94+
### Miscellaneous Tasks
95+
96+
- Fix idea
97+
- *(ecs)* Change idea name
98+
- Add idea to common and core
99+
- Add current state of graphics library
100+
- Remove bun lock that was breaking unit tests
101+
- *(husky)* Update pre-push and commit-msg scripts for pnpm compatibility
102+
- *(config)* Update nx and gitignore configurations, adjust prettierignore rules
103+
- *(example)* Update `pong` example to use workspace dependencies and refine configurations
104+
- *(husky)* Simplify pre-push script by adjusting pnpm command
105+
- Migrate to shared ESLint and Prettier configurations, remove package-specific configs
106+
- Remove `pnpm-lock.yaml` to decouple dependency locking from the workspace configuration
107+
- Migrate packages to shared ESLint and Prettier configs
108+
- Remove unnecessary `@types/node` and `typescript` dependencies from `packages/input`
109+
- Update Jest configs and refine tsconfig paths across packages
110+
- *(example/pong)* Update dependencies, and migrate to shared ESLint & Prettier configs
111+
- *(example/template)* Update dependency locking to workspace resolution
112+
- Prepare first release
113+
114+
### Refactor
115+
116+
- *(graphics-2d)* Remove custom rendering core and replace with `Konva`
117+
118+
### Testing
119+
120+
- *(ecs/sparseArray)* Add unit tests for sparse array
121+
- *(libs)* Include ConfigRegistry in library initialization test
122+
123+
### Build
124+
125+
- *(ecs)* Add standalone build and html and js build
126+
- Update dependencies
127+
- Upgrade dependencies and engines to latest versions
128+
129+
### Ci
130+
131+
- Setup tests ci
132+
- Add linting to ci
133+
- Branch name was on master isntead of main
134+
- *(release)* Create a release workflow

CODE_OF_CONDUCT.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
1717
Examples of behavior that contributes to a positive environment for our
1818
community include:
1919

20-
* Demonstrating empathy and kindness toward other people
21-
* Being respectful of differing opinions, viewpoints, and experiences
22-
* Giving and gracefully accepting constructive feedback
23-
* Accepting responsibility and apologizing to those affected by our mistakes,
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
2424
and learning from the experience
25-
* Focusing on what is best not just for us as individuals, but for the
25+
- Focusing on what is best not just for us as individuals, but for the
2626
overall community
2727

2828
Examples of unacceptable behavior include:
2929

30-
* The use of sexualized language or imagery, and sexual attention or
30+
- The use of sexualized language or imagery, and sexual attention or
3131
advances of any kind
32-
* Trolling, insulting or derogatory comments, and personal or political attacks
33-
* Public or private harassment
34-
* Publishing others' private information, such as a physical or email
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email
3535
address, without their explicit permission
36-
* Other conduct which could reasonably be considered inappropriate in a
36+
- Other conduct which could reasonably be considered inappropriate in a
3737
professional setting
3838

3939
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
106106
### 4. Permanent Ban
107107

108108
**Community Impact**: Demonstrating a pattern of violation of community
109-
standards, including sustained inappropriate behavior, harassment of an
109+
standards, including sustained inappropriate behavior, harassment of an
110110
individual, or aggression toward or disparagement of classes of individuals.
111111

112112
**Consequence**: A permanent ban from any sort of public interaction within

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Supported Versions
44

55
| Version | Supported |
6-
|---------|--------------------|
6+
| ------- | ------------------ |
77
| all | :white_check_mark: |
88

99
## Reporting a Vulnerability

commitlint.config.cjs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
module.exports = {
2-
extends: ["@commitlint/config-conventional"],
3-
rules: {
4-
},
5-
};
2+
extends: ["@commitlint/config-conventional"],
3+
rules: {},
4+
};

0 commit comments

Comments
 (0)