Commit graph

405 commits

Author SHA1 Message Date
daimond113
b30f9ecdeb
feat: cas pruning
Squashed commit of the following:

commit 82b4b858e5
Author: daimond113 <contact@daimond113.com>
Date:   Sat Feb 1 00:46:31 2025 +0100

    feat: remove unused directories when purging cas

    Now purging the CAS will also clean up unused
    folders. Additionally, since concurrent removal
    of directories seems to throw a PermissionDenied
    error on Windows those are ignored. Needs
    investigation on why that happens.

commit 75d6aa5443
Author: daimond113 <contact@daimond113.com>
Date:   Fri Jan 31 23:24:11 2025 +0100

    feat: finish prune command implementation

    The prune command now discovers packages in the
    CAS, removes individual unused files and then
    packages which use those files, since that means
    they're unused.

commit 333eb3bdd9
Author: daimond113 <contact@daimond113.com>
Date:   Sun Jan 26 23:30:52 2025 +0100

    chore: fix clippy lint

commit a38da43670
Author: daimond113 <contact@daimond113.com>
Date:   Sun Jan 26 23:02:52 2025 +0100

    feat: add cas pruning command

    Removes unused files from the CAS. Still needs to
    remove individual package index entries to be
    complete.
2025-02-01 00:51:43 +01:00
daimond113
5cc64f38ec
refactor: include more linking debug info
Logs every path used in the linking process.
2025-01-30 23:46:58 +01:00
daimond113
4009313281
fix: do not include incompatible files in workspace packages
Fixes `default.project.json` being copied if it
is present in a workspace package.
2025-01-30 23:45:31 +01:00
daimond113
3e4ef00f4a
chore: fix formatting 2025-01-24 23:45:26 +01:00
daimond113
801acb0264
fix: remove scripts linkers in incremental installs
Some checks failed
Debug / Get build version (push) Has been cancelled
Test & Lint / lint (push) Has been cancelled
Debug / Build for linux-aarch64 (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
Additionally, this commit changes the linking
process to be much less blocking, which should
bring a not-insignificant speedup to the
installation process.
2025-01-24 23:39:15 +01:00
daimond113
8835156b76
chore: update dependencies
Some checks failed
Debug / Get build version (push) Has been cancelled
Test & Lint / lint (push) Has been cancelled
Debug / Build for linux-aarch64 (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
2025-01-19 22:35:11 +01:00
daimond113
446aa748a6
chore: fix clippy lint 2025-01-19 22:33:23 +01:00
daimond113
fe979f26c5
refactor: remove unnecessary asyncness from download_and_link
Additionally fixes stack overflows by building the
`miniz_oxide` crate with release level
optimizations.

Signed-off-by: daimond113 <contact@daimond113.com>
2025-01-19 22:29:29 +01:00
daimond113
95896091cd
refactor: switch out dependencies
Switches the `colored` crate to the `console`
crate. Additionally, to optimize the compiled
program's size switches the `inquire` crate's
backend from `crossterm` to `console`. Console was
picked out because we depend on `indicatif` which
only supports `console`.

Also switches from `winreg` to `windows-registry`,
which `reqwest` depends on to optimize size even
further. Currently has to duplicate dependencies,
as `reqwest` depends on an older version but will
become optimized once `reqwest` updates to the
latest version of the crate.

Signed-off-by: daimond113 <contact@daimond113.com>
2025-01-19 22:29:27 +01:00
daimond113
b9a105cec4
docs: improve init scripts explanation wording
"default Roblox compatibility scripts" ->
"Roblox compatibility scripts"
2025-01-18 17:36:51 +01:00
daimond113
a53ae657e1
Merge branch '0.5' into 0.6
Some checks are pending
Debug / Get build version (push) Waiting to run
Debug / Build for linux-aarch64 (push) Blocked by required conditions
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
2025-01-18 16:47:20 +01:00
daimond113
32906400ec
docs: update scripts docs
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
2025-01-18 16:47:07 +01:00
daimond113
5ad3339535
chore: add missing changelog entries 2025-01-18 15:21:26 +01:00
daimond113
941bb79ea6
refactor: improve code tidiness
Switches to the `cas_path` function when reading
CAS files. Asyncifies IO operations when reusing
package folders.
2025-01-18 15:16:36 +01:00
daimond113
0dfc3ef5bd
fix: scope CAS package indices to index of package
Fixes conflicts between multiple packages with the
same name in different indices.
2025-01-18 15:14:58 +01:00
daimond113
a2ce747879
feat: update instead of recreating packages folders
Instead of recreating the packages folders, we now
update the existing ones. Additionally switches
a few APIs from accepting `&TargetKind` to `TargetKind`.
2025-01-18 14:18:46 +01:00
daimond113
53bdf0ced6
fix: do gix operations inside spawn_blocking
Some checks are pending
Debug / Get build version (push) Waiting to run
Debug / Build for linux-aarch64 (push) Blocked by required conditions
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
Additionally refactors the source's code to be
much neater and easier to read.
2025-01-17 21:15:12 +01:00
daimond113
9e6fa4294f
fix: asyncify exists check 2025-01-17 20:37:38 +01:00
daimond113
3d659161e6
fix(resolver): handle infinite loop in resolver
Some checks are pending
Debug / Get build version (push) Waiting to run
Debug / Build for linux-aarch64 (push) Blocked by required conditions
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
Fixes a recursive loop in the resolver when resolving
dependencies that depend on themselves from
an existing lockfile.
2025-01-16 23:18:23 +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
684f711d93
ci: add linux aarch64 builds
Squashed commit of the following:

commit 4d455d4015
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Thu Jan 16 22:24:20 2025 +0100

    ci: install aarch64 build deps and fix typo

commit 549374d34c
Author: daimond113 <72147841+daimond113@users.noreply.github.com>
Date:   Thu Jan 16 22:20:43 2025 +0100

    ci: add linux aarch64 builds
2025-01-16 22:33:44 +01:00
daimond113
57afa4c593
chore: update dependencies
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
2025-01-16 20:27:17 +01:00
daimond113
380a716200
feat(engines): report version resolving
Improves user experience when running engines by
reporting that it is currently resolving the version
of the engine to download.
2025-01-16 20:18:10 +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
d4979bbdb2
feat: switch lib & cli to v1 api
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
2025-01-13 13:21:22 +01:00
daimond113
1eef6078bf
fix(registry): keep v0 api backwards compatible 2025-01-13 13:19:15 +01:00
daimond113
72c1c39401
fix: use urlencoding crate for wally packages
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
2025-01-10 16:06:59 +01:00
daimond113
076f5564ee
feat(registry): set content-length header for fs storage 2025-01-10 16:06:27 +01:00
daimond113
a39b1bb60a
feat(website): escape url parts 2025-01-10 14:07:52 +01:00
daimond113
dcc869c025
fix(registry): avoid race condition in search
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
2025-01-10 09:24:33 +01:00
daimond113
6f4c7137c0
feat: add name.scope and name.name apis
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
2025-01-10 00:01:02 +01:00
daimond113
e8c3a66524
feat(registry): add individual job endpoints for package data 2025-01-10 00:00:24 +01:00
daimond113
6ab334c904
feat: use url encoding crate to ensure validity of urls 2025-01-09 23:04:06 +01:00
daimond113
be6410443f
perf(registry): asyncify reading data of top search packages 2025-01-09 22:59:20 +01:00
daimond113
685700f572
perf(registry): use rwlock over mutex for repository data 2025-01-09 22:40:41 +01:00
daimond113
217ca238ff
feat: remove cli side dependency checks 2025-01-09 22:36:53 +01:00
daimond113
e61aeb5da0
feat(registry): add more info in auth & storage logs 2025-01-09 22:31:20 +01:00
daimond113
9bab997992
docs: add missing 'required' annotation 2025-01-09 22:13:41 +01:00
daimond113
325453450b
feat: add deprecating & yanking 2025-01-09 22:09:28 +01:00
daimond113
243dd39e14
Merge branch '0.5' into 0.6
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
2025-01-06 13:33:46 +01:00
Nidoxs
5c2f831c26
docs: add an aside for symlink errors on Windows (#20)
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
* Add an aside for symlink errors on Windows

* Remove redundant whitespace

* Inline URL

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

* Revert titles to "Caution" instead of "Warning"

* Use inline code block for error message

* Update docs/src/content/docs/installation.mdx

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

* Update docs/src/content/docs/installation.mdx

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

---------

Co-authored-by: dai <72147841+daimond113@users.noreply.github.com>
2025-01-05 19:25:52 +01:00
daimond113
97d9251f69
docs: remove branches from git revs
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
2025-01-03 18:09:07 +01:00
daimond113
ca5a8f108d
fix: install dev packages and remove them after use
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
2025-01-03 00:05:32 +01:00
daimond113
de43d2ce42
chore: add git blame ignore file 2025-01-02 22:38:29 +01:00
daimond113
0ceb2f6653
style: enable hard_tabs rustfmt option 2025-01-02 22:37:27 +01:00
daimond113
a627a7253f
feat: add utility function to reduce code duplication 2025-01-02 22:21:18 +01:00
daimond113
6f5e2a2473
feat: improve linking process 2025-01-02 21:30:25 +01:00
daimond113
e5b629e0c5
feat: remove unused errors 2025-01-02 19:09:57 +01:00
daimond113
9bf2af6454
fix: compile without feature flags
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
2025-01-02 15:41:29 +01:00