Commit graph

20 commits

Author SHA1 Message Date
webzwo0i
2f39a7b4bb Use npm link to install ep_etherpad-lite. This places a package.json
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 b856a2488c9dbfb2acf35309cd1ee83016b631ad.

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 70d0716bbedc4c0c1043155fcc5d157f01775c61.

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 f50ec2a9fabe3098d48e8f412b73c01edbe2140e.

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 8916a0515ca2897c57ca65fef49fd0b3610d2989.

Revert "add symlink for mocha"

This reverts commit 3c60bef77d2a120d24fce14421fe638598cd849d.

windows workflow: adapt cypress path

frontend admin tests
2023-10-08 20:13:17 +02:00
SamTV12345
2f5b6b80e1
Fix/windows build (#5861)
* Use updated env var.

* Show bin and src bin.

* Use native link.

* Use link.

* Check file link.

* Use existing installation on github runner.

* Use -P.

* Use git checkout for copying the data to temp directory.

* Use rsync to copy data.

* Remove package from src.

* Use simple copy to copy the dependencies.

* Copy src folder only.
2023-08-08 16:22:25 +02:00
John McLear
04826edd3b
github action fix for windows build (#5737)
* github action fix for windows build

* cypress pathing
2023-06-22 01:45:11 +01:00
Richard Hansen
7e4931cf25 Windows build: Switch to 64-bit Node.js executable 2022-05-14 18:25:29 -04:00
Richard Hansen
2d56838792 Windows build: Upgrade bundled Node.js to v16 2022-05-14 18:25:29 -04:00
Richard Hansen
d62cc8d62c Windows build: Don't exclude var 2022-05-14 17:46:32 -04:00
Richard Hansen
e3da5b5bb3 Windows build: Delete unnecessary cd 2022-05-14 17:46:32 -04:00
Richard Hansen
752054899f Windows build: Use git archive to copy files 2022-05-14 17:46:27 -04:00
Richard Hansen
188ca8a3b1 Windows build: Remove obsolete file removals 2022-05-14 17:45:36 -04:00
Richard Hansen
1dc3c4bde9 Windows build: Clean up after abnormal exits 2022-05-14 17:45:36 -04:00
Richard Hansen
e71f69ec72 Windows build: Rename zip to etherpad-win.zip 2022-05-14 17:45:30 -04:00
Richard Hansen
77edcebc99 Windows build: Factor out output zip filename 2022-05-13 18:14:56 -04:00
Richard Hansen
5788c1958d Windows build: Use Git to get Etherpad root dir 2022-05-13 18:14:56 -04:00
Richard Hansen
54019a24c3 Windows build: Factor out command checking 2022-05-13 18:14:56 -04:00
Richard Hansen
05e54b198f Windows build: Improve error handling 2022-05-13 18:14:56 -04:00
Richard Hansen
f19f3833f3 Windows build: Exit on simple error 2022-05-13 18:14:56 -04:00
John McLear
29f2cd34f0 build: fix build path for windows 2021-02-17 20:38:10 +00:00
John McLear
655ae90464 release: Exclude var/ during Windows build 2021-02-16 10:37:07 +00:00
Richard Hansen
8b28e00784 restructure: Prefix bin/ and tests/ with src/
This is a follow-up to commit
2ea8ea1275.
2021-02-05 21:52:08 +00:00
John McLear
2ea8ea1275 restructure: move bin/ and tests/ to src/
Also add symlinks from the old `bin/` and `tests/` locations to avoid
breaking scripts and other tools.

Motivations:

  * Scripts and tests no longer have to do dubious things like:

        require('ep_etherpad-lite/node_modules/foo')

    to access packages installed as dependencies in
    `src/package.json`.

  * Plugins can access the backend test helper library in a non-hacky
    way:

        require('ep_etherpad-lite/tests/backend/common')

  * We can delete the top-level `package.json` without breaking our
    ability to lint the files in `bin/` and `tests/`.

    Deleting the top-level `package.json` has downsides: It will cause
    `npm` to print warnings whenever plugins are installed, npm will
    no longer be able to enforce a plugin's peer dependency on
    ep_etherpad-lite, and npm will keep deleting the
    `node_modules/ep_etherpad-lite` symlink that points to `../src`.

    But there are significant upsides to deleting the top-level
    `package.json`: It will drastically speed up plugin installation
    because `npm` doesn't have to recursively walk the dependencies in
    `src/package.json`. Also, deleting the top-level `package.json`
    avoids npm's horrible dependency hoisting behavior (where it moves
    stuff from `src/node_modules/` to the top-level `node_modules/`
    directory). Dependency hoisting causes numerous mysterious
    problems such as silent failures in `npm outdated` and `npm
    update`. Dependency hoisting also breaks plugins that do:

        require('ep_etherpad-lite/node_modules/foo')
2021-02-04 17:15:08 -05:00
Renamed from bin/buildForWindows.sh (Browse further)