mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-01-31 19:02:59 +01:00
2ea8ea1275
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')
34 lines
787 B
Batchfile
34 lines
787 B
Batchfile
@echo off
|
|
|
|
:: Change directory to etherpad-lite root
|
|
cd /D "%~dp0\.."
|
|
|
|
:: Is node installed?
|
|
cmd /C node -e "" || ( echo "Please install node.js ( https://nodejs.org )" && exit /B 1 )
|
|
|
|
echo _
|
|
echo Ensure that all dependencies are up to date... If this is the first time you have run Etherpad please be patient.
|
|
|
|
mkdir node_modules
|
|
cd /D node_modules
|
|
mklink /D "ep_etherpad-lite" "..\src"
|
|
|
|
cd /D "ep_etherpad-lite"
|
|
cmd /C npm ci || exit /B 1
|
|
|
|
cd /D "%~dp0\.."
|
|
|
|
echo _
|
|
echo Clearing cache...
|
|
del /S var\minified*
|
|
|
|
echo _
|
|
echo Setting up settings.json...
|
|
IF NOT EXIST settings.json (
|
|
echo Can't find settings.json.
|
|
echo Copying settings.json.template...
|
|
cmd /C copy settings.json.template settings.json || exit /B 1
|
|
)
|
|
|
|
echo _
|
|
echo Installed Etherpad! To run Etherpad type start.bat
|