Skip to content

✨ 2.0#770

Open
johangirod wants to merge 150 commits into
masterfrom
2.0
Open

✨ 2.0#770
johangirod wants to merge 150 commits into
masterfrom
2.0

Conversation

@johangirod

@johangirod johangirod commented Sep 22, 2025

Copy link
Copy Markdown
Member

Soon...

👉 Voir l'avancement : Publicodes 2

@changeset-bot

changeset-bot Bot commented Sep 22, 2025

Copy link
Copy Markdown

🦋 Changeset detected

Latest 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

@netlify

netlify Bot commented Sep 22, 2025

Copy link
Copy Markdown

Deploy Preview for publicodes-website ready!

Name Link
🔨 Latest commit 48f535e
🔍 Latest deploy log https://app.netlify.com/projects/publicodes-website/deploys/6a588e62e06bde0008c9b31b
😎 Deploy Preview https://deploy-preview-770--publicodes-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@pkg-pr-new

pkg-pr-new Bot commented Sep 22, 2025

Copy link
Copy Markdown

Open in StackBlitz

@publicodes/cli

npm i https://pkg.pr.new/publicodes/publicodes/@publicodes/cli@770

@publicodes/codemod

npm i https://pkg.pr.new/publicodes/publicodes/@publicodes/codemod@770

publicodes

npm i https://pkg.pr.new/publicodes/publicodes@770

@publicodes/forms

npm i https://pkg.pr.new/publicodes/publicodes/@publicodes/forms@770

@publicodes/react-ui

npm i https://pkg.pr.new/publicodes/publicodes/@publicodes/react-ui@770

@publicodes/rest-api

npm i https://pkg.pr.new/publicodes/publicodes/@publicodes/rest-api@770

@publicodes/tools

npm i https://pkg.pr.new/publicodes/publicodes/@publicodes/tools@770

commit: 48f535e

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
stacyharper and others added 10 commits July 6, 2026 11:56
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
EmileRolley and others added 6 commits July 8, 2026 09:49
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants