✨ 2.0#770
Open
johangirod wants to merge 150 commits into
Open
Conversation
🦋 Changeset detectedLatest commit: 48f535e The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
✅ Deploy Preview for publicodes-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
@publicodes/cli
@publicodes/codemod
publicodes
@publicodes/forms
@publicodes/react-ui
@publicodes/rest-api
@publicodes/tools
commit: |
johangirod
force-pushed
the
2.0
branch
16 times, most recently
from
September 24, 2025 15:06
b9020b1 to
a8a76f5
Compare
johangirod
force-pushed
the
2.0
branch
3 times, most recently
from
October 3, 2025 13:33
d6e12cb to
4093e3c
Compare
Currently when encountering a dependency cycle, we continue and write the output logs in stderr as warning, but we still compile as expected. This kind of logs should break the chain, and return early. I'm surprised we don't have any return like code yet. Or maybe I'm this wrong? Change-Id: Ib605935e5437afc07fb74ea7f6e40b616a6a6964
Currently this None case seems to not be used by any test we have. I suspect it is wrong, and should match the parent rule instead. This change the error we get in an existing test, but we also add the test reported here: #835 Change-Id: If34a0873cefd82ae9b2dde47561f21086a6a6964
The change related to the finite recursive algorithm broke this. Change-Id: Ica8b390f3c48ebf056909af2ffc787226a6a6964
This refactorize a bit, and improve how we report import cycling errors:
E027 cycle d'import détecté [syntax error]
╒══ subjects/cycle/main.publicodes:2:13 ══
1 │ cycle a:
2 │ importer: cycle a
│ ˘˘˘˘˘˘˘ module 'cycle a' importé ici
╒══ cycle a/rules.publicodes:2:13 ══
1 │ cycle b:
2 │ importer: cycle b
│ ˘˘˘˘˘˘˘ module 'cycle b' importé ici, début du cycle
╒══ cycle b/rules.publicodes:2:13 ══
1 │ cycle c:
2 │ importer: cycle c
│ ˘˘˘˘˘˘˘ module 'cycle c' importé ici
╒══ cycle c/rules.publicodes:2:13 ══
1 │ cycle a:
2 │ importer: cycle a
│ ˘˘˘˘˘˘˘ module 'cycle a' importé à nouveau ici
Change-Id: Ifd4304314c73cdf631074ca5e717dac76a6a6964
Change-Id: Ib93ccb660a3997ee88fe45fc4f52db5f6a6a6964
This commit avoid conflicts between two ongoing works that both depends on this. Change-Id: I14e6ea73adee2772bfbf280f8f8584ab6a6a6964
Currently the used position is the rule key one. This is wrong, and cause a clash of id on the evaluation tree. The type error position is also now tied to the mecanism with conflicting units. The pos1 should be the value and not the mecanism, but this is still better than before. The whole unit check should be overhauled to solve this definitely. Change-Id: If385128110df6d1f7934f10fa08658ae6a6a6964
The previous commiet miss this apparently: ad085aa chore: resolve the ast independently Change-Id: Icec138d89b8a8d697ffcf614d5121e176a6a6964
Change-Id: Id29ef675503346f65e7504ecb4190dd36a6a6964
We now use the Resolved AST instead of the evaluation tree. Change-Id: Ia9f49fb788cc3be51f0bc7b2c7250ebb6a6a6964
Change-Id: I5a6c035625aa375e9d454af4fba58a726a6a6964
Change-Id: I9f72acf7f1ae1783786f1d13b77b2dad6a6a6964
Change-Id: Iba4e8f76256197717ac245c57356a4706a6a6964
Change-Id: I2c9debacaffefc514b6a5491e3635ecb6a6a6964
template output. Change-Id: Id64b46a512d6b2ebf34ff75c1d86f3326a6a6964
Change-Id: I6894d43bbe2cfcaf5fbf6e923bf1002a6a6a6964
It removes the unused multiple target compilation logics and use the dedicated [Compiler.t] type to factorize the compilation context. Change-Id: I0949eea9ff4bb6ad9bdfc4a4c775c3da6a6a6964
Change-Id: Ie3b38fef39ea6b5c9c3ff2c5c8feabe16a6a6964
Change-Id: Ibe2a6c699f7f3922b3667a42d6c597a06a6a6964
Change-Id: If55dadc441932e4afc37046fb88774696a6a6964
As rules can be both parameters AND outputs, we need to dedup before logging type errors. Change-Id: If803b9893b049c7e48b078cc455dc1856a6a6964
We were using the inotify lib which only works on linux. As the watch command can easily be replace by a shell command watching on file changes and running `publicodes compile`, we consider it's not needed for now. Change-Id: I6dadbfe863b49bb8296a697922a364ef6a6a6964
Change-Id: I7f85632a15b7603c7d5f22209c1f690c6a6a6964
Change-Id: I08292f88304ac76ad1bd1183f5c5f5ba6a6a6964
This version include my error log improvement, and the new trim expression marker. Change-Id: I3c5456e5d8c06da83c24e06369c9d9c66a6a6964
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Soon...
👉 Voir l'avancement : Publicodes 2