-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Live plugin viewer #5968
Live plugin viewer #5968
Conversation
file in the root directory that references ./src directory as the file source for `ep_etherpad-lite`. Remove --legacy-peer-deps and --no-save when invoking npm. There is no need for them anymore, as we are bumping npm now to v8. ./src/package.json contains all dependencies of Etherpad core (package name ep_etherpad-lite) as before. The root directory's package.json file references ep_etherpad-lite and also contains references to any installed plugins. Remove npm from package.json as we depend on a recent version now; PATH is still updated as before, so in the future we may install a custom npm version again lint package-lock: update exception for sqlite3 remove node_modules and package.json during installDeps.sh update Dockerfile adapt minify windows build Fixed installOnWindows.bat remove node_modules from git bump minimal node/npm version in src/bin/functions.sh add changelog notes update installdeps fix dockerfile docker: test npm prefix set to the etherpad directory workflow: upgrade-from-latest-release needs to be adapted until next release is out Revert "docker: test npm prefix set to the etherpad directory" This reverts commit b856a24. use npm link --bin-links=false to prevent it from copying bin files temp fix for scripts as they are not installed to bin directory anymore adjust bin paths in Dockerfile Dockerfile add hint for npm link, dockerfile update dockerfile Revert "Fixed installOnWindows.bat" This reverts commit 70d0716. try installOnWindows; still TODO: no difference between production and development; no warning like in installDeps.sh before update - it just removes package* and node_modules so admins must be aware of the plugins they want to reinstall later update installOnWindows.bat update package-lock.json Dockerfile Dockerfile add file: scheme for lint check - needed as long as we have the plugin compatibility symlinks in ./src/node_modules fix installOnWindows upgrade-from-latest-release workflow: adapt cypress installation src/package.json: test-container fix path to _mocha; maybe revert this in case we enable bin-links again src/package.json: add test-on-windows script another try with test-on-windows, without using bin-links use bin-links on windows Revert "use bin-links on windows" This reverts commit f50ec2a. invoke mocha binary on windows run npm i once on windows, to make bin files available - why? remove supertest on windows production builds add symlink for mocha debug Revert "debug" This reverts commit 8916a05. Revert "add symlink for mocha" This reverts commit 3c60bef. windows workflow: adapt cypress path frontend admin tests
See "Note for plugin authors" section in Changelog. Some packages that are in use by plugins got a symlink in ./src/node_modules so that they still work after updating Etherpad. In the future don't require('etherpad_ep-lite/node_modules/dependency') anymore, but change this to require('dependency') and add the dependency to your plugin's package.json
We use this package when testing rate limiting. We already install it in Docker, when running the Github workflow, so there is no need to install it by default. In contrast to other devDependencies this is not required in case you want to run the backend tests or check the code with eslint etc.
In some cases, when the server is restarting and the beforeEach hook tries to reload the admin/plugins page, it could fail.
I'm not really sure that I fully understood the problem. I'll try to test your branch in the next days :-) |
Thanks that is very much appreciated. I opened another branch feature/plugin-viewer that is based upon develop branch and I could progress a little bit further. |
I couldn't find your branch. Do you have a link where I can find this branch? 😅 |
Sorry my bad. I forgot to push my changes. It is up now. |
I built a working version on top of your branch: I'm not sure if this is your problem but for loading the plugins (getPackages) I loaded the list of plugins with manager.list() and merged it with the npm response. This worked for me so far. I also could open the frontend and admin plugins page with the list of plugins. What do you think? @SamTV12345 |
Thanks for the help @Gared. Looks really good. Can you transform this into a real pull request. There are some test cases failing and some debug statements in the code 😄 . But the general approach works without a problem. We could then merge this pull request and test this change intensively. If that works we could try to make Etherpad compatible with Typescript and ESM. |
I added migration for old plugins and created a pull request: #6018 |
@Gared Thanks. Looks good to me. Seems like the tests are still failing. But the general approach sounds great👍🏻. |
@Gared I tried to add the live plugin viewer. Unfortunately there is a big problem: The live plugin viewer installs by default everything without npm. That way the main ep plugin is separate from the rest of the plugins so we would need to add an exception for that name. Otherwise I could also try installing with npm.