refactor: improve structure and alien-signals integration

This commit is contained in:
littensy 2025-07-02 09:25:50 -07:00
parent a9c60c701f
commit 95476e93ec
107 changed files with 3660 additions and 815 deletions

View file

@ -0,0 +1,6 @@
local Charm = require(script.Parent.Parent.charm.src)
export type Atom<T = any> = Charm.Atom<T>
export type Selector<T = any> = Charm.Selector<T>
return Charm

View file

@ -0,0 +1 @@
return require(script.Parent.Parent.vide.src)

View file

@ -1,5 +1,5 @@
{
"name": "VideCharm",
"name": "vide-charm",
"tree": {
"$path": "src"
}

View file

@ -0,0 +1,30 @@
{
"name": "@rbxts/vide-charm",
"version": "0.3.0",
"description": "Vide bindings for Charm state management",
"license": "MIT",
"main": "src/init.luau",
"types": "src/index.d.ts",
"files": [
"src",
"*.luau",
"!wally.toml",
"!wally.lock",
"!default.project.json",
"!**/__tests__"
],
"repository": {
"type": "git",
"url": "git+https://github.com/littensy/charm.git"
},
"scripts": {
"prepare": "cp ../../LICENSE.md . && cp ../../README.md .",
"publish:wally": "wally publish"
},
"dependencies": {
"@rbxts/charm": "workspace:*"
},
"peerDependencies": {
"@rbxts/vide": "*"
}
}

View file

@ -1,8 +1,9 @@
local ServerScriptService = game:GetService("ServerScriptService")
local suite = require(ServerScriptService.Tests.suite)
local suite = require("../../../../test/suite")
suite.describe("vide-charm", function()
if not game then
return suite.skip()
end
suite.describe("useAtom", function()
require("./useAtom.spec")
end)

View file

@ -1,10 +1,7 @@
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local Charm = require(ReplicatedStorage.Packages.Charm)
local Vide = require(ReplicatedStorage.Packages.Vide)
local VideCharm = require(ReplicatedStorage.Packages.VideCharm)
local suite = require(ServerScriptService.Tests.suite)
local Charm = require("../../Charm")
local Vide = require("../../Vide")
local VideCharm = require("../")
local suite = require("../../../../test/suite")
local atom = Charm.atom
local root = Vide.root

1
packages/vide-charm/src/index.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export {};

View file

@ -1,5 +1,5 @@
local Charm = require(script.Parent.Charm)
local Vide = require(script.Parent.Vide)
local Charm = require("./Charm")
local Vide = require("./Vide")
local subscribe = Charm.subscribe
local source = Vide.source

View file

@ -3,7 +3,14 @@ name = "littensy/vide-charm"
version = "0.3.0"
registry = "https://github.com/UpliftGames/wally-index"
realm = "shared"
exclude = ["tests"]
exclude = [
"node_modules",
"src/__tests__",
"src/index.d.ts",
"package.json",
"Vide.luau",
"Charm.luau",
]
[dependencies]
Charm = "littensy/charm@^0.10"