Skip to content

Conversation

@ackzell
Copy link
Owner

@ackzell ackzell commented Sep 24, 2025

Worst case, I'll be forking and implementing the features myself.

Welp,
I started by modifying the vue-repl based on the changes from vuejs/repl#333

@ackzell ackzell added the REPL this involves modifying the @vue-repl package we forked in /packages label Sep 24, 2025
@ackzell
Copy link
Owner Author

ackzell commented Sep 24, 2025

We have a console!

Though it for some reason is printing twice on load.

image

@ackzell
Copy link
Owner Author

ackzell commented Sep 24, 2025

Different kinds of logs supported.

Dark and Light mode (reactive changes for modes are not great, gotta polish that)

image

For some reason I had to rename LunaConsole.vue to luna-console.vue or vite would lose my luna-console.css and break the built component (not the build process, but the dist files got messed up and yv would not load it).
@ackzell
Copy link
Owner Author

ackzell commented Sep 25, 2025

Included changes for #28 and modified the vue-repl package to allow for different layouts inside the preview itself.

I figured an "extended" menu for the layout was a good idea. Not sure if it will stay this way.

layout.controls.GH.mp4

@ackzell ackzell removed the REPL this involves modifying the @vue-repl package we forked in /packages label Sep 26, 2025
@ackzell ackzell self-assigned this Sep 26, 2025
@ackzell ackzell marked this pull request as ready for review September 27, 2025 13:00
Comment on lines +47 to +48
v-show="editorOptions?.showErrorText !== false || editorOptions?.autoSaveText !== false"
class="editor-floating"
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

little square would just hang in there because there wasn't any switches present, so removing if no options are provided during repl instantiation

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this rename from LunaConsole.vue into luna-console.vue was because Vite wasn't happy with using PascalCase for the dep once I built the css for it. Renaming was the easiest way to move forward.

}
// maybe make this configurable, but don't do it by default
// watch(() => store.value.activeFile.code, clearLunaConsole)
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot added this part, where the console was cleared on every file change. I added the comment because that might be something we want later on.

Comment on lines +75 to +80
/**
* Lossless deserialization:
* - Recreates primitives as-is
* - Returns enriched objects for complex types (with __type metadata)
* - Keeps outerHTML, function source, accessor info, etc.
*/
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we only needed to de-serialize the dom output. The rest of the logs were handled fine. But to keep consistency I left it like this.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Brand new component that does not care about responsiveness. This only determines whether the container is in vertical or horizontal mode and provides resize draggers for either case.

Copy link
Owner Author

@ackzell ackzell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some comments to hopefully leave more traces of what happenede here.

@ackzell ackzell merged commit 02909b6 into develop Sep 27, 2025
2 checks passed
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.

2 participants