![]() * #576 test dev builds cd * #576 dynamically set auto-update publish url * unminify code * #576 different dev build from release build --------- Co-authored-by: neil molina <neil@neils-MacBook-Pro.local> |
||
---|---|---|
.github | ||
devops | ||
modules | ||
.gitignore | ||
.npmrc | ||
package.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
README.md |
tea/gui is the graphical app complement to tea/cli
.
Under the hood tea/gui installs and manages your packages with tea/cli
while exposing additional functionality, features and informational touches
that complement and expand upon the nature of package management.
To install the gui, visit: https://tea.xyz/gui/ and download the latest version. The gui auto-updates itself.
Contributing to tea/gui
If you have suggestions or ideas, start a discussion. If we agree, we’ll move it to an issue. Bug fixes straight to pull request or issue please!
Anatomy
tea/gui is a Svelte Electon app. The electron “backend” can be found in
modules/desktop
, the Svelte “frontend” in modules/ui
. The following
technologies are used:
Hacking on tea/gui
xc setup # only required once
xc build # only required if you modify the backend
xc dev # opens the app in dev mode
Make sure to run
xc prettier
before submitting pull-requests.
Tasks
The following can be run with xc
, eg. xc build
.
Setup
Setup ensures that required configuration placeholder files are present and installs dependencies.
if [ ! -e modules/desktop/electron/config.json ]; then
echo '{}' > modules/desktop/electron/config.json
fi
if [ ! -e modules/desktop/.env ]; then
cp modules/desktop/.env.example modules/desktop/.env
fi
pnpm install
pnpm run -r prepare
Build
pnpm install
pnpm build:desktop
Dev
pnpm install
pnpm dev
Prettier
pnpm run --reporter append-only -r format
Dist
pnpm install
pnpm --filter tea exec pnpm predist
pnpm --filter tea exec pnpm dist
Check
Runs the typescript compiler and linter.
pnpm run -r check
pnpm run -r lint
Bump
Inputs: PRIORITY
if ! git diff-index --quiet HEAD --; then
echo "error: dirty working tree" >&2
exit 1
fi
if [ "$(git rev-parse --abbrev-ref HEAD)" != "main" ]; then
echo "error: requires main branch" >&2
exit 1
fi
V=$(git describe --tags --abbrev=0 --match "v[0-9]*.[0-9]*.[0-9]*")
V=$(tea semverator bump $V $PRIORITY)
if ! grep -F "\"version\": \"$V\",$" modules/desktop/package.json; then
sed -i.bak -e "s/\"version\": .*,$/\"version\": \"$V\",/" modules/desktop/package.json
rm modules/desktop/package.json.bak
git add modules/desktop/package.json
git commit -m "bump $V" --gpg-sign
fi
git push origin main
tea gh release create "v$V"
Dependencies
tea/cli
will automagically make these available to your environment.
Project | Version |
---|---|
nodejs.org | =18.15.0 |
pnpm.io | =7.18.2 |
xcfile.dev | >=0.0.110 |
python.org | ^3.10 |