Commit graph

61 commits

Author SHA1 Message Date
daimond113
9a75ebf637
refactor: handle bin linkers in rust
Previously, binary linkers were handled by a Luau
script. This was not cross-runtime portable, and
forced us to do many "hacks" in order to be able
to implement them. To solve these issues, they are
now handled with Rust, which allows us to use our
existing infrastructure.
2025-03-09 01:18:12 +01:00
daimond113
ff5c2e5d61
refactor: specify many new clippy lints
Adds quite a lot of Clippy lints which fit with my
personal taste for how pesde's codebase should
look like. Stylistic lints are mostly warns, and
behavioural lints are mostly denied.
2025-03-08 22:00:52 +01:00
daimond113
ef471069d8
fix: don't panic on SIGINT exits
Unwrapping the process code caused panics on
SIGINTs. Now we default to code 1 if there is
none.
2025-02-17 00:33:49 +01:00
daimond113
d6e2f611d8
perf: use or_else variants for expensive errors
This commit changes the error construction in
multiple places from the `*_or` to the `*_or_else`
variants. This is done to avoid the heap
allocation (for example, `to_string`) when there
is no need to.
2025-02-14 23:42:33 +01:00
daimond113
c6e7e74a53
fix: fix double long prefix paths on windows
Our previous attempt at fixing the long path issue
on Windows has caused a regression. This commit
attempts to fix both issues by simply
canonicalizing the path.
2025-02-10 22:52:00 +01:00
daimond113
8bb8888de8
fix: correct windows script linker require paths
The pathdiff crate doesn't behave properly when
one path begins with a long path prefix
and the other doesn't, so we always put the
prefix on paths.
2025-02-09 20:10:55 +01:00
daimond113
805a257a76
feat: switch to version_matches for semver comparison
Fixes `*` not resolving to versions which are
pre-releases.
2025-01-16 22:48:43 +01:00
daimond113
6ae7e5078c
feat(engines): do not silence manifest read errors
Now reading the manifest will only be silenced if
the error's cause is the manifest not being found.
2025-01-16 22:44:05 +01:00
daimond113
f4050abec8
feat: add engines
Squashed commit of the following:

commit 5767042964
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Thu Jan 16 18:28:52 2025 +0100

    fix(engines): correct engine detection on unix

    The `current_exe` function doesn't return the
    symlinked path on Unix, so the engine detection
    was failing there. This commit fixes that by
    using the 0th argument of the program to get
    the path of the executable on Unix.

commit b51c9d9571
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Wed Jan 15 22:43:50 2025 +0100

    refactor: print deprecated warning on CLI side

    Prints the deprecated warning on the CLI side
    which means it'll have a more consistent look
    with the rest of the CLI output.

commit 5ace844035
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Wed Jan 15 22:21:36 2025 +0100

    feat: add alias validation

    Ensures aliases don't contain characters which could
    cause issues. They are now also forbidden from being
    the same as an engine name to avoid issues.

commit a33302aff9
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Wed Jan 15 21:23:40 2025 +0100

    refactor: apply clippy lints

commit 2d534a534d
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Wed Jan 15 21:22:14 2025 +0100

    feat(engines): print incompatibility warning for dependencies

    Adds a warning message when a dependency depends
    on an incompatible engine.

commit 4946a19f8b
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Wed Jan 15 18:33:38 2025 +0100

    feat(engines): create linkers at install time

    Additionally fixes engines being executed as scripts,
    and fixes downloading pesde from GitHub.

commit e3177eeb75
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Tue Jan 14 14:33:26 2025 +0100

    fix(engines): store & link engines correctly

    Fixes issues with how engines were stored
    which resulted in errors. Also makes outdated
    linkers get updated.

commit 037ead66bb
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Mon Jan 13 12:26:19 2025 +0100

    docs: remove prerequisites

commit ddb496ff7d
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Mon Jan 13 12:25:53 2025 +0100

    ci: remove tar builds

commit e9f0c25554
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Mon Jan 13 12:25:11 2025 +0100

    chore(docs): update astro and starlight

commit fc349e6f21
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Sun Jan 12 23:12:27 2025 +0100

    feat: add engines

    Adds the initial implementation of the engines feature.
    Not tested yet. Requires documentation and
    more work for non-pesde engines to be usable.
2025-01-16 19:11:16 +01:00
daimond113
0ceb2f6653
style: enable hard_tabs rustfmt option 2025-01-02 22:37:27 +01:00
daimond113
2700fe9e07
feat: remove data redundancy for workspace pkg refs 2024-12-30 19:06:53 +01:00
daimond113
8e6d877241
perf: use arcs where possible, remove unnecessary cloning 2024-12-28 16:50:14 +01:00
Luka
a41d9950f8
feat: better install (#17)
Some checks are pending
Debug / Get build version (push) Waiting to run
Debug / Build for linux-x86_64 (push) Blocked by required conditions
Debug / Build for macos-aarch64 (push) Blocked by required conditions
Debug / Build for macos-x86_64 (push) Blocked by required conditions
Debug / Build for windows-x86_64 (push) Blocked by required conditions
Test & Lint / lint (push) Waiting to run
* feat: better install

* feat: support progress reporting for wally

* chore: remove tracing-indicatif

* chore: fix Cargo.toml

* fix: indentation in bin link script

* fix: spinner tick chars

* feat: change progress message color

* fix: remove pretty from fmt_layer

Co-authored-by: dai <72147841+daimond113@users.noreply.github.com>

* style: format code

---------

Co-authored-by: dai <72147841+daimond113@users.noreply.github.com>
2024-12-27 22:04:47 +01:00
daimond113
f009c957ca
feat: remove verbosity from release mode logs
Some checks failed
Debug / Get build version (push) Has been cancelled
Test & Lint / lint (push) Has been cancelled
Debug / Build for linux-x86_64 (push) Has been cancelled
Debug / Build for macos-aarch64 (push) Has been cancelled
Debug / Build for macos-x86_64 (push) Has been cancelled
Debug / Build for windows-x86_64 (push) Has been cancelled
2024-12-26 22:51:00 +01:00
daimond113
c3e764ddda
fix: display spans outside debug
Some checks failed
Test & Lint / lint (push) Has been cancelled
2024-12-22 12:43:42 +01:00
daimond113
9535175a45
feat: add more tracing info 2024-12-18 22:00:58 +01:00
daimond113
d9d27cf45b
fix: resolve pesde_version tags properly
Some checks are pending
Test & Lint / lint (push) Waiting to run
2024-12-18 16:03:50 +01:00
daimond113
52603ea43e
feat: switch to tracing for logging
Some checks are pending
Test & Lint / lint (push) Waiting to run
2024-12-16 23:00:37 +01:00
daimond113
0fa17a839f
feat: support using workspace root as a member 2024-12-08 12:15:30 +01:00
daimond113
5513ef41a3
fix: do not require -- in bin executables on unix 2024-12-07 20:33:39 +01:00
daimond113
e807c261a2
feat(cli): add better styles 2024-12-01 13:36:55 +01:00
daimond113
2c003c62aa
fix: switch to wax for better globs 2024-11-24 20:21:16 +01:00
daimond113
37a7c34084
feat: use globs in includes field 2024-11-23 22:54:28 +01:00
daimond113
763bf2698f
refactor: only store pesde_version exes in version cache 2024-11-16 18:39:57 +01:00
daimond113
24ad379b7c
feat: make self-upgrade check for updates by itself 2024-11-16 13:47:35 +01:00
daimond113
9f3017742e
fix: correct cas finding algorithm 2024-11-11 18:57:44 +01:00
daimond113
2b0f29a2f9
feat: begin switch to async 2024-11-05 20:44:24 +01:00
daimond113
09820e322c
refactor: use fs-err for fs operations 2024-11-01 20:57:32 +01:00
daimond113
00ea56745e
fix: cleanup temp files for cas search algorithm 2024-11-01 19:10:18 +01:00
daimond113
397ea11ef5
fix: use different algorithm for finding cas dir 2024-11-01 18:31:11 +01:00
daimond113
70d07feb70
fix: sync scripts repo in background 2024-10-20 18:13:08 +02:00
daimond113
c7c1daab36
feat: improve auth system for registry changes 2024-10-14 19:40:02 +02:00
daimond113
962482962b
feat: support multitarget workspace members 2024-10-06 23:49:59 +02:00
daimond113
2b6a731ea9
feat: add version management flag 2024-09-29 00:37:38 +02:00
daimond113
afee3a0c2a
docs: update tagline 2024-09-29 00:04:35 +02:00
daimond113
d321b8b0aa
feat: add PESDE_ROOT for bin packages 2024-09-03 23:08:08 +02:00
daimond113
f1ce6283d8
feat: implement workspace/monorepo support 2024-09-03 16:01:48 +02:00
daimond113
fd69ced633
fix: remove unwrap 2024-08-27 19:49:11 +02:00
daimond113
7aaea85a2d
feat: store more package info in index 2024-08-14 19:55:58 +02:00
daimond113
17c2196522
fix: don't add luau extension for unix 2024-08-13 20:15:22 +02:00
daimond113
30c9be8366
feat: implement token overrides 2024-08-12 22:28:37 +02:00
daimond113
6442030f93
feat: support toolchain managers in scripts 2024-08-12 01:17:26 +02:00
daimond113
7a8376ebad
fix: create directory before canonicalizing 2024-08-11 18:29:48 +02:00
daimond113
957689c13a
revert: re-implement scripts repo updating 2024-08-09 22:14:33 +02:00
daimond113
a8a8ffcbe2
feat: implement wally support 2024-08-08 17:59:59 +02:00
daimond113
431c2b634f
docs: add package docs 2024-08-03 22:18:38 +02:00
daimond113
c481826d77
feat: implement registry 2024-07-30 12:37:54 +02:00
daimond113
37cc86f028
feat: content addressable storage 2024-07-28 18:19:54 +02:00
daimond113
7f8b2761ab
feat: self managed versioning 2024-07-26 18:47:53 +02:00
daimond113
0fcddedad6
feat: support binary scripts in PATH 2024-07-25 16:32:48 +02:00