Commit graph

170 commits

Author SHA1 Message Date
daimond113
ef8a7cf9b3
fix: rewrite dependency type system
Previously, a naive dependency type was used. This
had 2 fields in a dependency graph node:
resolved_ty and is_peer. These fields were
incorrect, since the dependency can be dependended
on as multiple types. Now, the dependency type is
stored in the dependencies fields. This change
makes old lockfiles incompatible since the old
format had data loss when it comes to dependency
types.

Fixes #33.
2025-04-30 20:02:41 +02:00
daimond113
e4f496ffab
feat: add engines when initing project
When initializing a project, the `engines` section
will now be copied over from the scripts package.
2025-04-28 21:55:36 +02:00
daimond113
8f185d70e3
fix: require files in run & x commands correctly
Previously, absolute paths were used. These are
not currently supported by Luau and so have been
changed to being relative paths. Additionally,
fixes engines installed but not used by the
current project being undetected. Adds a target
argument to the x command & rewords its argument's
description.
2025-04-27 01:05:51 +02:00
daimond113
6aeedd8602
feat: add PESDE_HOME variable
Adds the PESDE_HOME env variable to allow changing
where pesde will store data like engines, bins,
etc. to support e.g. small OS disks & large
data disks.
2025-04-26 20:45:27 +02:00
daimond113
398763a171
fix: download engines eagerly
Previously, to download an engine pesde would
require its linker to be executed. This caused
issues if called concurrently, such as with
scripts & required the user to manually execute
the engine before usage. This change makes it so
it is downloaded in the install step before any
scripts which solves the issue.
2025-04-26 19:31:05 +02:00
daimond113
63e43ff283
chore: update full-moon parser 2025-04-25 21:53:12 +02:00
daimond113
efbd0c3fa5
chore(release): prepare for v0.6.2 2025-03-14 09:04:18 +01:00
daimond113
3bc1f0fa5c
fix: make bin linkers only for bin packages
Fixes binary linkers being made for non-binary
direct dependencies.
2025-03-14 08:58:45 +01:00
daimond113
4f48963da3
chore(release): prepare for v0.6.1 2025-03-09 21:29:49 +01:00
daimond113
292565b647
feat: add @generated to lockfiles
Adds the @generated marker to lockfiles to make
them easily recognizable as auto-generated.
2025-03-09 16:16:44 +01:00
daimond113
e6ee935c11
feat: show available targets when none fit
This will help prevent user confusion with
targets. Instead of a cryptic "no matching
versions available" error, it'll now list the
available targets (if the source decides to output
them, so if the specifier has a target option)
2025-03-09 16:01:54 +01:00
daimond113
0e73db2831
fix: add missing run alias behaviour
The `run <alias>` behaviour was documented yet
missing. This commit adds it.
2025-03-09 14:53:22 +01:00
daimond113
19d6a07851
fix: make bin linkers for non-direct dependencies
Previously, binary linkers weren't made for
non-direct dependencies despite this being the
documented & expected behaviour.
2025-03-09 01:33:41 +01:00
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
41337ac96a
fix: dont inherit workspace by path dependencies 2025-03-08 23:24:35 +01:00
daimond113
c9faef256a
chore(release): prepare for v0.6.0 2025-02-22 11:50:49 +01:00
daimond113
8510fcf030
chore(release): prepare for v0.6.0-rc.8 2025-02-17 00:35:59 +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
f6f0cb48f8
chore: add missing changelog entries 2025-02-16 11:38:36 +01:00
daimond113
9b70929e02
chore(release): prepare for v0.6.0-rc.7 2025-02-15 00:09:07 +01:00
daimond113
5c43e3cb95
refactor: improve outdated command output
Adds some colour to the outdated command which
fits in with other places such as the CLI's update
checker. Also, switches `->` to `→` which also
fits in with the CLI's update checker.
2025-02-13 20:16:42 +01:00
daimond113
82e0d38483
fix: print update available message to stderr
Previously, the update available message was
printed to stdout, which is not the correct
place for such messages. This commit changes
the message to be printed to stderr instead,
which will prevent potential issues with
piping the output of the command to another
command.
2025-02-13 20:10:08 +01:00
daimond113
4786adf187
refactor: make aliases case-insensitive
Previously, aliases: `foo` and `Foo` were treated
as different aliases. This could cause issues with
linking on case-insensitive filesystems. This
commit makes aliases case-insensitive, but they
will be stored in the case they were defined in.
2025-02-12 23:14:05 +01:00
daimond113
b384dbe6a0
chore: fix changelog rc diff link 2025-02-10 23:05:33 +01:00
daimond113
8a8bbcbd02
chore(release): prepare for v0.6.0-rc.6 2025-02-10 23:04:41 +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
041b14f404
chore(release): prepare for v0.6.0-rc.5 2025-02-10 09:01:41 +01:00
daimond113
faaa76cf0d
fix: include new files in patches
Previously, newly created files would not be
included in patches. This commit fixes that.
Additionally, removes some left over dbg! calls.
2025-02-10 08:43:48 +01:00
daimond113
1d131e98c6
refactor: patch improvements
Patches now work much better with incremental
installs. They use a Git repository to reset
the patch to the original state before applying
it. They are now also properly cleaned up after
being removed. Also, to allow more flexability
the patching process is now done before type
extracting, so that types can be patched. Lastly,
the patch-commit command now doesn't delete the
patch directory until it has done everything else
to prevent data loss.
2025-02-10 00:35:51 +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
73146e6f64
chore(release): prepare for v0.6.0-rc.4 2025-02-08 14:05:45 +01:00
daimond113
1a79326ebf
fix: refresh sources before reading from them
Previously, if a package was modified in a way
that the index hasn't been cloned (for example,
through a remote Git change) pesde would be unable
to read the package's metadata, whether it be
because the index was outdated or because it
wasn't cloned at all. These are now refreshed
as needed like everywhere else.
2025-02-08 14:03:43 +01:00
daimond113
399c63cc8c
chore(release): prepare for v0.6.0-rc.3 2025-02-08 01:19:06 +01:00
daimond113
a4927bf4be
fix: fix types not being re-exported
Code responsible for removing the file at the
destination has been removed which broke the
re-exporting of types. This commit reverts
that change, but also silences Windows errors
when removing the file.
2025-02-08 00:48:42 +01:00
daimond113
4d39ddae04
fix: point to the right path when fresh installing engines 2025-02-08 00:29:55 +01:00
daimond113
7f21131415
chore(release): prepare for v0.6.0-rc.2 2025-02-07 20:59:48 +01:00
daimond113
c71e879bfd
fix: fix linux zbus panicking
Fixes zbus on Linux panicking due to the crate
spawning a runtime inside of our own runtime. This
is avoided by using the sync mode of the crate
instead of async. Additionally, keyring operations
have been wrapped in spawn_blocking to avoid
blocking the async runtime.
2025-02-07 20:53:31 +01:00
daimond113
c698969f76
chore(release): prepare for v0.6.0-rc.1 2025-02-06 23:24:11 +01:00
daimond113
70a4dc3226
chore: fix typo in changelog 2025-02-06 23:23:43 +01:00
daimond113
43e2d1f325
chore: add missing changelog entries 2025-02-04 21:51:39 +01:00
daimond113
5ad3339535
chore: add missing changelog entries 2025-01-18 15:21:26 +01:00
daimond113
6ab334c904
feat: use url encoding crate to ensure validity of urls 2025-01-09 23:04:06 +01:00
daimond113
217ca238ff
feat: remove cli side dependency checks 2025-01-09 22:36:53 +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
6f5e2a2473
feat: improve linking process 2025-01-02 21:30:25 +01:00
daimond113
d0169976cd
feat: store dependency over downloaded graphs 2025-01-01 16:28:53 +01:00
daimond113
6a8dfe0ba3
feat: switch to flat graph handling
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-01 00:34:21 +01:00
daimond113
7f15264f48
feat: inherit pesde-managed scripts from workspace root
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
2024-12-30 21:05:34 +01:00
daimond113
2700fe9e07
feat: remove data redundancy for workspace pkg refs 2024-12-30 19:06:53 +01:00
daimond113
ccb2924362
feat: remove old includes compat
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
2024-12-30 13:37:30 +01:00