Commit graph

93 commits

Author SHA1 Message Date
9a3f3717de
feat(lib): address type related FIXMEs 2024-12-14 06:18:40 +00:00
bb6278407d
feat(lib): use gh CLI to get token and condition bar start
* Looks for `$GITHUB_TOKEN` env var, and if not found, tries to run `gh
  auth token` to get the token from the GitHub CLI.
* Made a conditional `start` method for the bar, which was previously
  missed.
2024-12-14 06:13:17 +00:00
0726169df8
feat(lib): rename tool_storage dir
Tools are now stored in the `~/.pesde/bin/.tool_storage` directory, in
order to prevent naming conflicts with other tool linkers. An old
tool_storage directory gets migrated to the new path if present.
2024-12-13 18:20:29 +00:00
202dc85147
feat(lib): add a touch of color to progress bar
Also moves bar stopping logic for errors into pcall handler.
2024-12-13 18:04:42 +00:00
2f79159f95
fix(lib): progress bar interfering with warns
* Fixed overlapping warns and progress bar.
* Removed unnecessary `resume` and `stop` bar methods.
2024-12-13 17:52:28 +00:00
f377116271
refactor(lib): minor structure improvements for progress bar
* Made bar related conditional operations get constructed by a
  `makeCondBar` which returns a table of functions to conditionally handle
  a progress bar.
* Moved progress bar boolean out of function args for `installTool` into
  global state.
2024-12-13 16:34:36 +00:00
c69a7417a0
feat(lib): include optional progress bar
Includes an optional progress bar which gets enabled when lib is called
using the default convenience `__call` metamethod.
2024-12-13 16:25:42 +00:00
ead60c003e
refactor(lib): use extension pattern for result<->option
Formerly, we used metatables to get custom `Option` and `Result` objects
which were difficult to type properly, leading to a lot of `unknown` and
`any` casts.

This refactor fixes it by making extensions opt-in, where we import the
extension methods separately from the original implementations, thereby
allowing us to not have to typecast things everywhere.
2024-12-13 14:33:05 +00:00
45627ea4a9
feat(lib): only download asset when it is of a valid format
Small optimization to not fetch an asset if its need of a supported
compression format.
2024-12-13 13:51:38 +00:00
f003ce8895
chore(bins): update selene README 2024-12-13 13:39:18 +00:00
1613737c26
chore(toolchainlib): remove token param from README 2024-12-10 22:12:47 +05:30
daimond113
ad36473326
fix: correctly parse base64 with whitespace 2024-12-09 10:46:25 +01:00
3e22a38dca chore(bins): fetch and include READMEs for bins 2024-12-09 07:08:21 +00:00
940ceea50f style: apply stylua formatter 2024-12-09 04:43:15 +00:00
36677adc3e refactor(lune): minor tool update script improvements
* Added warn function more consistent with other logging functions.
* used `:isErr` instead of negating `:isOk`
* Added log message for README writes
2024-12-09 04:41:47 +00:00
a1b4b91ca3 chore(bins): add README.md to all bin includes 2024-12-09 04:36:42 +00:00
e7131cc589 chore(lune): fetch and update READMEs for bins too
* Updates the `update_tools` dev script to include logic for using the
  GitHub API to fetch and write READMEs for bins.
* Also optionally accepts a GitHub token for authenticated requests
  using the `$GITHUB_TOKEN` environment variable.
* Also moves dev script dependencies at root manifest into
  `dev_dependencies`.
2024-12-09 04:34:42 +00:00
80882fc173 feat(lib): remove reliance on semver parsing
Previously, we assumed that the tools followed semver, and hence parsed
their versions for comparison. Some tools may not follow semver, and we
should not impose such a requirement as a toolchain management library.

Therefore, we now only check if the requested version string matches an
asset version tag. In order to ensure backwards compatibility, we strip
the leading `v` from the version if present.
2024-12-09 03:34:05 +00:00
daimond113
b726f8eb51
docs: remove unnecessary -- 2024-12-08 21:56:18 +01:00
daimond113
c8488f169f
docs: symlink toolchainlib LICENSE 2024-12-08 18:21:06 +01:00
daimond113
e9c78bd0d5
chore: rename LICENSE.md to LICENSE 2024-12-08 18:10:04 +01:00
ad4e099722 chore(README): fix wrong package for zap package 2024-12-07 19:09:46 +05:30
a371a33521 chore(README): fix entire table being broken
I think I messed up while trying to resolve merge conflicts.
2024-12-07 19:09:22 +05:30
d6d6e119be merge: origin/main -> main 2024-12-07 13:37:56 +00:00
93e2918432 feat(bins): include zap bin 2024-12-07 13:34:49 +00:00
5a3d19a5bc chore(README): fix broken badges 2024-12-07 19:02:58 +05:30
21d1b04ad4 chore(toolchainlib): fix grammar mistake in README 2024-12-01 12:19:19 +00:00
94710f1b1f chore(lune): tool updater script improvements
* Include TODO comment for future README syncing
* Display a time elapsed message after running the script
* Make decoded manifest typed
2024-12-01 12:17:39 +00:00
e46bb0f3ca feat(lib): make manifest decoding and access type-safe
Includes types to describe the shape of a pesde manifest and its
components.
2024-12-01 12:15:57 +00:00
606f9dcf13 chore(gitignore): use new path for toolchainlib pesde lockfile 2024-12-01 05:40:26 +00:00
be9790e590 chore(lib): include description in package manifest 2024-12-01 05:38:40 +00:00
cca939e355 fix(lib): remove duplicate version defaulting code 2024-12-01 05:35:58 +00:00
97cc64bc81 fix(lib): don't panic on bad descriptor for binary 2024-12-01 05:34:29 +00:00
039b4619a4 chore(bins): bump toolchainlib and update luau-lsp 2024-12-01 05:30:59 +00:00
46df227f26 chore(lib): bump version 2024-12-01 05:29:59 +00:00
Arid
1fdc4ebe93 feat(bins): include argon bin (#1)
Co-authored-by: Arid <118916772+AridDev@users.noreply.github.com>
Co-authored-by: Erica Marigold <hi@devcomp.xyz>
2024-12-01 00:09:55 +05:30
3c49386747 chore(lune): remove GitHub auth token present in code
Whoopsie... FYI it has been revoked now :3
2024-11-30 18:34:30 +00:00
19699be874 chore(lune): include tool to automatically update bin packages 2024-11-30 18:29:37 +00:00
5cc90d2065 chore(luaurc): re-enable lint warnings for analysis 2024-11-30 18:29:36 +00:00
5b1a25bd53 feat(lib): relocate GithubReleases type and implement custom payload
* Also breaks down `GithubReleases` into array of `GithubRelease` type
* Adds a `Custom` operation type for internal `Github` class, allowing
  user to mention custom request data
2024-11-30 18:29:36 +00:00
bc2d438975 chore(README): bring pesde x example back and include prereq note 2024-11-30 11:41:42 +05:30
d0c2438f56 chore(README): update tooling table list 2024-11-30 11:36:30 +05:30
a9fec3884e feat(bins): include darklua bin 2024-11-30 06:00:47 +00:00
0dfb7ecc31 chore(bins): bump blink to 0.15.0-rc.1
Also refreshes lockfile cache for all workspace members.
2024-11-30 05:53:56 +00:00
828339feaa fix(lib): fix exec detection fallthrough
If the executable was invalid, and wasn't PE or ELF, it would fall
through into the Mach-O case, which was a false positive.
2024-11-28 17:48:57 +00:00
40e8cfe71a chore(lib): bump version 2024-11-28 16:37:01 +00:00
97a1f2d1a8 chore: include updated lockfile 2024-11-28 16:34:03 +00:00
8e5d0f0b49 feat(bins): include blink bin 2024-11-28 16:33:44 +00:00
e396b070c5 fix(lib): bad chmod mode value
In this previous commit, it was setting mode to base-10 755, which is
equivalent to octal 1363, being an invalid mode.
2024-11-28 16:31:20 +00:00
ad78e5a2b7 feat(bins): include selene tool 2024-11-28 16:10:39 +00:00