-
Notifications
You must be signed in to change notification settings - Fork 5
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
Adapt theia build to automate required PhosphorJS change #29
Comments
TBF, forking this may be the easiest way forward, especially as Phosphor won't change. Managing a patch on a fork/branch without worrying about upstream changes feels more maintainable than hacking out source code at build time. |
@thegecko Thanks for the input. We initially didn't want to fork because of the overhead of needing to find a place for the fork and publishing it on npm. What do you think? |
Happy to try the forking approach (perhaps publishing on GitHub rather than npm) if time permits. |
I've had a quick look at this and got a fork building in Github Actions: https://github.com/thegecko/phosphor/actions I see you need to remove this error? Approaches I can think of...
Thoughts? |
IMHO, any fork of Phosphor with additional changes is a hard fork according to the comment on their repo since there is no way to contribute any changes back to IMHO, any fork of Pho, so we are required to change the name of the project (sidetracking: I think SulphurJS would be a good name :) ). If we really want to enable Theia developers to make changes to Phosphor I think we need to:
This all is probably quite some work and we are not yet sure if we really want to keep Phosphor on the long run. We are currently investigating what the options are with regards to Phophor ,e.g.:
Given this and that we currently only require one change to get a MVP of MDI "out of the door" I would opt for the "dirty" build-time hack :). Let me know what you think, @thegecko. |
Just to add to that to have that cleared up:
Yes, that is exactly the error we need to remove. |
Suggestion in #31 |
Fixed via #32 |
PhosphorJS does not allow attaching a widget into another window. As the project is already archived and we do not want to fork it for (because Theia might abandon PhosphorJS in the future), we need to adapt it locally. Luckily, only one specific line needs to be removed from the PhophorJS code.
This is currently done manually via the following command (on Linux):
This removes and exception being thrown when the widget is attached in another window. However,
sed
is bash tool and users should not need to execute an 'arbitrary' command line command.Ideally, the webpack config templates for Theia's browser and electron apps are adapted so that this line is automatically removed during the build. Make sure that this works on all OS.
The text was updated successfully, but these errors were encountered: