-
-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple commands in one file break Sketch #33
Comments
yes, I fixed that when we were using rollup but switching to webpack broke it. Can you tell me what is your use-case? I had one in mind specifically (onClick handler for react-sketchapp) but I'm curious if there is more |
I have a handful of commands that I'm placing in the Sketch menu which are contextually similar, but call different methods (ex "Clear all guides", "Clear guides in artboard", "Clear horizontal guides", etc.) They're all effectively one liners into other methods so it seems gratuitous to put them all in their own separate files. I suppose one could argue that I make the whole thing a class and export that. The last time I ran it, I was looking for a solution for syncing the current context with your sketch-web-view. I had two commands, one that launched the web view and one that was a listener for selection change events which would sync data into the html content of the webview. I ultimately opted for splitting them apart because they were different enough. |
got it. I'll try to find a fix |
No rush on my end. The hack works fine for me, but I figured I'd report it in case it's something you care about, and because it does make for some slightly unpredictable results. |
I actually don't know how to do it. Is there any webpack expert around who have an idea? |
For reference, here's the actual error in Console.app
For giggles, I tried doing this:
But that gets compiled in a way that gives I guess the only solution I can picture is something that just prepends |
thinking about this a bit more: would adding |
Hmm… interesting idea. I scrapped this project in favor of a cleaner solution, but I'll try this out once I get back to this stage. |
I manage to do it here: 804046e |
I can confirm it works 👍 |
That was quick! Thanks |
@mathieudutour could you please bump the version and push to npm? 🤗 |
Ok, I can live with the github version, thanks! |
Given a command file
test.js
containing:the output will be:
However, Sketch doesn't have an
exports
variable, so this fails. The problem doesn't happen when usingexport default
because the result compiles tovar onRun
. This means that it isn't possible to hold multiple commands in a single file without some hackery. To work around it, one can do this:which compiles to:
onRun can be ignored now that
foo
andbar
are accessible. However, it must be included to ensure something is compiled (the file will be empty otherwise) and the references tofoo
andbar
inside it trick the compiler into thinking they're needed, thus including them.The text was updated successfully, but these errors were encountered: