refactor: move modules to packages

This commit is contained in:
Richard 2025-01-25 12:59:31 -08:00
parent 89f1dfeaa5
commit 4b9dcfa311
48 changed files with 151 additions and 171 deletions

View file

@ -15,12 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: true
- name: Install Rokit
uses: CompeyDev/setup-rokit@v0.1.2
- name: Install dependencies
run: pnpm install
- name: Install Wally dependencies
run: pnpm wally
- name: Check code quality
run: pnpm check

11
.gitignore vendored
View file

@ -1,11 +1,10 @@
/node_modules
/build
/devpackages
/packages
/src/**/node_modules
/src/**/wally.lock
/src/**/README.md
/src/**/LICENSE.md
/modules/DevPackages
/packages/**/node_modules
/packages/**/wally.lock
/packages/**/README.md
/packages/**/LICENSE.md
/sourcemap.json
*.tsbuildinfo
*.tgz

View file

@ -1,5 +1,5 @@
mkdir build
rojo build src/charm -o build/charm.rbxm
rojo build src/charm-sync -o build/charm-sync.rbxm
rojo build src/react -o build/react-charm.rbxm
rojo build src/vide -o build/vide-charm.rbxm
rojo build packages/charm -o build/charm.rbxm
rojo build packages/charm-sync -o build/charm-sync.rbxm
rojo build packages/react -o build/react-charm.rbxm
rojo build packages/vide -o build/vide-charm.rbxm

View file

@ -18,9 +18,9 @@ check() {
stylua --check $1
}
eslint src
eslint packages
for i in src/*/src; do
for i in packages/*/src; do
check $i
done

4
bin/install.sh Normal file
View file

@ -0,0 +1,4 @@
cd modules
wally install
cd ..
rojo sourcemap --output sourcemap.json

View file

@ -5,18 +5,18 @@
"ReplicatedStorage": {
"$className": "ReplicatedStorage",
"DevPackages": {
"$path": "DevPackages",
"$path": "modules/DevPackages",
"Charm": {
"$path": "src/charm"
"$path": "packages/charm"
},
"CharmSync": {
"$path": "src/charm-sync"
"$path": "packages/charm-sync"
},
"ReactCharm": {
"$path": "src/react"
"$path": "packages/react"
},
"VideCharm": {
"$path": "src/vide"
"$path": "packages/vide"
}
}
},

103
modules/wally.lock Normal file
View file

@ -0,0 +1,103 @@
# This file is automatically @generated by Wally.
# It is not intended for manual editing.
registry = "test"
[[package]]
name = "centau/vide"
version = "0.3.1"
dependencies = []
[[package]]
name = "jsdotlua/boolean"
version = "1.2.7"
dependencies = [["number", "jsdotlua/number@1.2.7"]]
[[package]]
name = "jsdotlua/collections"
version = "1.2.7"
dependencies = [["es7-types", "jsdotlua/es7-types@1.2.7"], ["instance-of", "jsdotlua/instance-of@1.2.7"]]
[[package]]
name = "jsdotlua/console"
version = "1.2.7"
dependencies = [["collections", "jsdotlua/collections@1.2.7"]]
[[package]]
name = "jsdotlua/es7-types"
version = "1.2.7"
dependencies = []
[[package]]
name = "jsdotlua/instance-of"
version = "1.2.7"
dependencies = []
[[package]]
name = "jsdotlua/luau-polyfill"
version = "1.2.7"
dependencies = [["boolean", "jsdotlua/boolean@1.2.7"], ["collections", "jsdotlua/collections@1.2.7"], ["console", "jsdotlua/console@1.2.7"], ["es7-types", "jsdotlua/es7-types@1.2.7"], ["instance-of", "jsdotlua/instance-of@1.2.7"], ["math", "jsdotlua/math@1.2.7"], ["number", "jsdotlua/number@1.2.7"], ["string", "jsdotlua/string@1.2.7"], ["symbol-luau", "jsdotlua/symbol-luau@1.0.1"], ["timers", "jsdotlua/timers@1.2.7"]]
[[package]]
name = "jsdotlua/math"
version = "1.2.7"
dependencies = []
[[package]]
name = "jsdotlua/number"
version = "1.2.7"
dependencies = []
[[package]]
name = "jsdotlua/promise"
version = "3.5.2"
dependencies = []
[[package]]
name = "jsdotlua/react"
version = "17.2.1"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.7"], ["shared", "jsdotlua/shared@17.2.1"]]
[[package]]
name = "jsdotlua/react-reconciler"
version = "17.2.1"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.7"], ["promise", "jsdotlua/promise@3.5.2"], ["react", "jsdotlua/react@17.2.1"], ["scheduler", "jsdotlua/scheduler@17.2.1"], ["shared", "jsdotlua/shared@17.2.1"]]
[[package]]
name = "jsdotlua/react-roblox"
version = "17.2.1"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.7"], ["react", "jsdotlua/react@17.2.1"], ["react-reconciler", "jsdotlua/react-reconciler@17.2.1"], ["scheduler", "jsdotlua/scheduler@17.2.1"], ["shared", "jsdotlua/shared@17.2.1"]]
[[package]]
name = "jsdotlua/scheduler"
version = "17.2.1"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.7"], ["shared", "jsdotlua/shared@17.2.1"]]
[[package]]
name = "jsdotlua/shared"
version = "17.2.1"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.7"]]
[[package]]
name = "jsdotlua/string"
version = "1.2.7"
dependencies = [["es7-types", "jsdotlua/es7-types@1.2.7"], ["number", "jsdotlua/number@1.2.7"]]
[[package]]
name = "jsdotlua/symbol-luau"
version = "1.0.1"
dependencies = []
[[package]]
name = "jsdotlua/timers"
version = "1.2.7"
dependencies = [["collections", "jsdotlua/collections@1.2.7"]]
[[package]]
name = "littensy/charm"
version = "0.1.0"
dependencies = [["React", "jsdotlua/react@17.2.1"], ["ReactRoblox", "jsdotlua/react-roblox@17.2.1"], ["TestEZ", "roblox/testez@0.4.1"], ["Vide", "centau/vide@0.3.1"]]
[[package]]
name = "roblox/testez"
version = "0.4.1"
dependencies = []

View file

@ -3,7 +3,7 @@
"scripts": {
"build": "sh bin/build.sh",
"check": "sh bin/check.sh",
"wally": "wally install && rojo sourcemap --output sourcemap.json",
"wally": "sh bin/install.sh",
"publish:npm": "pnpm publish -r --access public",
"publish:wally": "pnpm -r --workspace-concurrency 1 publish:wally"
},
@ -20,5 +20,5 @@
"roblox-ts": "^3.0.0",
"typescript": "~5.5.4"
},
"packageManager": "pnpm@9.12.1"
"packageManager": "pnpm@9.15.4"
}

58
pnpm-lock.yaml generated
View file

@ -42,57 +42,31 @@ importers:
specifier: ~5.5.4
version: 5.5.4
modules/charm: {}
packages/charm: {}
modules/charm-sync:
packages/charm-sync:
dependencies:
'@rbxts/charm':
specifier: workspace:*
version: link:../charm
modules/react:
packages/react:
dependencies:
'@rbxts/charm':
specifier: workspace:*
version: link:../charm
'@rbxts/react':
specifier: '*'
version: 17.2.1
version: 17.2.3
modules/vide:
packages/vide:
dependencies:
'@rbxts/charm':
specifier: workspace:*
version: link:../charm
'@rbxts/vide':
specifier: '*'
version: 0.4.6
src/charm: {}
src/charm-sync:
dependencies:
'@rbxts/charm':
specifier: workspace:*
version: link:../charm
src/react:
dependencies:
'@rbxts/charm':
specifier: workspace:*
version: link:../charm
'@rbxts/react':
specifier: '*'
version: 17.2.1
src/vide:
dependencies:
'@rbxts/charm':
specifier: workspace:*
version: link:../charm
'@rbxts/vide':
specifier: '*'
version: 0.4.6
version: 0.5.3
packages:
@ -146,17 +120,17 @@ packages:
'@rbxts/compiler-types@3.0.0-types.0':
resolution: {integrity: sha512-VGOHJPoL7+56NTatMGqQj3K7xWuzEV+aP4QD5vZiHu+bcff3kiTmtoadaF6NkJrmwfFAvbsd4Dg764ZjWNceag==}
'@rbxts/react-vendor@17.2.1':
resolution: {integrity: sha512-7DxFweCbhhso4M4tl1pO7Kil9SZrvOl1SoZ4lnwUfoxdHvSmWgeKgaUqd+ZS3/u1E8kRraqGQ56Q8zjUEEUzlA==}
'@rbxts/react-vendor@17.2.3':
resolution: {integrity: sha512-dWCiVelvTK6h920geaFH/OQ5zoWHyhyqyfH51hKx2/iVZ6OiiyNVJ5UqEIkJMG4HsJ8JnkTORizV3+MtQ41BtA==}
'@rbxts/react@17.2.1':
resolution: {integrity: sha512-iu0RsVvfHroI7l+QXjwE0FiWV2rXoKMxuznDZ8vnx2BsFqrPnCqFjXuNeGYZwibibZC6jbyq7uKl+/8cz7XlsA==}
'@rbxts/react@17.2.3':
resolution: {integrity: sha512-IoOB8e2W8MxT0MKWFf0Ls0vT61ImYL6ctHQgz5+oazma6z8bqFtJjgPxOuy6jmMSuyfBe7rYp/muou0kIjZT+Q==}
'@rbxts/types@1.0.811':
resolution: {integrity: sha512-MPhs5lxzxvDqie34Y9FzJ1R+k+33jjrkj03agX2y2WzBKyGmO0rD/kPuUaKXQgEiACXuk36C5FxUTYgkKJPbvA==}
'@rbxts/vide@0.4.6':
resolution: {integrity: sha512-xYtvCS05nGq1YU7fyQVmp4z1CcvuOR+VKpKj/Y7lFPvKobQ3oHTQEzZiJFEMZ+iSeHxwZhwpzVjrP+6+e2EoQw==}
'@rbxts/vide@0.5.3':
resolution: {integrity: sha512-evaZbBRZzaqU8ibddTMaomb30pmW5OhWTT7ba1PLSA/iGBCid0eOF6BX1o0ArKPyMFnNj6pMM2yMTQzL5b9cIA==}
'@roblox-ts/luau-ast@2.0.0':
resolution: {integrity: sha512-cmMi093IdwBOLVxwuordhM8AmtbyTIyRpsTbB0D/JauidW4SXsQRQowSwWjHo4QP0DRJBXvOIlxtqEQi50uNzQ==}
@ -932,15 +906,15 @@ snapshots:
'@rbxts/compiler-types@3.0.0-types.0': {}
'@rbxts/react-vendor@17.2.1': {}
'@rbxts/react-vendor@17.2.3': {}
'@rbxts/react@17.2.1':
'@rbxts/react@17.2.3':
dependencies:
'@rbxts/react-vendor': 17.2.1
'@rbxts/react-vendor': 17.2.3
'@rbxts/types@1.0.811': {}
'@rbxts/vide@0.4.6': {}
'@rbxts/vide@0.5.3': {}
'@roblox-ts/luau-ast@2.0.0': {}

View file

@ -1,2 +1,2 @@
packages:
- src/*
- packages/*

View file

@ -6,7 +6,7 @@
[tools]
wally = "UpliftGames/wally@0.3.2"
rojo = "rojo-rbx/rojo@7.4.4"
wally-package-types = "JohnnyMorganz/wally-package-types@1.3.2"
stylua = "johnnymorganz/stylua@0.20.0"
selene = "Kampfkarren/selene@0.27.1"
luau-lsp = "johnnymorganz/luau-lsp@1.32.4"
wally-package-types = "JohnnyMorganz/wally-package-types@1.4.2"
stylua = "johnnymorganz/stylua@2.0.2"
selene = "Kampfkarren/selene@0.28.0"
luau-lsp = "johnnymorganz/luau-lsp@1.38.1"

1
stylua.toml Normal file
View file

@ -0,0 +1 @@
syntax = "Luau"

View file

@ -1,103 +0,0 @@
# This file is automatically @generated by Wally.
# It is not intended for manual editing.
registry = "test"
[[package]]
name = "centau/vide"
version = "0.3.1"
dependencies = []
[[package]]
name = "jsdotlua/boolean"
version = "1.2.6"
dependencies = [["number", "jsdotlua/number@1.2.6"]]
[[package]]
name = "jsdotlua/collections"
version = "1.2.6"
dependencies = [["es7-types", "jsdotlua/es7-types@1.2.6"], ["instance-of", "jsdotlua/instance-of@1.2.6"]]
[[package]]
name = "jsdotlua/console"
version = "1.2.6"
dependencies = [["collections", "jsdotlua/collections@1.2.6"]]
[[package]]
name = "jsdotlua/es7-types"
version = "1.2.6"
dependencies = []
[[package]]
name = "jsdotlua/instance-of"
version = "1.2.6"
dependencies = []
[[package]]
name = "jsdotlua/luau-polyfill"
version = "1.2.6"
dependencies = [["boolean", "jsdotlua/boolean@1.2.6"], ["collections", "jsdotlua/collections@1.2.6"], ["console", "jsdotlua/console@1.2.6"], ["es7-types", "jsdotlua/es7-types@1.2.6"], ["instance-of", "jsdotlua/instance-of@1.2.6"], ["math", "jsdotlua/math@1.2.6"], ["number", "jsdotlua/number@1.2.6"], ["string", "jsdotlua/string@1.2.6"], ["symbol-luau", "jsdotlua/symbol-luau@1.0.1"], ["timers", "jsdotlua/timers@1.2.6"]]
[[package]]
name = "jsdotlua/math"
version = "1.2.6"
dependencies = []
[[package]]
name = "jsdotlua/number"
version = "1.2.6"
dependencies = []
[[package]]
name = "jsdotlua/promise"
version = "3.5.2"
dependencies = []
[[package]]
name = "jsdotlua/react"
version = "17.2.0"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.6"], ["shared", "jsdotlua/shared@17.2.0"]]
[[package]]
name = "jsdotlua/react-reconciler"
version = "17.2.0"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.6"], ["promise", "jsdotlua/promise@3.5.2"], ["react", "jsdotlua/react@17.2.0"], ["scheduler", "jsdotlua/scheduler@17.2.0"], ["shared", "jsdotlua/shared@17.2.0"]]
[[package]]
name = "jsdotlua/react-roblox"
version = "17.2.0"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.6"], ["react", "jsdotlua/react@17.2.0"], ["react-reconciler", "jsdotlua/react-reconciler@17.2.0"], ["scheduler", "jsdotlua/scheduler@17.2.0"], ["shared", "jsdotlua/shared@17.2.0"]]
[[package]]
name = "jsdotlua/scheduler"
version = "17.2.0"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.6"], ["shared", "jsdotlua/shared@17.2.0"]]
[[package]]
name = "jsdotlua/shared"
version = "17.2.0"
dependencies = [["luau-polyfill", "jsdotlua/luau-polyfill@1.2.6"]]
[[package]]
name = "jsdotlua/string"
version = "1.2.6"
dependencies = [["es7-types", "jsdotlua/es7-types@1.2.6"], ["number", "jsdotlua/number@1.2.6"]]
[[package]]
name = "jsdotlua/symbol-luau"
version = "1.0.1"
dependencies = []
[[package]]
name = "jsdotlua/timers"
version = "1.2.6"
dependencies = [["collections", "jsdotlua/collections@1.2.6"]]
[[package]]
name = "littensy/charm"
version = "0.1.0"
dependencies = [["React", "jsdotlua/react@17.2.0"], ["ReactRoblox", "jsdotlua/react-roblox@17.2.0"], ["TestEZ", "roblox/testez@0.4.1"], ["Vide", "centau/vide@0.3.1"]]
[[package]]
name = "roblox/testez"
version = "0.4.1"
dependencies = []